Microsoft Copilot Cowork 파일 유출

발행: (2026년 5월 26일 AM 06:45 GMT+9)
12 분 소요

Source: Hacker News

이 공격은 Claude Opus 4.7을 포함한 최신 모델들에 대해 높은 성공률을 달성했습니다.

Overview

Copilot Cowork은 현재 Microsoft 365에서 제공되는 Frontier 기능입니다. 사용자의 Microsoft 권한으로 작동하며 Microsoft Graph를 사용해 테넌트의 데이터를 읽고 조작할 수 있습니다.

이 문서에서는 **간접 프롬프트 인젝션**이 포함된 변조된 스킬을 통해 공격자가 M365에서 파일을 유출할 수 있음을 보여줍니다. 이 공격은 다른 민감한 작업과 달리 활성 사용자에게 이메일이나 Teams 메시지를 보내는 것이 인간의 승인을 필요로 하지 않는다는 사실을 이용합니다. Teams 또는 Outlook에서 손상된 메시지를 열면 공격자가 제어하는 네트워크 요청이 트리거될 수 있습니다.

이 위험은 에이전트가 여러 시스템에 접근하도록 허용함으로써 프롬프트 인젝션 공격 표면이 확대된다는 점을 보여줍니다. 개별적으로 에이전트의 의도된 기능은 무해하지만, 통합된 시스템 때문에 사용자는 위험에 노출됩니다. 이는 **통신 앱의 URL 미리보기가 에이전트의 데이터 유출 경로가 된 사례**와 유사합니다.

이 위험은 특정 버그라기보다 에이전트가 전체 기업 생태계 전반에 걸쳐 위임된 권한으로 작동하도록 설계된 시스템의 설계와 관련이 있으므로, 이러한 유형의 에이전트 제품을 사용할 때 사용자가 감수하는 위험을 알리기 위해 공개합니다.

이 위험과 별도로, 우리는 Microsoft에 Copilot Cowork의 샌드박스 환경에서 직접 데이터 유출을 가능하게 하는 취약점을 공개했습니다.

공격 체인

Microsoft의 documentation 에서는 행동 승인에 대해 다음과 같이 명시하고 있습니다:

Copilot Cowork는 이메일을 보내거나 Teams에 메시지를 게시하는 등 민감한 작업을 수행하기 전에 사용자에게 허가를 요청합니다.

실제로 수신자가 현재 활성 사용자일 경우, 이러한 작업은 인간의 승인을 요구하지 않고 즉시 실행됩니다(사용자는 이 동작을 변경할 설정이 없습니다). 이러한 메시지는 외부 이미지를 포함할 수 있어 네트워크 요청을 트리거하고, 사용자가 에이전트가 보낸 변조된 메시지를 열면 데이터가 유출될 수 있습니다. Copilot Cowork는 사용자가 접근 가능한 파일에 대한 사전 인증된 다운로드 링크를 가져올 수 있으며, 해당 링크를 열면 누구든 파일을 다운로드할 수 있습니다. 조작된 에이전트는 이러한 링크를 누출함으로써 파일을 유출할 수 있습니다.

아래는 단계별 공격 흐름입니다.

  1. 피해자는 SharePoint 또는 OneDrive에 저장된 개인 식별 정보(PII) 및 재무 데이터가 포함된 파일에 접근 권한이 있습니다

  2. 피해자는 프롬프트 인젝션이 포함된 스킬 파일을 Copilot Cowork에 업로드합니다
    일반적인 사용 사례에서 이는 흔히 발생합니다—사용자가 온라인에서 파일을 찾아 스킬로 업로드하는 경우입니다. 공격은 인젝션 소스에 의존하지 않으며, 다른 소스로는 (하지만 이에 국한되지 않음) Chrome용 Claude, 연결된 MCP 서버 등이 포함됩니다.

    참고: 관리자는 “스킬”에 대한 제한된 감독만 할 수 있습니다. 스킬은 사용자의 OneDrive 특정 경로에서 자동으로 로드됩니다.

  3. 피해자는 Microsoft Copilot Cowork에게 이번 주에 작업한 내용을 검토해 달라고 요청하여 스킬을 트리거합니다

  4. 인젝션이 Copilot Cowork를 조작해 Teams 메시지를 게시하도록 만들고, 해당 메시지를 열면 사전 인증된 파일 다운로드 링크가 유출됩니다
    인젝션은 Copilot Cowork에게 요약 메시지를 위한 문서 미리보기 서비스를 생성하는 절차가 있다고 알려줍니다. 이를 위해 에이전트는 각 파일에 대한 사전 인증된 다운로드 링크를 가져와 공격자가 제어하는 사이트에 악성 HTML “ 태그를 통해 쿼리 파라미터로 전달합니다.

    이 과정 전반에 걸쳐 인간의 승인은 전혀 요구되지 않습니다.

  5. 악성 메시지 내용은 Teams 작업을 클릭해도 절대 표시되지 않습니다
    “Task complete” 블록을 확장하면 에이전트의 동작을 확인할 수 있지만, 페이로드는 숨겨진 상태로 남아 있습니다.

  6. 사용자가 Teams 메시지를 열면 사전 인증된 다운로드 링크가 유출되고, 공격자는 해당 링크를 방문해 파일을 다운로드할 수 있습니다

조직을 위한 위험 완화

Copilot Cowork은 Microsoft Graph를 통해 사용자가 접근할 수 있는 거의 모든 리소스에 대한 읽기 권한을 가지고 있습니다. 이러한 공격의 파급 범위를 줄이기 위한 주요 메커니즘은 Microsoft 생태계 전반에 걸쳐 과도한 권한 부여를 제한하는 것입니다.

사전 인증된 다운로드 링크 제한

  • SharePoint에서 파일 다운로드 차단 (SharePoint Online Management Shell에서 실행):

    Set-SPOSite -Identity <SiteUrl> -BlockDownloadPolicy $true
  • 민감도 레이블을 기반으로 차단:

    Set-Label -Identity <LabelName> -AdvancedSettings @{BlockDownloadPolicy = "true"}

Note: 이 구성은 기능에 영향을 미칩니다. According to the Microsoft documentation, for files under the BlockDownloadPolicyUsers have browser‑only access with no ability to download, print, or sync files. They also can’t access content through apps, including the Microsoft 365 Apps (Word, Excel, PowerPoint, etc.).

모델‑불가지론적 활용

(원본 내용이 여기서 잘렸으며; 정리된 버전은 완전성을 위해 제목을 보존합니다.)

모델 선택 및 공격 검증

초기 테스트는 모델 선택을 auto 로 설정한 상태에서 실행되었으며, 이는 Claude Opus 4.7Claude Sonnet 4.6 사이를 동적으로 라우팅합니다. 이후 직접 선택했을 때 더 고급인 Opus 4.7 모델에서도 동일한 인젝션이 작동함을 확인했습니다.

모델 선택 비교

Opus 4.7은 최근 편집된 문서를 검색하는 데 더 철저함을 입증했습니다. 데이터 탈취 범위를 다음을 포함하도록 확장했습니다:

  • 그 주에 이전 Cowork Copilot 세션에서 사용된 모든 문서.
  • 모델을 auto 로 설정했을 때 발견된 일반적인 문서 위치에 저장된 파일들.

프롬프트 인젝션 효능

  • 프롬프트 인젝션은 매우 높은 효능을 보였습니다: Copilot Cowork전체 5회 시도 모두(5 / 5)에서 전체 공격 체인을 완료했습니다.
  • 성공은 사용자 질의 문구와 무관했습니다—모델이 스킬을 호출할 때마다 인젝션이 성공했습니다.
  • 인젝션은 81줄짜리 스킬 파일 안에 5줄로 구성되었으며, 각 줄은 주변 코드와 길이가 비슷했습니다.

이는 최신 모델이라도 악성 텍스트의 작은 발췌만으로도 간접 프롬프트 인젝션이 에이전트 행동을 장악할 수 있음을 보여줍니다.

요점: 신뢰할 수 없는 데이터(예: 온라인에 공유된 스킬)를 다룰 때는 주의가 필요합니다, 특히 해당 데이터가 스킬 파일과 같은 신뢰된 컨텍스트에 포함될 경우 더욱 그렇습니다.

예약 작업이 위험을 악화시킴

Copilot Cowork에서 사용자는 예약 작업을 만들 수 있습니다—사용자 감독 없이 정기적으로 실행되는 프롬프트입니다. 이 기사에서 설명된 “주간 검토” 동작은 사용자가 자동화할 수 있는 작업 유형과 정확히 일치합니다.

예약 작업 예시

  • 예약 작업은 사용자가 악성 워크플로를 중단할 수 없기 때문에 공격 표면을 확대합니다.
  • 따라서 프롬프트 인젝션이 반복적으로 실행될 수 있어 위험이 가중됩니다.
0 조회
Back to Blog

관련 글

더 보기 »