MS 코파일럿 취약점, 민감 정보 유출시켜
- 코파일럿의 여러 가지 특성 악용한 공격 시나리오 개발
- 악성 문서 요약시켜 다이어그램 그리게 하면 정보가 외부로
- 인공지능 활용에도 기본 보안 수칙 적용시켜야
마이크로소프트의 인공지능 모델인 코파일럿(Copilot)에서 취약점이 발견됐다. 지시문이 숨겨진 문서를 코파일럿으로 요약하면 민감 정보가 탈취된다는 내용이다. 심지어 문서 요약 후 나온 결과를 코파일럿이 다이어그램으로 처리하게 하면, 공격자는 해당 다이어그램을 클릭함으로써 탈취한 정보를 자신의 서버로 전송할 수도 있게 된다고 한다.
공격, 어떻게 진행되나?
코파일럿은 MS의 대형 언어 모델이며 생성형 인공지능이다. 챗GPT와 같은 다른 모델들과 마찬가지로 문서를 프롬프트 창에 넣어 요약을 요청할 수 있다. 또한 머메이드(Mermaid)라는 도구를 통해 다이어그램을 생성할 수도 있다. 머메이드는 텍스트를 가지고 다이어그램을 만들어주는, 일종의 시각화 도구다.
이번 코파일럿의 문제를 발견한 보안 전문가 아담 로그(Adam Logue)는 자신의 블로그를 통해 코파일럿과 머메이드의 관계에 대해 다음과 같이 설명한다. “코파일럿이 머메이드 다이어그램을 생성할 때 CSS 스타일을 허용합니다. 바로 여기서 문제가 발생합니다. CSS를 통해 악성 링크를 삽입하는 등 공격을 할 수 있게 되거든요.”
실제 공격은 다음과 같은 순서대로 진행된다. 아래는 가상의 공격 시나리오다.
1) 문서 요청 : 피해자가 코파일럿에 문서 요약을 지시한다. 이 문서는 공격자가 미리 악의적으로 작성한 것이며, 피싱이나 소셜엔지니어링 공격을 통해 피해자에게 전달한 상황을 가정하고 있다. 공격자에게 속아 문서를 받은 피해자가, 인공지능을 통해 문서 요약을 요청하면서 공격이 시작된다.
2) 지시어 발동 : 문서 안에는 지시어가 숨겨져 있다. 이 지시문을 어떤 식으로 작성하는지는 로그가 밝히지 않았다. 하지만 사람은 인지하지 못하고 기계만 인지하는 형태일 가능성이 높아 보인다.
3) 지시 수행 : 코파일럿이 지시문의 내용을 수행한다. 로그는 이메일에 접근해 내용을 가져오도록 실험했다고 한다. 코파일럿이 기업의 메일과 문서 등에 접근할 수 있기 때문에 가능하다. 이 공격 시나리오에서는 피해자의 업무용 이메일 속 데이터가 도난 당한 거라고 할 수 있다.
4) 데이터 포장 : 위 절차를 통해 데이터를 훔치는 데 성공했다. 이제는 그 훔친 것을 빼돌려야 하는데, 정보를 있는 그대로 어디론가 이동시키면 발각될 확률이 높다. 그래서 이를 한 번 포장하는 과정을 거쳐야 한다. 그래서 로그는 해당 정보를 16진수 형태로 전환해 한 줄로 만들었다.
5) 다이어그램 생성 : 포장을 했다고 저절로 데이터가 빼돌려지는 건 아니다. 그래서 다이어그램이라는 것을 이용한다. 코파일럿이 만드는 다이어그램은 버튼처럼 생긴 노드를 포함하고 있다. 그 노드에는 CSS나 하이퍼링크를 삽입할 수 있다. 즉 피해자가 버튼을 누르면 또 다른 악성 행위가 시작되도록 만들 수 있다는 것이다. 이번 실험에서 로그는 버튼을 누르면 4)에서 포장된 데이터가 외부 서버로 전송되도록 했다.(실제 상황에서는 피해자가 버튼을 누르도록 공격자 편에서 유도해야 한다.)
이런 공격이 가능한 이유는 무엇인가?
이 공격이 가능한 건 코파일럿(그리고 아마도 다른 인공지능 모델들도)이 문서 전체를 읽을 때 ‘지시문’과 ‘일반 문구’를 따로 구분하지 않기 때문이다. 사람이라면 숨겨진 지시문을 인지하면서 ‘이 부분은 이상하네?’라고 의심할 만한데, 기계는 그렇지 않다. 그래서 지시를 있는 그대로 따르는 것이다. 인간이 인공지능의 허점을 찌른 공격 시나리오라 할 수 있다.
코파일럿이 이메일 등 민감할 수 있는 데이터에 접근할 수 있다는 것도 공격의 빌미를 제공한다. 접근 권한이 없었다면 이번 공격 시도는 불발됐을 가능성이 높다. 성공했더라도, 여러 다른 방법을 동원했어야 했을 것이고, 따라서 공격 비용이 높아졌을 것이다. 공격 비용이 높아진 것만으로도 공격자의 기세가 꺾일 수 있다.
코파일럿이 다이어그램을 생성할 때 머메이드라는 도구를 활용한다는 것도 공격 성립의 이유다. 위에서 로그가 언급한 “머메이드 다이어그램이 CSS 스타일을 지원한다”는 사실이 좀 더 구체적인 공격 통로라고 할 수 있다. 그래서 MS는 머메이드 내에서 하이퍼링크나 CSS 등 인터랙티브 요소들을 비활성화 했으며, 인공지능이 생성한 다이어그램에 클릭 가능한 외부 링크를 삽입하지 못하도록 조치를 취했다.
간접 프롬프트 주입 공격
인공지능의 프롬프트를 교묘하게 작성함으로써 인공지능을 속이는 기법이 자꾸만 개발되고 있다. 프롬프트 창에 악성 명령을 우회적으로 입력하는 것을 프롬프트 주입 공격이라고 하는데, 이번 연구에서처럼 외부 문서나 링크, 이미지 등을 통해 악성 명령을 노출시키는 것을 ‘간접 프롬프트 주입 공격’이라고 한다. 그런 외부 자료 없이 직접 프롬프트 창에 지시를 입력함으로써 악성 행위를 유발하는 건 ‘직접 프롬프트 주입 공격’이다.
직접 프롬프트 주입 공격은 공격자가 모델과 1:1로 직접 상호작용을 한다. 간접 프롬프트 주입은 인공지능이 신뢰하는 데이터 자체에 악성 요소를 숨기는 식으로 실행한다. ‘프롬프트 주입 공격이 진화하고 있다’는 건, 이 두 가지 모두가 발전하고 있다는 의미다. 어느 쪽이든 인공지능 모델 개발사들의 ‘안전장치’ 도입만으로 완전히 막을 수 없다. 사용자들의 주의도 요구된다.
사용자가 할 수 있는 일
이번에 문제가 된 건 MS 365에 통합되어 있는 코파일럿 기능이었다. MS가 취한 조치는 MS 365 업데이트를 통해 적용된다. 즉, 사용자는 최신 패치를 통해 로그가 공개한 공격을 무력화시킬 수 있는 것이다. 최신화는 여느 다른 앱이나 OS를 사용할 때도 권장되는 기본 보안 수칙 중 하나다.
MS는 이번 공격 시나리오를 제보 받아 조치를 취하면서 “출처가 불분명한 문서를 프롬프트 창에 업로드 하는 것은 위험한 일”이라며 “그런 처리를 하기 전에 미리 검사부터 실시하는 게 좋다”고 권했다. 이는 피싱 공격을 방어하는 것과 비슷하다. 메일이나 문자로 들어오는 수상한 파일을 함부로 다운로드 받아 실행시키면 안 된다는 것 역시 기본 보안 수칙 중 하나다.
인공지능 활용과 관련해서 기업의 보안 정책 수립과 관리도 꼭 필요한 일이다. 출처가 불분명한 문서를 확인 없이 인공지능으로 요약하지 말라고 MS가 권장한다 한들, 누군가는 그런 실수를 저지른다. 그러므로 회사 차원에서 누가 어떤 문서를 인공지능으로 처리(요약)할 수 있는지’에 관한 가이드라인을 정해놓는 것이 안전하다. 소프트웨어 사용에 관해 업무나 직위에 따라 권한을 세분화시키는 것 역시 기본 보안 수칙이다.
Related Materials
- Microsoft 365 Copilot Vulnerability Exposes User Data Risks, Infosecurity Magazine, 2024년
- Inside CVE-2025-32711 (EchoLeak): Prompt Injection Attack Targets Microsoft Copilot, Hack The Box, 2024년
- CVE-2025-32711 “EchoLeak” Zero-Click AI Vulnerability in Microsoft Copilot, SOC Prime, 2024년
- Novel Cyber Attack Exposes Microsoft 365 Copilot, Truesec, 2024년

