평범해 보이는 이메일 한 통이 도착합니다. “시간을 아껴주는 AI 에이전트 템플릿”이라는 문구와 함께 링크 하나가 걸려 있습니다. 별 의심 없이 클릭하는 순간, 회사 안에는 눈에 보이지 않는 자율 에이전트 하나가 조용히 만들어집니다. 이 에이전트는 공격자의 명령을 5분마다 확인하며 조직 내부를 돌아다니기 시작합니다.

보안 리서치 기업 Zenity Labs가 OpenAI의 Workspace Agents(챗GPT의 워크스페이스 연동 에이전트 기능)에서 발견한 취약점을 두 편의 리포트로 공개했습니다. 이들은 이 취약점에 “AgentForger”라는 이름을 붙였습니다. 링크 하나로 조직의 신뢰 경계 안에 공격자가 통제하는 자율 에이전트를 심을 수 있다는 뜻입니다.
출처:
- AgentForger, Part 1: ChatGPT Cross-Site Agent Forgery – Zenity Labs
- AgentForger, Part 2: The Autonomous Insider – Zenity Labs
링크 하나로 에이전트 빌더 전체가 자동 진행된다
Workspace Agents는 아웃룩, 지메일, 슬랙, 구글드라이브, 셰어포인트, 팀즈 같은 서비스에 연결해 작업을 대신 처리하는 에이전트를 만드는 기능입니다. 원래는 사용자가 직접 대화형 빌더를 열어 템플릿을 고르고, 지시사항을 입력하고, 연결할 도구를 승인하고, 미리보기로 테스트한 뒤 게시하는 여러 단계를 거치죠. 이 과정 곳곳에 사용자가 직접 확인하고 승인하는 지점이 있다는 게 원래 설계 의도입니다.
Zenity가 발견한 문제는 이 대화형 과정 전체가 URL 하나로 미리 채워지고 자동 실행될 수 있다는 점이었습니다. 에이전트 빌더 페이지는 주소에 담긴 파라미터 값을 읽어 초기 상태로 반영하는데, 그중 하나는 단순히 입력창에 값을 채워 넣는 데서 그치지 않았습니다. 페이지가 열리자마자 그 값을 곧바로 제출하고 실행까지 해버린 겁니다. 링크 안에 심어둔 지시문이, 사용자가 아무것도 입력하지 않아도 빌더가 실행하는 첫 명령이 되는 것이죠.
왜 피해자는 눈치채지 못했나
이 공격이 성립하려면 조건이 하나 있습니다. 피해자가 챗GPT에 로그인돼 있고, Workspace Agents를 쓸 수 있으며, 아웃룩이나 지메일 같은 커넥터를 최소 하나는 이미 인증해둔 상태여야 하죠. 그런데 바로 이 조건이 공격을 눈에 띄지 않게 만드는 이유이기도 합니다. 이미 연결이 끝난 도구를 그대로 재사용하기 때문에 새로운 접근 권한을 요청하는 동의창이 뜨지 않습니다. 평소와 다른 화면이 하나도 나타나지 않으니, 뭔가 잘못됐다고 느낄 계기 자체가 없는 겁니다.
에이전트가 게시되고 나면 상황은 더 조용해집니다. Zenity의 후속 리포트에 따르면, 이 에이전트에는 5분마다 도는 예약 작업이 함께 만들어집니다. 공격자의 이메일 주소에서 제목이 “TASK”로 시작하는 메일이 오는지 확인하고, 그 지시를 연결된 앱들을 통해 실행한 뒤 결과를 다시 공격자에게 회신하는 작업이죠. 피해자는 자신의 메일함이 공격자와 에이전트 사이의 명령 채널로 쓰이고 있다는 사실을 알 방법이 없습니다. 공격자는 피해자에게 링크를 한 번 더 클릭하게 만들 필요도 없이, 그저 이메일을 보내는 것만으로 새로운 작업을 계속 내릴 수 있습니다.
요청 하나의 위조가 아니라, 에이전트 하나의 위조
이 취약점은 흔히 알려진 크로스사이트 요청 위조(CSRF)의 확장판이라 할 수 있습니다. 전형적인 CSRF는 피해자가 의도하지 않은 요청 하나를 대신 실행시키는 데서 그치죠. 하지만 AgentForger는 요청 하나가 아니라, 자율적으로 판단하고 행동하는 에이전트 하나를 통째로 위조합니다. 그렇게 만들어진 에이전트는 조직이 이미 신뢰하는 경계 안에서, 피해자가 사전에 승인해둔 커넥터들을 그대로 활용하며 계속 살아 움직입니다.
에이전트형 AI 제품이 늘어날수록 이런 구조적 위험은 특정 서비스 하나에 국한되지 않을 가능성이 큽니다. 대화형으로 초기 설정을 진행하는 빌더 방식 자체가, URL이나 외부 입력을 통해 그 과정을 대신 밟게 할 여지를 안고 있기 때문이죠. 사용자가 클릭 한 번으로 넘겨준 신뢰가, 그 이후로는 계속 자율적으로 작동하는 무언가로 바뀔 수 있다는 점을 AgentForger가 보여준 셈입니다.

답글 남기기