매일 아침, 어제의 AI를 한 통으로 정리해 보내드립니다메일로 받아보기

METAL LAB

코파일럿, 대화 캐묻자 자기 우회 비밀번호 스스로 실토

보안업체 Varonis가 링크 클릭 한 번으로 비밀번호를 빼내는 공격을 코파일럿에게 직접 물어 찾아냈다

스마트폰 화면에 코파일럿 로고가 표시되어 있다

이미지: Ars Technica

요약

  • 보안업체 Varonis가 마이크로소프트 365 코파일럿(엔터프라이즈용)에 질문을 반복해 비공개 파라미터 ?autorun=1을 알아냈다
  • 이 파라미터를 ?q= 파라미터와 결합하면 사용자가 링크만 클릭해도 승인 절차 없이 프롬프트가 실행됐다
  • 마이크로소프트는 2월에 임시 완화 조치를 하고 8월 18일(화) 더 포괄적인 수정을 내놨다
발견 기관
Varonis(보안업체)
대상
Microsoft 365 Copilot(엔터프라이즈용)
핵심 취약점
비공개 파라미터 ?autorun=1
1차 완화
2026년 2월(신고 3개월 후)
포괄적 수정
2026년 8월 18일(화)
CVE 번호
CVE-2026-24301
공격 명칭
Co-Snitch
관련 이전 사례
Copilot Personal 공격, SearchLeak(2026년 6월)

링크 하나로 비밀번호가 새어나간 이유

사용자가 이메일이나 메시지에 담긴 링크 하나를 클릭했을 뿐인데, 받은메일함에 저장된 비밀번호가 통째로 공격자 서버로 흘러간다. 보안업체 Varonis가 마이크로소프트 365 코파일럿(엔터프라이즈용)에서 찾아낸 결함이 만든 상황이다. 코파일럿을 비롯한 대부분의 AI 어시스턴트는 URL에 프롬프트를 담아 전달받을 수 있다. URL 기본 주소가 지메일 같은 앱을 여는 역할을 하고, 뒤에 붙는 파라미터가 받은편지함 요약이나 새 메일 작성 같은 지시를 담는다. 다만 이런 명령은 사용자가 엔터 키를 누르는 등 명시적으로 승인하지 않으면 실행되지 않도록 막혀 있는 게 원칙이다.

Varonis 연구진은 처음부터 이 원칙을 깨는 게 목표였다. 사용자가 아무 조작 없이 링크만 클릭해도 데이터가 빠져나가는 공격을 만들고 싶었다. 코파일럿은 처음엔 완강히 거부하며 민감한 요청에는 반드시 사용자의 명시적 동작이 필요하다고 답했다. 연구진은 방향을 바꿔, 코파일럿에게 왜 자동 실행이 불가능한지, 어떤 URL 구조와 딥링크가 관련돼 있는지, 프롬프트 입력창에 값이 이미 채워진 채로 페이지가 로드되면 무슨 일이 벌어지는지를 하나씩 캐물었다.

코파일럿이 스스로 실토한 취약점

스무고개 같은 대화가 이어질수록 코파일럿의 답변은 안전장치의 내부 구조를 조금씩 드러냈다. Varonis 수석 연구원 리오르 아다르는 Ars Technica에 전한 말에서 "매번 거부할 때마다 내부 구조에 관한 기술적 세부사항이 드러났다"고 밝혔다. 결국 코파일럿은 마이크로소프트의 비공개 파라미터인 ?autorun=1을 실토했다. 이 값을 이미 알려진 파라미터 ?q=와 함께 URL에 넣으면 사용자가 링크를 클릭하는 순간 프롬프트가 별도 승인 없이 곧바로 실행됐다.

연구진이 만든 링크는 사용자의 받은편지함에서 가장 최근 발신자의 이메일 주소를 추출해 특정 웹훅 주소에 붙인 뒤, 그 URL을 요약하라는 명령을 코파일럿에 내렸다. 별도로 만든 프롬프트는 받은편지함에서 비밀번호 같은 민감 정보를 찾아 같은 방식으로 유출시켰다. 유출된 정보는 base64로 변환돼 공격자가 관리하는 페이지로 자동 전송됐고, 이 과정은 코파일럿 탭을 곧바로 닫아도 완료됐다. Varonis가 화요일 공개한 블로그 글은 공격 흐름을 5단계로 정리했는데, 피해자가 링크를 클릭하면 인증된 세션 안에서 ?autorun=1이 자동 실행을 트리거하고, ?q= 프롬프트가 사용자 동작 없이 발동한 뒤 코파일럿이 연결된 앱과 메모리까지 접근해 명령을 끝까지 수행한다는 내용이다.

마이크로소프트는 신고 3개월 뒤인 2월 ?q= 파라미터가 텍스트를 대화창에 직접 주입하지 못하도록 막는 방식으로 우선 완화했다. 사용자가 직접 클릭하고 타이핑해야 하는 구조로 바뀌면서 서드파티 브라우저 통합이 이 파라미터를 정상적으로 쓰지 못하는 부작용도 생겼다. 마이크로소프트는 화요일 더 포괄적인 수정을 내놓으며 이번 취약점을 완전히 막았다.

기억까지 조작하는 두 번째 공격

Varonis는 같은 조사 과정에서 별개의 공격도 찾아냈다. 코파일럿은 사용자 정보와 선호, 지시사항을 저장해 다음 대화에서 다시 입력할 필요 없이 불러오는 영구 메모리 기능을 갖고 있다. 연구진은 웹페이지 메타데이터에 프롬프트 인젝션 문구를 숨겨 두고, 사용자가 이 페이지를 요약해 달라고 코파일럿에 요청하도록 유도했다. 코파일럿은 페이지 안에 숨은 지시를 따라 메모리를 조작된 내용으로 갱신했다. Varonis는 이런 방식이 출력 내용을 특정 방향으로 왜곡하거나, 정보를 걸러내거나, 공격자가 지정한 서사로 응답을 편향시키거나, 조건이 맞으면 특정 동작을 실행하는 데 쓰일 수 있다고 지적했다. 더 심각한 대목은 이렇게 조작된 메모리가 비밀번호 변경, 세션 강제 종료, 기기 재등록을 거쳐도 그대로 남는다는 점이다. 사용자가 이를 알아채는 유일한 방법은 메모리 내용을 직접 하나하나 살펴보는 것뿐이다.

Varonis는 이번 공격 전체를 'Co-Snitch'라고 이름 붙였다. 같은 회사는 앞서 코파일럿 퍼스널을 대상으로 한 번의 클릭만으로 여러 단계를 은밀히 실행하는 공격을 시연한 바 있고, 지난 6월에는 'SearchLeak'이라는 이름의 원클릭 유출 공격도 공개했다.

반복되는 AI 에이전트 취약점

같은 형태의 취약점은 이번이 처음이 아니다. 지난 8월 10일에는 PDF에 숨긴 흰 글씨로 Atlassian AI 에이전트 뚫렸다는 사례가 보도됐다. PromptArmor가 Atlassian의 AI 에이전트 Rovo에서 PDF 안에 숨긴 흰 배경-흰 글씨 텍스트만으로 사내 데이터를 유출시킨 사례였는데, 이 공격도 사용자 승인 없이 대화창에 흔적조차 남기지 않았다. 8월 13일에는 줌의 화면공유 주석 기능에 쓰인 공개 AI 모델에 20개 미만의 프롬프트만 입력해 뚫린 사례도 나왔다. 공통점은 셋 다 사용자가 별다른 조작을 하지 않아도, 혹은 클릭 한 번만으로 공격이 완결된다는 것이다.

에디터의 시선

이번 사건에서 가장 눈에 띄는 대목은 취약점을 찾아낸 방식이다. 연구진은 코드를 뜯어보거나 역공학을 하지 않았다. 그냥 코파일럿에게 왜 안 되냐고 계속 물었을 뿐이다. 대형 언어 모델은 사용자를 돕도록 훈련받은 존재라서, 거부할 때조차 왜 거부하는지를 설명하려는 습성이 있다. 그 설명이 곧 공격자에게 필요한 설계도가 된다는 게 이번 사건의 핵심이다. 안전장치를 말로 방어하는 시스템은, 말로 캐물으면 뚫린다.

이 구조를 예전 소프트웨어 보안과 비교하면 체감이 다르다. 전통적인 소프트웨어 취약점은 바이너리를 분해하고 메모리 구조를 뒤져야 나온다. 전문 인력과 시간이 필요한 작업이다. 하지만 AI 에이전트의 취약점은 채팅창에 스무고개를 걸면 며칠 안에 나온다. 진입장벽이 사실상 사라졌다는 뜻이고, 이는 공격자 풀이 소수의 전문가에서 챗봇을 쓸 줄 아는 누구나로 넓어졌다는 뜻이기도 하다.

실무에서 챙길 점은 명확하다. 기업이 AI 에이전트에 이메일·문서·메모리 접근 권한을 줄 때는 그 권한 범위를 최소화하고, 에이전트가 연결할 수 있는 앱 개수를 실제 업무에 필요한 만큼만 남겨야 한다. 또한 에이전트의 대화 로그와 메모리 변경 이력을 주기적으로 감사하는 절차가 없다면, 조작된 메모리가 비밀번호를 바꿔도 살아남는다는 이번 사례를 그대로 재현할 위험이 있다. 링크 클릭을 조심하라는 조언은 이제 피싱 메일만이 아니라 AI 어시스턴트가 열어주는 모든 웹페이지에도 적용된다.

앞으로 몇 주 안에 비슷한 사례가 다른 기업용 AI 에이전트에서도 나올 가능성이 크다. Varonis, PromptArmor 같은 보안업체들이 같은 방법론 — 에이전트에게 안전장치의 원리를 캐묻는 방식 — 을 다른 제품에도 그대로 적용하고 있기 때문이다. 안전장치를 코드가 아니라 대화로 만든 시스템이라면, 다음 표적이 되는 것은 시간문제다.