• 외부 Word 문서에 숨긴 교차 도메인 프롬프트 주입(XPIA) 이 Copilot의 작성·편집 결과를 조작하고 새 문서로 복제돼, 원본 공격 문서 없이도 일상적인 업무 흐름을 따라 전파될 수 있음
  • 흰색·소형 글꼴로 감춘 명령도 Copilot이 서식을 제거한 뒤 읽으며, 실험에서는 재무 수치를 바꾸고 전체 공격 프롬프트를 결과 문서 하단에 숨겨 새 공격 매개체로 만들었음
  • 공격자는 피해자의 Microsoft 365 테넌트에 접근할 필요가 없으며, SharePoint·Teams·Outlook으로 문서를 공유한 뒤 사용자가 첨부하거나 Work IQ가 OneDrive의 관련 자료로 선택하게 만들면 됨
  • Microsoft가 특정 페이로드 차단과 모델 업그레이드를 배포했지만, 변형된 프롬프트로 GPT-5.6에서도 전체 공격 체인이 재현됐고 144일간의 조정 후에도 취약점 유형 전체를 막지 못했음
  • 감염 문서는 정상적인 내부·협력사 자료처럼 유통돼 출처 추적과 탐지가 어려우므로, 외부 문서와 Copilot 결과를 검토하고 원본 출처와 모델 편집 내역을 메타데이터로 보존해야 함

문서 기반 AI 웜의 작동 방식

  • 한 문서의 공격자 통제 명령이 Copilot의 생성·편집 결과에 복사되면, 결과 문서가 같은 공격을 운반하는 새 매개체가 됨
  • 해당 문서를 다른 Copilot 작업의 자료로 사용하면 명령이 다시 실행돼 후속 문서로 복제됨
  • 원래 악성 문서나 공격자의 추가 개입 없이도 전파가 이어질 수 있음
  • 기존 Morris II는 생성형 AI 이메일 도우미 생태계에서 자가 복제 프롬프트를 시연했음
  • 이번 사례는 주류 상용 생산성 제품의 일반적인 문서 업무에서 문서 기반 AI 웜이 자가 전파되는 공개 시연에 해당함

정상적인 문서 작업을 이용한 공격

  • 직원이 침해된 신뢰할 만한 웹사이트에서 숨은 명령이 포함된 시장 분석 문서를 내려받아 Copilot의 재무 보고서 작성 자료로 사용함
  • Copilot은 내부 재무 수치를 바꾸고 공격 명령을 새 보고서에 복사함
  • 직원은 정상적으로 보이는 보고서를 저장해 내부에 공유함
  • 동료가 이 보고서를 다음 보고서의 자료로 사용하면 수치 조작과 명령 복사가 반복됨
  • 보고서가 재사용될수록 더 많은 문서가 공격 매개체로 바뀌며, 감염된 웹사이트와 최초 악성 문서는 더 이상 필요하지 않음

위협 모델과 신뢰 경계

  • 공격자는 피해자의 Microsoft 365 테넌트 접근 권한 없이 악성 문서만 공유하면 됨
  • 전달 경로에는 SharePoint, Teams, Outlook과 기타 문서 공유 수단이 포함됨
  • 핵심 보안 경계는 첨부 자료와 현재 작성 중인 문서 사이에 있음
  • Copilot은 사용할 정보를 고르기 위해 모든 첨부 문서를 읽어야 함
  • 첨부 문서의 정보는 활용하되, 그 안의 명령을 권위 있는 사용자 지시로 취급해서는 안 됨
  • 실제로는 문서에 삽입된 명령이 Copilot의 동작을 바꿈
  • 재무 보고서의 숫자를 사용자에게 알리지 않고 변경함
  • 전체 XPIA를 후속 문서에 붙여 넣어 이후 작업에서도 다시 실행되게 함

Word에서 신뢰 경계를 넘는 방법

  • 최초 악성 문서에는 JSON 형식 프롬프트가 들어가며, 흰 배경의 흰색 글씨와 작은 글꼴로 사용자에게 숨길 수 있음
  • Copilot for Word는 텍스트를 기반 LLM에 전달하기 전에 색상과 글꼴 크기 같은 서식을 제거하므로, 사용자에게 보이지 않는 내용도 모델에는 완전히 읽힘
  • 공격 명령을 작업과 관련 있어 보이는 정상 문서에 넣으면 한층 더 은폐할 수 있음
  • 악성 문서가 Copilot의 문맥에 포함되려면 다음 중 하나가 필요함 1. 사용자가 Copilot for Word에 직접 문서를 첨부하거나 업로드함 2. 사용자가 Edit with Copilot의 work/Work IQ 모드를 이용하고, Copilot이 OneDrive에서 해당 문서를 관련 자료로 판단해 선택함
  • 공격자는 문서가 직접 선택되거나 검색 결과에 포함될 가능성을 높이도록 내용을 구성해야 함
  • 이 취약점은 Word의 magic penEdit with Copilot 양쪽에 적용됨

1단계: 문서 조작과 최초 복제

  • 최초 개념 증명(PoC)은 흰색 글씨로 악성 프롬프트만 넣은 문서를 사용해, 자료가 작업과 무관해도 문맥에 포함되면 공격이 실행될 수 있음을 확인함
  • PoC 프롬프트는 두 부분으로 구성됨
  • 첫 부분은 요약의 의미를 미묘하게 바꾸거나 재무 문서의 숫자를 변경하는 방식으로 대상 문서를 조작함
    • Copilot이 이를 작업과 관련된 정상 요청으로 믿도록 만드는 것이 핵심이었음
    • 실험 중에는 의미 있는 변경을 눈으로 찾기 어려워 변경 부분을 강조하라는 지시까지 별도로 넣어야 했음
    • 실제 공격에서는 변경 표시를 요구하지 않으며, 공개 사례는 즉시 확인하기 쉬운 재무 수치 변경을 사용함
  • 두 번째 부분은 공격 프롬프트를 결과 문서에 복사하도록 지시함
    • 후속 문서의 출처 추적을 위한 작업처럼 꾸미고, 가독성 개선을 명분으로 자체 은폐 방법도 지시함
  • Tfosorcim Ltd.라는 가상 회사의 시장 분석 문서 끝에 공격을 흰색 글씨로 삽입하자, Copilot은 Q1 재무 보고서의 모든 수치를 절반으로 줄였음
  • 이어 전체 악성 프롬프트를 결과 문서 하단에 흰색 8포인트 글씨로 복사하면서 수치 변경과 프롬프트 삽입 사실을 사용자에게 알리지 않았음
  • 사용자가 악성 문서를 직접 첨부하지 않고 Tfosorcim Q1 보고서 작성만 요청한 경우에도, Copilot이 OneDrive를 검색해 다른 폴더의 악성 시장 분석 문서를 찾아 공격이 성공함
  • 이 PoC에는 당시 최신 모델인 GPT-5.6이 사용됨

2단계: 후속 문서로 자가 전파

  • 감염된 Q1 보고서 자체가 새로운 공격 매개체가 되므로 다음 작성 세션에는 최초 악성 문서가 없어도 됨
  • Q1 보고서를 첨부해 Q2 보고서를 만들자 Copilot은 다시 모든 재무 수치를 절반으로 줄이고 전체 프롬프트를 흰색 글씨로 복사함
  • 새 매개체는 합법적인 내부 자원으로 생성된 문서이므로 내부 문서에 따르는 신뢰를 얻게 됨
  • 피해자가 동료에게 문서를 공유하고, 본인이나 동료가 이를 Copilot의 작성·편집 자료로 사용하면 새 문서로 공격이 퍼짐
  • 보고된 모든 PoC에서 Copilot은 문서를 변경하고 숨은 명령을 복사했으며, 감염 문서를 후속 문맥에 넣으면 원본 없이도 공격이 다시 실행됨

조직과 협업 환경에 미치는 영향

  • 최초 진입점을 지난 감염 문서는 내부에서 정상적으로 생성된 자료처럼 보이고 승인된 Copilot 편집 내역도 표시되지 않아 공격 추적이 매우 어려움
  • 일반적인 문서 업무를 통해 조용히 퍼지면 조직의 의사결정에 쓰이는 정보 기반의 신뢰성이 훼손될 수 있음
  • 감염 사실을 모르는 조직은 공유 SharePoint 사이트나 Teams 협업을 통해 다른 조직에 문서를 전달할 수 있음
  • 특정 조직의 최초 공격 문서가 이미 감염된 신뢰할 만한 협력사에서 올 수도 있음
  • 협력사 문서에 대한 신뢰 때문에 사용자가 이를 Copilot 문맥에 넣을 가능성도 커짐
  • Copilot이 Microsoft Cowork나 Microsoft Scout처럼 문서·도구·협업 흐름을 자동 생성하고 조작하는 시스템에 더 깊이 통합되면, 같은 메커니즘이 기계 속도로 더 넓은 표면에 영향을 줄 수 있음

Microsoft의 완화와 남은 취약점

  • Microsoft는 최초 제출된 PoC 프롬프트를 차단하고 공개 조정 기간에 여러 수정 사항을 배포함
  • 보고된 특정 페이로드는 차단돼 이후 재현에는 기존 문구가 아닌 변형된 페이로드가 필요했음
  • 시리즈 1부와 2부에서 다룬 메모리 및 이메일 본문 공격 경로는 완화됨
  • 그러나 원본 문서의 명령이 Copilot 출력을 바꾸고 후속 문서로 자신을 복제하는 취약점 유형은 남아 있음
  • 요청 작업이나 문구를 바꿔도 기본 취약점과 전파 방식은 달라지지 않음
  • 배포된 모든 완화를 적용한 상태에서도 수정된 페이로드로 전체 공격 체인이 재현됨
  • 이 문제는 현재 LLM 기반 시스템이 공유하는 구조적 약점이며, 비교 가능한 제품에서 해당 유형을 완전히 막는 방법은 확인되지 않았음
  • 단일 패치보다 추가 연구가 필요한 문제지만, Microsoft의 수정은 노출 가능성을 실질적으로 낮췄음

공개 상태와 사용자 대응

  • MSRC 및 Microsoft 제품 팀에 재현 절차, 영상, 환경 가정, 정확한 PoC 프롬프트를 제공하며 공개를 조정함
  • 최초 90일 조정 기간을 두 차례 연장해 총 144일 동안 대응했지만 공개 시점에도 공격이 재현됨
  • 모델 업그레이드를 포함한 두 차례 완화도 취약점 유형 전체를 막지 못해, 구체적인 페이로드 대신 공격 유형과 전파 메커니즘 수준에서 공개함
  • 공개 시점에 고객 측에서 문제를 완전히 해결할 방법은 없으며 다음 조치로 노출을 줄일 수 있음 1. Copilot에서 사용하는 외부 출처 문서를 신뢰하지 않은 자료로 취급함 2. Copilot 생성·편집을 시작하기 전에 첨부 문서를 검토함 3. Copilot이 생성하거나 편집한 문서를 재사용·공유·배포하기 전에 세밀하게 확인함

공개 조정 일정

  • 2026년 3월 6일: 재현 절차, 영상, 환경 가정, PoC 프롬프트와 함께 최초 보고서를 MSRC에 제출함
  • 3월 9일: MSRC가 보고를 접수하고 사례를 개설함
  • 3월 31일: Microsoft가 동작을 확인하고 제품 팀이 완화 작업을 시작함
  • 4월 3일: 새로운 Edit with Copilot 경험을 통한 첫 완화를 배포함
  • 4월 9일: 기존 공격 프롬프트 차단을 확인했지만, 재무 수치를 조작하는 새로운 XPIA 작업으로 공격을 재현해 별도 사례로 신고함
  • 4월 10일: MSRC가 새 사례를 접수하고 제품 팀이 완화 작업을 시작함
  • 6월 8일: Microsoft 요청으로 공개일을 7월 15일로 연기함
  • 7월 14일: 기반 모델을 GPT-5.5로 업그레이드하는 두 번째 완화를 배포함
  • 7월 15일: 당시 최신 모델인 GPT-5.6에서 웜 전파를 포함한 공격 재현에 성공함
  • 새 완화 시간을 확보하기 위해 공개를 7월 28일로 다시 연기했고 Microsoft가 동의함
  • 7월 28일: 공격이 계속 재현되는 상태에서 조정된 공개를 진행함

정보 무결성과 출처 추적

  • LLM이 업무 운영에 포함되면서 정보 무결성이 주요 보안 문제로 떠오름
  • 공격자 통제 콘텐츠는 개별 출력을 조작하거나 정보 유출을 유발할 뿐 아니라, 정상적인 사용자 작업을 따라 복제·자가 전파될 수 있음
  • 생성 콘텐츠에 들어간 악성 명령은 여러 문서에 남고 합법적인 사용자가 재배포하며 새로운 문맥으로 다시 유입됨
  • 이후 공격은 최초 진입점이 아니라 시스템 내부 정보 흐름의 일부가 됨
  • 정상적인 생성·편집 절차로 만들어진 콘텐츠는 조작의 기원을 사후에 확인하기 어려워 탐지와 대응이 복잡해짐
  • 프롬프트 주입 차단과 별도로, 생성 문서는 원본 자료의 출처와 모델이 수행한 편집 내역을 메타데이터에 보존해야 함
  • 이 통제는 주입 자체를 막지는 못하지만 추적 가능성을 높일 수 있음

현재 LLM 구조의 근본 문제

  • AI 도우미가 유용하려면 이메일, 문서, 웹페이지, 메모리, 도구 출력처럼 공격자가 통제할 수 있는 정보도 처리해야 함
  • 외부 정보는 시스템 명령, 사용자 요청, 기타 신뢰 정보와 같은 문맥 창에 들어가 동일한 계산에 참여함
  • LLM은 외부 콘텐츠의 의미·관련성·공격 여부를 판단해야 하지만, 판단 시점에는 이미 공격자 토큰이 그 계산에 영향을 주고 있음
  • 검사 대상 콘텐츠가 검사 행위 자체에 참여함
  • 모델에 XPIA 탐지를 맡기는 것은 신뢰할 수 없는 프로그램을 실행해 안전성을 판단하도록 인터프리터에 요구하는 것과 유사함
  • 악성 콘텐츠가 대상 모델에 도달하기 전에 탐지·제거해도 같은 문제가 앞단으로 이동할 뿐임
  • LLM은 매우 다른 표현에서도 의미를 복원할 수 있어 탐지기에도 비슷한 의미 복원 능력이 필요함
  • 대상 LLM보다 약한 탐지기는 더 좁은 표현 공간만 다루므로, 대상은 이해하지만 탐지기는 놓치는 악성 표현이 남음
  • 비슷한 의미 처리 능력을 제공하는 일반적인 기술은 또 다른 LLM이므로, 앞단에 모델을 추가하면 개별 공격 성공률은 낮출 수 있어도 각 방어 모델을 다시 보호해야 하는 LLMs all the way down 문제가 생김
  • 장기적으로는 목표와 의도가 처리되는 정보와 독립적으로 존재하는 시스템 설계가 필요함
  • 현재 LLM 구조에는 의도와 해석을 안정적으로 분리하는 장치가 없음
  • 공격자 정보는 모델의 출력뿐 아니라 모델이 자신에게 요구됐다고 믿는 작업 자체에도 영향을 줄 수 있음
  • 신뢰할 수 있는 업무 흐름에 LLM을 통합하는 시스템은 공격자 통제 콘텐츠가 문맥에 들어오면 일정 비율로 침해가 발생한다는 전제를 두어야 함