잘못된 링크를 한 번 클릭하는 것만으로 더 이상 비밀번호를 훔치거나 악성코드를 설치하는 데 그치지 않습니다. 조직 내부에 지속적으로 상주하며 이메일을 읽고, 파일을 뒤지고, 당신의 이름으로 동료들과 채팅하는 AI 에이전트를 생성할 수 있습니다. Zenity Labs의 보안 연구원들은 AgentForger라고 불리는 기술을 통해 바로 이러한 시나리오를 입증했으며, 그 작동 방식은 자율형 AI 도구를 보호하는 방식에 심각한 허점이 있음을 보여줍니다.
CSRF에서 AgentForger까지: 새로운 유형의 공격
대부분의 보안 전문가들은 CSRF(Cross-Site Request Forgery)를 고전적인 웹 취약점으로 알고 있습니다. 전통적인 방식에서 공격자는 인증된 사용자의 브라우저를 속여 단 한 번의 승인되지 않은 요청을 보내게 만듭니다. 계정 이메일 주소를 변경하거나 2단계 인증을 비활성화하는 식입니다. 피해는 보통 단일 작업에 국한됩니다.
AgentForger는 이러한 모델을 완전히 무너뜨립니다. 단 하나의 요청을 위조하는 대신, OpenAI의 ChatGPT Workspace Agents 내부에 전체 자율 에이전트를 생성합니다. 공격은 chatgpt.com/agents/studio/new에 위치한 ChatGPT Agent Builder에서 시작됩니다. 정상적인 상황에서 에이전트를 구축하는 것은 사용자가 직접 개입하는 과정입니다. 템플릿을 선택하고, 에이전트가 접근할 수 있는 도구를 검토하며, 기기가 받은 편지함을 읽거나 드라이브에 쓰기 전에 사용자에게 물어보도록 가드레일을 설정합니다. 이 워크플로우는 각 단계에서 사람이 주의를 기울이고 있다고 가정합니다.
Zenity Labs는 공격자가 URL을 제어할 때 이러한 보호 조치가 사라진다는 사실을 발견했습니다. 특정 쿼리 매개변수인 template_name과 initial_assistant_prompt를 삽입함으로써, 악성 링크는 생성 양식 전체를 미리 채울 수 있습니다. 피해자가 클릭하면 initial_assistant_prompt가 자동으로 제출 및 실행됩니다. 템플릿 선택, 도구 검토, 권한 대화 상자는 전혀 나타나지 않습니다. 피해자는 그저 평범해 보이는 ChatGPT 페이지가 로드된 후 탭이 닫히는 것만 볼 뿐이지만, 그 사이 에이전트는 공격자가 원하는 방식 그대로 백그라운드에서 생성됩니다.
이것은 전통적인 악성코드 감염이 아닙니다. 노트북에 아무것도 다운로드되지 않습니다. 위협은 전적으로 피해자의 SaaS 세션 내에 존재하며, 해당 플랫폼의 완전한 정당성을 바탕으로 작동합니다.
자격 증명이 아닌 신뢰를 하이재킹하다
AgentForger의 진정한 잔혹함은 권한을 처리하는 방식에 있습니다. ChatGPT Workspace의 기업 사용자는 OAuth를 통해 AI 에이전트를 비즈니스 애플리케이션에 정기적으로 연결합니다. Gmail, Outlook, Slack, Google Drive 또는 Microsoft Teams를 연결하기 위해 한 번 인증하면, 그 이후부터 에이전트는 사용자를 대신하여 해당 서비스에 쿼리를 보낼 수 있습니다.
AgentForger는 이러한 모든 액세스 권한을 자동으로 상속받습니다. 피해자가 이미 ChatGPT에 로그인되어 있고 해당 OAuth 연결을 설정해 두었기 때문에, 위조된 에이전트는 이를 재사용합니다. 피해자는 이 새로운 에이전트에게 이메일 접근을 허용할지 묻는 새로운 동의 화면을 보지 못합니다. 시스템은 에이전트를 사용자의 확장 기능으로 취급합니다.
Zenity의 시연에서 공격자는 훨씬 더 공격적인 동작을 수행하도록 악성 URL을 제작했습니다. Agent Builder에 읽기, 쓰기, 삭제에 대한 모든 권한 토글을 "Never ask(절대 묻지 않음)"로 전환하도록 지시했습니다. 정상적인 경우라면 플랫폼은 스프레드시트를 열거나, 메시지를 보내거나, 캘린더 이벤트를 삭제하는 것과 같은 민감한 작업을 실행하기 전에 사용자에게 확인을 요청합니다. 이러한 제어 기능을 강제로 무음 모드로 전환함으로써, 공격자는 인간 개입(human-in-the-loop) 과정을 완전히 제거합니다. 에이전트는 계정 내의 유령이 되어, 단 하나의 경고나 확인 대화 상자도 생성하지 않고 연결된 앱 사이를 자유롭게 이동합니다.
눈앞에 숨어 있는 명령 채널
지속성(Persistence)은 고약한 취약점 공격을 운영상의 악몽으로 바꾸며, AgentForger는 ChatGPT의 내장된 스케줄링 기능을 통해 지속성을 확보합니다. 공격자는 생성 과정에서 여러 개의 시차를 둔 스케줄을 설정하여, 5분마다 깨어나 실행되는 에이전트를 만들어냅니다.
명령 및 제어(C2) 루프의 작동 방식은 다음과 같습니다. 공격자가 피해자의 Outlook 받은 편지함으로 이메일을 보냅니다. 제목에는 "TASK"와 같은 트리거 단어가 포함되어 있습니다. 5분마다 악성 에이전트가 해당 트리거를 찾기 위해 받은 편지함을 스캔합니다. 일치하는 항목을 찾으면 이메일을 열고 지침을 읽은 뒤, 피해자의 인증된 애플리케이션을 사용하여 이를 실행하고 그 결과를 공격자에게 다시 보냅니다.
피해자의 기업 이메일 자체가 명령 및 제어(C2) 인프라가 됩니다. 의심스러운 DNS 비콘도, 동유럽의 알 수 없는 IP 주소로의 연결도, 엔드포인트 탐지 도구가 식별할 수 있는 악성코드 바이너리도 없습니다. 트래픽은 완전히 정당한 자격 증명을 사용하여 Microsoft 또는 Google API를 통해 흐릅니다. 네트워크 로그를 모니터링하는 보안 운영 팀에게 이는 승인된 SaaS 도구를 사용하는 바쁜 직원의 활동처럼 보입니다.
실질적인 영향: 조직 매핑 및 신뢰의 무기화
Zenity Labs는 통제된 환경에서 이 공격의 실질적인 한계를 테스트했으며, 그 결과는 모든 CISO를 불안하게 만들기에 충분합니다.
이메일 트리거를 통해 전달된 단 하나의 명령만으로, 연구원들은 에이전트에게 조직을 매핑하도록 지시했습니다. 에이전트는 Slack, Microsoft Teams, SharePoint를 쿼리했습니다. 그리고 채널 이름, 팀 구조, 파일 저장소를 반환했습니다. 에이전트는 M&A 조건표(term sheets)와 직원 급여 데이터를 포함한 민감한 문서를 찾아냈습니다. 모든 액세스는 피해자의 정당한 신원 아래 기록되므로, 포렌식 탐지는 정상적인 사용자 노이즈와 악의적인 사용자 노이즈를 구분해내는 문제가 됩니다.
다음은 사회 공학적(social engineering) 잠재력입니다. 에이전트는 피해자의 공식 Slack 또는 Teams 계정을 통해 메시지를 보낼 수 있기 때문에, 외부 이메일 게이트웨이와 DMARC 검사를 완전히 우회하는 내부 피싱 캠페인을 수행할 수 있습니다. 신뢰할 수 있는 동료로부터 곧 진행될 SSO 배포를 확인하거나, 링크를 클릭하여 새로운 복지 포털을 테스트해 달라는 다이렉트 메시지(DM)를 받는 상황을 상상해 보십시오. 메시지에는 동료의 이름, 프로필 사진, 그리고 채팅 기록의 맥락이 포함되어 있습니다. 어제 점심 메뉴를 논의했던 바로 그 대화 스레드에 메시지가 도착합니다. 이러한 수준의 신뢰는 스푸핑된 도메인이나 오타가 있는 발신자 주소와는 근본적으로 다르며, AgentForger는 이를 무자비하게 악용합니다.
핵심 시사점
AgentForger는 기업용 AI 플랫폼이 신뢰를 상속받는 방식에 있는 구조적인 문제를 드러냅니다. 우리는 스스로 일정을 잡고, 코드를 작성하며, 민감한 데이터를 쿼리할 수 있는 자율 에이전트를 구축하고 있지만, 여전히 사람이 모든 버튼을 클릭하는 정적 웹 애플리케이션을 위해 설계된 권한 모델을 사용하고 있습니다. "사용자가 하는 일"과 "사용자의 에이전트가 하는 일" 사이의 경계가 무너졌으며, 공격자들은 이제 이러한 붕괴를 대규모로 악용할 수 있는 위치에 서 있습니다.
ChatGPT Workspace를 사용하는 조직은 에이전트 생성을 일상적인 워크플로우가 아닌 권한이 부여된 작업(privileged operation)으로 취급해야 합니다. 이는 에이전트가 전체 편지함이나 파일 저장소에 몰래 접근할 수 없도록 OAuth 범위를 감사해야 함을 의미합니다. 또한 인간의 작업 속도가 아닌, 예약된 루프처럼 보이는 급격한 활동 급증을 모니터링해야 함을 의미합니다. 그리고 다음 대규모 보안 침해 사고는 유출된 비밀번호나 피싱 이메일로 시작되지 않을 수도 있다는 점을 인식해야 합니다. 그것은 잠시 한눈을 판 사이 클릭한 한 번의 동작으로, 결코 잠들지 않는 기계에 당신의 신원을 조용히 위임하는 것으로부터 시작될 수 있습니다.
