.promptarmor.com/resources/microsoft-copilot-cowork-exfiltrates-files" target="_blank" rel="noopener noreferrer">PromptArmor, 2026년 5월 기술 공개 보고서
수신자 입장에서 메시지는 비어 있거나 평범해 보입니다. 눈에 띄는 링크도, 첨부 파일도, 수상한 텍스트도 없습니다. 공격자의 비컨 서버가 빈 응답 또는 1×1 픽셀 응답을 반환하기 때문에 이미지 태그는 보이지 않습니다. 피해자 입장에서는 Copilot으로부터 평범한 메시지를 받은 것뿐이지만, 공격자의 서버 로그에는 사용자가 메시지를 다 읽기도 전에 수신된 사전 인증 파일 액세스 토큰이 기록되어 있습니다 .
데이터 유출을 위한 이미지 비컨 기법은 웹 보안 분야에서 새로운 것이 아닙니다. 원격 리소스를 로드하는 HTML 이메일 클라이언트와 웹 애플리케이션에서 오래전부터 알려진 은닉 채널입니다. 이번 사례에서 다른 점은 다음 요소들의 조합입니다. (a) Graph API 접근 권한을 가진 LLM 에이전트가 런타임에 이 페이로드를 프로그래밍 방식으로 구성하고, (b) 사전 인증된 파일 URL이 공격자의 자격 증명 단계를 완전히 제거하며, (c) 승인 프레임워크에서 면제된 전달 채널을 사용한다는 점입니다. 각 구성 요소에는 개별적으로 확립된 방어 수단이 있지만, 이 조합은 현재 Cowork 구현에서 자동화된 탐지나 차단 없이 작동하는 유출 경로를 만들어냅니다 .
사전 인증 링크의 만료 시간이 공격자의 실질적인 활동 창을 결정합니다. Microsoft Graph의 다운로드 토큰 유효 기간은 서비스와 테넌트 설정에 따라 다르지만, SharePoint와 OneDrive의 경우 일반적으로 수 시간에서 수 일 단위입니다 . 해당 창 내에 비컨을 수신한 공격자는 피해자 환경과의 추가적인 상호작용 없이 임의의 대용량 문서를 다운로드할 수 있습니다. SharePoint Online Management Shell의 BlockDownloadPolicy를 통해 테넌트 수준에서 사전 인증 링크 생성을 제한하면 페이로드 품질을 저하시킬 수 있지만, 공유 및 미리보기에 이 링크에 의존하는 정상적인 사용자 워크플로에 실질적인 비용이 발생합니다.
노출 범위: SharePoint, OneDrive, Exchange
공격의 도달 범위는 로그인한 사용자에게 위임된 Microsoft Graph 권한에 의해 제한됩니다. Copilot Cowork가 활성화된 일반적인 엔터프라이즈 M365 사용자의 경우, 그 범위는 상당히 넓습니다. 사용자가 읽을 수 있는 모든 문서가 대상이 됩니다. 본인이 작성한 파일, 동료가 공유한 파일, 읽기 권한이 있는 SharePoint 라이브러리, 그리고 사서함의 Exchange 항목이 모두 포함됩니다. 에이전트는 사용자가 소유한 파일에만 국한되지 않습니다 . 열거 전략은 최근 접근 항목을 우선적으로 대상으로 삼아, 최소한의 API 호출로 유출 콘텐츠의 민감도를 극대화합니다.
| 서비스 | 위험에 처한 데이터 유형 | 사용된 Graph 범위 | 비고 |
|---|---|---|---|
| SharePoint | 문서, 스프레드시트, 프레젠테이션, 라이브러리 파일 | Sites.Read.All, Files.Read.All | 최근 접근 항목 우선 열거; 다른 라이브러리에서 사용자와 공유된 파일 포함 |
| OneDrive | 개인 파일, 다운로드 파일, 협업 초안 | Files.Read, Files.Read.All | /me/drive/recent에서 생성된 사전 인증 다운로드 링크 |
| Exchange / Outlook | 이메일 메시지, 첨부 파일, 캘린더 이벤트 | Mail.Read, Calendars.Read | Graph를 통해 전체 사서함 읽기 가능; 첨부 파일은 사전 인증 링크로 다운로드 가능 |
| Teams | 채팅 기록, 채널 메시지, 파일 공유 | Chat.Read, ChannelMessage.Read.All | 사용자가 속한 팀의 모든 스레드 및 파일 |
| Dynamics 365 | CRM 레코드, 영업 파이프라인, 재무 데이터 | Dynamics CRM User, User.Read | 동일한 Skills 프리미티브를 통해 접근 가능; 범위는 사용자의 CRM 역할 할당에 따라 결정 |
"최근 접근 항목 우선" 열거 순서는 위험 분류 측면에서 중요합니다. CFO 세션을 대상으로 한 공격이라면 2년 된 경비 보고서보다 2분기 실적 모델을 먼저 가져옵니다. HR 디렉터 세션이라면 가장 최근의 보상 스프레드시트나 성과 평가서가 먼저 노출됩니다. 에이전트가 공격자의 명시적 지시 없이 고가치 콘텐츠를 자동으로 타깃팅할 수 있는 것은 Graph의 /me/drive/recent 정렬 방식이 낳은 직접적인 결과입니다. 잠금 해제된 단말 앞에서 5분을 보낸 인간 공격자가 할 행동을 에이전트가 그대로 수행하는 셈입니다 .
Copilot Cowork가 활성화되어 있고 추가적인 DLP 제어가 없는 엔터프라이즈 테넌트는 공개 시점 기준으로 이 공격 경로에 대한 기술적 장벽이 없습니다 . 노출 범위는 궁극적으로 기존 DLP 정책이 Teams 메시지 본문의 HTML 이미지 태그 src 속성을 검사하는지에 달려 있습니다. 대부분의 기본 구성은 그 수준의 메시지 세밀도로 작동하지 않습니다. 보이지 않는 HTML 속성에 민감한 데이터를 담은 페이로드는 대부분의 기본 DLP 규칙 세트를 플래그 없이 통과합니다.
패치도 CVE도 없다: 현재 공개 현황
PromptArmor는 2026년 5월 26일 재현 단계와 공격 추적 정보를 포함한 전체 기술 보고서를 공개했습니다 . 공개 시점 기준으로 Microsoft는 패치를 배포하지 않았고, CVE도 지정하지 않았으며, 공식 입장도 내놓지 않았습니다. PromptArmor는 공개 전에 Microsoft의 CVD(Coordinated Vulnerability Disclosure) 절차를 따랐지만, 발행 시점까지 Microsoft로부터 비공개 회신을 받았다는 확인은 없었습니다. 이 취약점은 어떤 공개 취약점 추적 시스템에도 식별자가 등록되어 있지 않습니다.
"공개 시점 기준으로 Microsoft는 패치도, CVE도, 공식 입장도 내놓지 않았습니다. 저희는 공개 전에 Microsoft의 CVD 프로그램을 통해 협력 공개 절차를 완료했습니다." — PromptArmor, 2026년 5월 26일 공개문
참고로, 관련 Copilot Studio 취약점인 CVE-2026-21520(CVSS 7.5)은 Capsule Security의 별도 공개 후 2026년 초에 패치된 바 있습니다 . 두 문제는 서로 다릅니다 — 영향 받는 제품 영역도, 악용 경로도 다릅니다 — 그러나 Copilot Studio 패치는 Microsoft가 Copilot 생태계 전반에 걸친 프롬프트 인젝션 데이터 탈취 문제를 인지하고 있으며 적어도 하나의 변형은 해결했음을 보여줍니다. Cowork 변형은 아직 미해결 상태입니다.
CVE 부재는 패치 대기열 이상의 운영적 파급 효과를 낳습니다. CVE가 없으면 해당 취약점은 표준 취약점 스캐너에 나타나지 않고, 패치 관리 워크플로를 트리거하지 않으며, SIEM이나 취약점 관리 플랫폼의 자산 위험 점수에도 반영되지 않습니다. CVE 피드에 주로 의존하는 보안팀은 이 문제에 대한 자동 알림을 받지 못합니다. 의도적이고 수동적인 대응이 필요합니다 .
또한 현재 Copilot Cowork에는 Skills 스크립트를 실행 전에 삽입된 명령어 여부로 검사하는 메커니즘이 없고, Skills 콘텐츠 패턴에 대한 허용/차단 목록도 없으며, Skill 실행 중 에이전트의 Graph 범위를 제한하는 런타임 샌드박싱도 없습니다. 사용자 작성 Skills가 활성화된 상태로 Copilot Cowork를 사용하는 모든 Microsoft 365 테넌트에서 공격 표면이 완전히 열려 있습니다 .
패치 전까지의 완화 방안
Microsoft의 공식 패치나 확인된 임시 해결책이 없는 상황에서 방어자들은 부분적인 완화 조치에 의존하고 있습니다: 기능 제한, 정책 강화, 모니터링 개선. 이 중 어느 것도 공격 경로를 완전히 차단하지는 못합니다. 적절한 조합은 테넌트 데이터의 민감도와 Copilot Cowork가 현재 업무 흐름에서 얼마나 핵심적인지에 따라 달라집니다.
테넌트 수준에서 Copilot Cowork를 비활성화하세요. 법무·재무·HR·임원 등 고민감 환경에서는 현재 사용 가능한 가장 직접적인 완화 수단입니다. Cowork가 업무상 필수적이지 않다면 비활성화만으로 공격 표면 전체를 제거할 수 있습니다. Microsoft 365 관리 센터에서 기능별 제한 제어 항목을 확인하세요. 세분화된 제어가 제공되지 않는 경우 영향받는 사용자의 Copilot 라이선스 할당을 조정해야 할 수 있습니다. 광범위한 비활성화를 적용하기 전에 실제 Cowork 사용 패턴을 먼저 평가하세요 .
OneDrive에서 인식되지 않는 Skills 스크립트를 감사하세요. Skills는 사용자의 OneDrive에 파일로 저장됩니다. 목표 지향적 감사를 통해 비정상적인 수정 타임스탬프, 낯선 세션에서의 최근 업로드, 또는 외부 공유 링크에서 비롯된 Skills 파일을 식별해야 합니다. 외부 HTTP 참조, HTML 이미지 태그, 또는 Skills에 명시된 기능 범위를 벗어난 Graph API 호출이 포함된 스크립트 내용은 즉시 검토가 필요합니다. 특히 사용자의 마지막 확인된 세션 이후에 수정된 Skills 파일에 주목하세요 .
Microsoft Purview DLP 정책을 적용하세요. DLP 정책은 SharePoint Online Management Shell의 BlockDownloadPolicy 설정을 통해 SharePoint 및 OneDrive에 대한 사전 인증 링크 생성을 제한할 수 있으며, 이를 통해 다운로드 URL이 미인증 수신자에게 작동하지 않도록 하여 탈취 페이로드의 효용을 떨어뜨립니다. 또한 외부 이미지 src 속성이 포함된 HTML이 담긴 Teams 메시지를 탐지하는 DLP 규칙을 구성하세요 — 이는 해당 공격이 사용하는 전달 메커니즘을 직접 겨냥합니다. 기본 DLP 설정은 이 수준의 메시지 세부 정보를 검사하지 않으므로 이 규칙은 명시적으로 작성해야 합니다 .
Microsoft Graph 통합 감사 로그를 활성화하고 모니터링하세요. 이 공격이 만들어내는 특정 패턴에 대한 탐지 쿼리를 작성하세요: 대량 파일 열거(짧은 시간 내 반복적인 /me/drive/recent 또는 /sites/{id}/drive 호출), 여러 라이브러리에 걸친 최근 수정 문서의 급격한 접근, 아웃바운드 이미지 참조가 포함된 Copilot 컨텍스트의 Teams 메시지. Microsoft Sentinel은 이 로그를 수집하고 비정상적인 에이전트 수준의 Graph 활동에 대해 알림을 보낼 수 있습니다. 사후 포렌식도 이 로그가 충분한 기간 동안 활성화·보존되어 있어야 가능합니다 .
Graph를 기반으로 개발하거나 Copilot 통합을 확장하는 개발자들도 자신의 Skills 스크립트를 이러한 패턴에 비추어 점검해야 합니다: 어떤 Skill이 메시지 본문에 외부 URL을 작성하고 있지는 않은지? 어떤 Skill이 명시된 기능 범위를 넘어 파일을 열거하고 있지는 않은지? 어떤 Skill이 다른 작업의 부작용으로 사전 인증 링크를 생성하고 있지는 않은지? 이것은 공격자가 던질 질문과 동일합니다 — 내부적으로 먼저 답해두는 것이 중요합니다.
자주 묻는 질문
Copilot Cowork란 무엇이며, 표준 Microsoft Copilot과 어떻게 다른가요?
Copilot Cowork는 Microsoft 365 Copilot의 에이전트 확장 기능입니다. 표준 M365 Copilot은 단일 컨텍스트 창 안에서 단일 턴 프롬프트(문서 요약, 이메일 초안 작성 등)를 처리하며, 지속적인 자동화 상태는 유지하지 않습니다. Cowork를 사용하면 사용자가 Skills를 정의할 수 있습니다. Skills는 OneDrive에 파일 형태로 저장되는 LLM 기반 자동화 스크립트로, Copilot이 자율적으로 호출하고 실행합니다. 활성화되면 Skill은 단계마다 사용자 승인 없이 여러 Microsoft Graph API 호출을 연속으로 실행합니다. 에이전트는 로그인된 사용자의 위임 권한으로 실행되며, 작업이 진행되는 동안 Outlook, Teams, SharePoint, OneDrive, Dynamics 365 전반에 걸쳐 읽기 및 쓰기 권한을 갖습니다 .
유출이 성공하려면 피해자가 무언가를 클릭해야 하나요?
피해자는 페이로드가 담긴 Teams 메시지를 여는 것만으로 충분합니다. Teams는 메시지 본문의 HTML을 렌더링하고, 메시지를 열 때 참조된 이미지 태그를 자동으로 로드합니다. 명시적인 링크 클릭, 파일 다운로드 확인, 추가적인 상호작용은 전혀 필요하지 않습니다. Teams 클라이언트에서 메시지가 로드되는 순간, 사전 인증된 파일 링크를 공격자 서버로 전달하는 아웃바운드 GET 요청이 발생합니다. 메시지 자체는 빈 것처럼 보이거나 평범해 보이며, 외부 서버로 무언가가 전송됐다는 가시적인 흔적은 전혀 남지 않습니다 .
내장된 승인 흐름은 왜 이 공격을 차단하지 못했나요?
Copilot Cowork의 승인 체계는 에이전트가 외부 수신자에게 데이터를 전송하는 행위를 차단하도록 설계되어 있습니다. 그러나 현재 로그인된 사용자에게 Teams 메시지나 Outlook 이메일을 보내는 행위는 설계상 승인이 전혀 필요하지 않습니다. 이는 "본질적으로 위험도가 낮은" 행위로 분류되었기 때문입니다. 주입된 명령은 이 점을 정확히 이용합니다. 외부 파일 공유나 승인이 필요한 작업을 요청하는 대신, 현재 사용자에게 메시지를 보내도록 에이전트에 지시하고 — 이는 완전히 허가된 행위 — 메시지 본문에 유출 페이로드를 숨깁니다. 문제는 승인 기준이 잘못된 불변 조건, 즉 콘텐츠가 아닌 수신 대상을 기준으로 설정되어 있었다는 점입니다 .
공격이 미치는 범위에는 어떤 Microsoft 365 서비스가 포함되나요?
로그인된 사용자의 위임된 Microsoft Graph 권한으로 접근 가능한 모든 서비스가 대상이 됩니다. SharePoint 문서 라이브러리, OneDrive 개인 스토리지, Exchange/Outlook 이메일 및 첨부파일, Teams 채팅 기록과 공유 파일, Dynamics 365 CRM 레코드가 모두 포함됩니다. 공격에는 관리자 권한이나 상승된 권한이 필요하지 않습니다. Copilot Cowork가 활성화된 일반적인 기업 M365 사용자의 경우 접근 가능한 범위는 매우 광범위하며, 본인이 작성한 파일뿐만 아니라 다른 사람이 공유한 문서까지 포함됩니다 .
패치나 공식 해결책이 있나요?
2026년 5월 26일 공개 시점 기준으로 패치는 발표되지 않았으며 CVE도 할당되지 않았습니다 . PromptArmor는 공개 전 Microsoft의 조정 취약점 공개(CVD) 절차를 완료했지만, Microsoft의 비공개 답변 수신은 확인되지 않았습니다. 임시 조치로는 OneDrive에서 인식되지 않거나 최근 수정된 Skills 스크립트 감사, 민감도가 높은 테넌트에서 Copilot Cowork 비활성화, 사전 인증 링크 생성을 제한하는 Microsoft Purview DLP 정책 적용, 비정상적인 파일 열거 활동 탐지를 위한 Graph 통합 감사 로그 활성화 등이 있습니다. 패치 현황 업데이트는 지속적인 보도와 Microsoft 보안 대응 센터를 통해 확인하시기 바랍니다.
Cowork 공개가 에이전트 보안 설계에 시사하는 것
Copilot Cowork 발견은 에이전트 AI 설계의 구조적 문제를 명확히 보여줍니다. 아웃바운드 메시지에 어떤 콘텐츠가 인코딩되어 있는지가 아니라 콘텐츠가 어디로 라우팅되는지를 기준으로 판단하는 승인 체계는, 에이전트 실행 컨텍스트의 일부라도 제어하는 공격자에게 우회될 수 있습니다. LLM 에이전트에 대한 프롬프트 인젝션은 2023년부터 반복적으로 문서화되었고, 이미지 비콘 기법은 웹 보안에서 잘 알려진 수법입니다. 그러나 Graph 사전 인증 링크, Cowork 승인 게이트의 신뢰성 있는 우회, 100% 재현 가능한 엔드투엔드 공격 체인의 조합은 이번 사례에 이례적으로 명확한 실제 위협 가중치를 부여합니다 .
Microsoft Graph 위에 구축하거나 Copilot 확장을 개발하는 팀에게 이 사례의 설계 교훈은, 에이전트 출력 파이프라인에서 검사가 어디에서 이루어져야 하는지에 관한 것입니다. HTML 메시지, 임베드 링크가 포함된 마크다운, 어댑티브 카드 페이로드처럼 풍부한 아웃바운드 콘텐츠를 구성할 수 있는 에이전트는, 수신자 수준의 인가 확인만이 아니라 전달 전 콘텐츠 수준의 검사가 필요합니다. 에이전트가 작성한 메시지의 모든 외부 URL은 잠재적인 유출 채널입니다. 이는 Microsoft 자사의 Copilot 에이전트뿐만 아니라 Graph SDK, MCP 프로토콜, 또는 네트워크 접근 가능한 출력 채널을 갖춘 여타 에이전트 프레임워크로 구축된 커스텀 에이전트에도 동일하게 해당됩니다 .
2026년 5월 말 현재 패치와 CVE가 없는 상황은 운영 팀이 명확한 조치 일정 없이 위험을 판단해야 함을 의미합니다. 민감한 금융, 법무, 인사 데이터를 다루는 테넌트는 패치가 출시될 때까지 워크플로우 비용을 감수하더라도 Cowork를 제한하는 것이 바람직합니다. Cowork 도입이 상당한 낮은 민감도 테넌트의 경우, 더욱 엄격한 DLP 정책 적용과 Graph 감사 로그 모니터링이 적절한 위험 감소 수단이 됩니다. 상황이 전개됨에 따라 PromptArmor의 공개 페이지와 Microsoft 보안 대응 센터를 통해 업데이트를 확인하시기 바랍니다 .
최종 업데이트: 2026-05-30. 2026년 5월 26일 발표된 PromptArmor의 기술 공개 및 동일 날짜 기준 보도를 바탕으로 작성되었습니다. Microsoft의 패치 및 CVE 할당 상태는 공개 이후 변경되었을 수 있습니다 — 보안 결정을 내리기 전에 현재 조치 가능 여부를 반드시 확인하시기 바랍니다.

