
밥은 웹사이트의 인공지능 에이전트에게 자격 증명을 제공하는 주소의 내용을 보여 달라고 요청했다. 에이전트가 돌려준 정보에는 임시 인증 정보가 들어 있었다.
Zenity Labs는 아마존의 인공지능 에이전트 실행 서비스인 Bedrock AgentCore에서 이 방식으로 다른 에이전트와 사용자 세션까지 접근할 수 있었다고 보고했다. 아마존은 연구가 문서화된 동작을 취약점으로 잘못 묘사했으며, 공격에는 개발자의 설정 오류가 필요하다고 반박했다. AgentCore를 이용하는 팀이라면 현재 인증 방식과 권한 범위를 확인할 필요가 있다.
AgentCore는 무엇인가
AgentCore는 클라우드에서 인공지능 에이전트를 실행하는 서비스다. 공동 건물의 열쇠를 떠올리면 쉽다. 에이전트가 접근할 수 있는 인증 정보와 권한이 지나치게 넓으면, 한 에이전트의 열쇠가 같은 계정과 지역에 있는 다른 에이전트의 문까지 열 수 있다.
Zenity Labs의 타미르 이샤이 샤르밧(Tamir Ishay Sharbat)과 라나 살라메(Rana Salameh)는 블로그 글에서 공격 과정을 설명했다. 사용자가 에이전트에 URL의 내용을 요청하면, 에이전트가 클라우드 인스턴스 메타데이터 서비스(IMDS)에 접근할 수 있었다. 이 서비스는 클라우드 가상 머신의 지역·가용 영역·네트워크 정보 등을 제공하며, 사용자 데이터나 보안 토큰 같은 민감한 정보도 포함할 수 있다.
Zenity에 따르면 당시 AgentCore는 일부 위험을 줄이는 IMDSv2 대신 IMDSv1을 사용했다. 에이전트가 실행되는 Firecracker 마이크로 가상 머신(MicroVM)의 네트워크 격리도 충분하지 않았다. 공격자는 서버 측 요청 위조(SSRF)를 유도해 작업에 할당된 임시 인증 정보를 가져올 수 있었다.
밥은 인증 정보를 자신의 컴퓨터에 옮긴 뒤 같은 클라우드 계정과 지역에서 다른 에이전트를 열거했다. 아마존의 컨테이너 이미지 저장소(ECR)에 로그인해 에이전트 컨테이너 이미지를 내려받고, 각 이미지를 관리자 권한으로 실행해 소스 코드를 살펴봤다. 훔친 인증 정보로 에이전트의 메모리 자원도 찾아 사용자와 에이전트 간 대화 내용을 추출할 수 있었다고 Zenity는 밝혔다.
문제는 기본 역할에 부여된 권한 범위에도 있었다. 특정 에이전트가 아니라 해당 지역의 모든 AgentCore 자원에 권한이 적용됐다. 따라서 임시 인증 정보를 가진 사람은 다른 에이전트를 만들고, 세션을 읽고, 에이전트 메모리를 쓰고, AWS Secrets Manager에서 비밀 정보를 가져올 수 있었다.
샤르밧과 살라메는 메모리에 접근해 다른 에이전트와 사용자의 메모리를 새로 만들 수 있었다고 설명했다. 이 메모리는 이후 세션에서도 에이전트의 행동과 목표를 바꿀 수 있었다.
무엇이 바뀌었고 무엇이 남았나
Zenity 연구진은 2025년 12월 아마존에 조사 결과를 알렸다. 2026년 1월에는 AgentCore의 과도한 권한에 관한 세부 내용도 전달했다. 아마존은 2026년 4월 12일 보고가 “유익하다”고 답한 뒤 이를 종료했고, 2026년 2월 14일부터 AgentCore가 IMDSv2만 사용하도록 바뀌었다고 밝혔다.
그러나 Zenity가 2026년 6월 22일 확인했을 때 과도한 권한 문제는 해결되지 않은 상태였다. Zenity는 2026년 9월 29일 최종 점검에서 남아 있던 문제도 아마존이 해결한 것을 확인했다고 전했다.
기사 게재 뒤 아마존은 Zenity의 연구가 문서화된 동작을 취약점으로 잘못 나타냈으며, 공격이 성립하려면 개발자의 오류가 필요하다고 주장했다. 매체는 Zenity가 설명한 공격 시나리오와 맞지 않는다며 아마존에 추가 설명을 요청했다.
AgentCore를 쓰는 팀은 IMDSv2 사용 여부와 에이전트 역할의 권한 범위를 점검해야 한다. 특히 권한이 단일 에이전트가 아니라 같은 지역의 모든 자원에 열려 있는지 확인할 만하다. 아마존의 추가 설명이나 권한 문제가 해결된 구체적인 방식은 원문에 나오지 않는다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요