보안업체 제니티(Zenity)의 연구조직 제니티랩스(Zenity Labs)는 10월 8일 Amazon Bedrock AgentCore의 취약점 체인을 공개하고 이를 AgentCorruption이라고 이름 붙였다. 연구진은 외부에 공개된 AgentCore 에이전트 하나에 프롬프트를 보낸 뒤, 결국 같은 AWS 계정, 같은 리전에 있는 모든 AgentCore 에이전트를 장악했다.
AWS는 이미 이 문제를 수정했고, 에이전트의 기본 권한을 대폭 축소했다.
공격은 어떤 순서로 성립했나
첫 단계에서 연구진은 공개된 에이전트가 AWS 인스턴스 메타데이터 서비스(IMDS)에 접근하도록 만들었다. 이는 클라우드 인스턴스가 임시 자격 증명을 받아오는 내부 인터페이스로, 당시에는 에이전트가 이를 아무 제한 없이 호출할 수 있었다.
두 번째 단계에서 확보한 자격 증명은 기본 IAM 실행 역할에 속해 있었다. 제니티에 따르면 이 역할의 권한은 요청을 보낸 에이전트 하나로 한정되지 않았으며, 같은 계정, 같은 리전에 있는 모든 AgentCore 에이전트에 적용됐다.
세 번째는 수평 이동이다. 연구진은 이 자격 증명으로 내부 전용의 민감한 에이전트를 포함한 다른 에이전트를 찾아내 호출했고, 비공개 대화와 장기 기억을 읽어냈다. 또 컨테이너 이미지를 내려받아 소스코드를 확보했고, AWS Secrets Manager에서 API 키와 OAuth 토큰도 빼냈다.
마지막 단계는 지속성 확보였다. 에이전트의 기억에 악성 콘텐츠를 심어, 이후 대화 내용이 공격자가 관리하는 주소로 전달되도록 만들었다.
수정까지 9개월이 걸렸다
제니티는 2025년 12월 25일 이 문제를 AWS에 제보했다. 공개된 보도에 따르면 AWS는 2026년 2월 14일부터 새로 배포되는 에이전트에 IMDSv2만 사용하도록 했고, 9월 29일까지는 기본 실행 역할에서 다른 에이전트 호출, 비공개 대화 읽기, Secrets Manager 접근 권한을 모두 제거했다. 공개된 자료에는 CVE 번호 언급이 없고, 버그 바운티 지급 여부도 명시돼 있지 않다.
제니티의 공동창업자이자 CTO인 마이클 바거리(Michael Bargury)는 다음과 같이 말했다.
"Cloud security is all about segmentation and least-privilege access. AI agents, however, need their creative space to be useful. Mixing the two creates an inherent conflict."
(클라우드 보안의 핵심은 분리와 최소 권한인데, AI 에이전트는 쓸모가 있으려면 어느 정도 자유로운 활동 공간이 필요하다. 이 둘을 섞으면 본질적인 충돌이 생긴다.)
중국 기업이 대조해 볼 점
인스턴스 메타데이터 서비스는 클라우드 업계 전반에 공통된 설계로, 알리바바 클라우드의 인스턴스 메타데이터 주소는 100.100.100.200이고 텐센트 클라우드 등 다른 업체에도 비슷한 인터페이스가 있다. 이 주소에 접근할 수 있는 환경에서 돌아가면서 코드를 실행하거나 네트워크 요청을 보내는 도구까지 갖춘 에이전트라면, 이번 공격의 첫 단계와 같은 조건을 이미 갖춘 셈이다.
AgentCore를 쓰는 팀이라면 먼저 두 가지를 확인해야 한다. 2월 14일 이전에 배포된 기존 에이전트가 이미 IMDSv2로 전환됐는지, 그리고 직접 만든 실행 역할이 처음의 넓은 권한을 그대로 유지하고 있는지다. AWS의 권한 축소가 사용자가 직접 만든 역할에도 적용되는지는 공개된 자료만으로는 명확하지 않다.
중국 클라우드 업체의 에이전트 플랫폼에 비슷한 노출 지점이 있는지는 지금까지 공개된 연구나 업체 성명이 없다. 외부용 고객 지원 에이전트와 내부용 데이터 에이전트를 같은 계정, 같은 역할 아래 두었다는 점이 이번 취약점 체인이 끝까지 이어질 수 있었던 전제였고, 배포를 분리하는 것이 비용이 가장 적게 드는 방어선이다.
참고 출처: 제니티랩스 공개 자료(공격 단계와 수정 경과), 더 디코더(The Decoder), CocoLoop, 다크 리딩(Dark Reading); 제니티 보도자료로 공개 및 수정 경과 확인.