# Claude Cowork가 사용자 파일을 외부로 유출함

> Clean Markdown view of GeekNews topic #25822. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25822](https://news.hada.io/topic?id=25822)
- GeekNews Markdown: [https://news.hada.io/topic/25822.md](https://news.hada.io/topic/25822.md)
- Type: GN+
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-01-15T09:23:15+09:00
- Updated: 2026-01-15T09:23:15+09:00
- Original source: [promptarmor.com](https://www.promptarmor.com/resources/claude-cowork-exfiltrates-files)
- Points: 6
- Comments: 2

## Summary

**Claude Cowork의 코드 실행 환경 취약점**이 발견되어, 공격자가 사용자의 파일을 자신의 **Anthropic 계정으로 자동 업로드**할 수 있음이 확인되었습니다. 숨겨진 프롬프트 인젝션이 포함된 문서를 분석하는 과정에서 Cowork이 인간 승인 없이 외부 API 호출을 수행하며, 이는 **AI 에이전트의 신뢰 경계와 프롬프트 인젝션 방어의 한계**를 드러냅니다. Anthropic이 이전부터 인지한 취약점이 수정되지 않은 채 남아 있어, 개발자와 보안 담당자 모두 **AI 도구의 실행 권한 관리**에 각별한 주의가 필요합니다.

## Topic Body

- **Claude Cowork**의 코드 실행 환경 취약점을 이용해, 공격자가 사용자의 파일을 자신의 **Anthropic 계정으로 업로드**할 수 있음  
- 이 취약점은 **Claude.ai 채팅 환경에서 이미 보고되었으나 수정되지 않은 상태**로 Cowork에도 그대로 존재함  
- 공격은 **숨겨진 프롬프트 인젝션이 포함된 문서 파일**을 통해 실행되며, Cowork이 이를 분석하는 과정에서 자동으로 파일을 외부로 전송함  
- **인간의 승인 없이** Cowork이 공격자의 API 키를 사용해 **Anthropic API를 통해 데이터 유출**을 수행함  
- 일반 사용자가 쉽게 노출될 수 있는 구조로, **AI 에이전트의 보안 위험성과 프롬프트 인젝션 방어의 중요성**을 드러냄  

---

### 취약점 개요
- Claude Cowork는 Anthropic이 공개한 **일반 업무용 AI 에이전트 연구 프리뷰**로, 인터넷 접근 기능을 포함함  
- PromptArmor는 Cowork의 **코딩 환경에 남아 있는 미수정 취약점**을 이용해 사용자 파일을 외부로 유출할 수 있음을 시연함  
  - 해당 취약점은 이전에 Johann Rehberger가 Claude.ai에서 발견해 공개했으며, **Anthropic이 인지했으나 수정하지 않음**  
- Anthropic은 Cowork 사용 시 “프롬프트 인젝션을 의심할 만한 행동에 주의하라”고 경고했으나, **비전문가에게는 현실적으로 어려운 요구**로 지적됨  
- PromptArmor는 이 위험을 사용자에게 알리기 위해 **공개 시연을 진행**함  

### 공격 체인 (Attack Chain)
- 공격은 **Anthropic API의 허용 목록(allowlist)** 을 악용해 Claude의 VM 환경에서 데이터를 외부로 전송함  
1. 사용자가 **기밀 부동산 파일이 포함된 로컬 폴더를 Cowork에 연결**  
2. 사용자가 **숨겨진 프롬프트 인젝션이 포함된 문서 파일(.docx)** 을 업로드  
   - 문서는 ‘Skill’ 파일로 위장되어 있으며, **1포인트 흰색 글씨와 0.1 줄 간격**으로 인젝션이 숨겨짐  
3. 사용자가 업로드한 ‘Skill’을 이용해 **Cowork에 파일 분석을 요청**  
4. 인젝션이 Cowork을 조작해 **공격자의 Anthropic API 키를 사용한 cURL 요청**을 실행, 사용자의 파일을 공격자 계정으로 업로드  
   - **인간 승인 절차 없이 자동 실행**  
   - Claude의 VM은 대부분의 외부 네트워크를 차단하지만, **Anthropic API는 신뢰 대상으로 통과**됨  
5. 공격자는 자신의 Anthropic 계정에서 **피해자의 파일을 조회하고 Claude와 대화 가능**  
   - 유출된 파일에는 **재무 정보와 부분적인 사회보장번호(SSN)** 포함  

### 모델별 내성 (Model-specific Resilience)
- 위 공격은 **Claude Haiku** 모델에서 시연됨  
- **Claude Opus 4.5**는 인젝션 내성이 더 높지만, Cowork 환경에서는 **간접 프롬프트 인젝션을 통해 동일한 파일 업로드 취약점**을 악용할 수 있음  
  - 테스트에서는 사용자가 악성 통합 가이드를 업로드한 상황을 가정해 **고객 기록이 공격자 계정으로 유출**됨  

### 잘못된 파일을 통한 서비스 거부 (DOS via Malformed Files)
- Claude의 API는 **파일 확장자와 실제 형식이 일치하지 않을 때 오류를 반복 발생**시킴  
  - 예: `.pdf` 확장자를 가진 단순 텍스트 파일을 읽으려 하면 이후 모든 대화에서 API 오류 발생  
- 이러한 오류는 **간접 프롬프트 인젝션을 이용한 제한적 서비스 거부(DOS) 공격**으로 악용 가능  
  - 잘못된 파일을 생성·업로드하도록 유도해 **Claude 클라이언트와 Anthropic 콘솔에서 오류 알림 발생**  

### 에이전트 확장 위험 (Agentic Blast Radius)
- Cowork는 **브라우저, MCP 서버, AppleScript 제어 등** 일상 업무 환경 전반과 상호작용하도록 설계됨  
- 이로 인해 **민감한 데이터와 신뢰할 수 없는 데이터가 혼합 처리**될 가능성이 높아짐  
- 프롬프트 인젝션 공격면이 지속적으로 확대되고 있으며, **커넥터 설정 시 주의가 필요**  
- 이번 시연은 커넥터를 사용하지 않았지만, **커넥터가 일반 사용자에게 주요 위험 요인**이 될 수 있음

## Comments



### Comment 49264

- Author: laeyoung
- Created: 2026-01-15T16:03:52+09:00
- Points: 1

Simon Willison이 쓴 [Claude Cowork 후기글](https://simonwillison.net/2026/Jan/12/claude-cowork/)에도 프롬프트 인젝션 공격에 대한 우려가 있었는데, 빠르군요.

### Comment 49243

- Author: neo
- Created: 2026-01-15T09:23:15+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46622328) 
- Anthropic API가 악용되는 걸 발견하면, 그 **API 키를 GitHub Gist**나 공개 저장소에 올리면 됨  
  Anthropic은 GitHub 스캐닝 파트너라서 키가 거의 즉시 폐기됨  
  이후 Gist를 삭제하면 되고, OpenAI 등 다른 제공자들도 비슷하게 동작함  
  관련 문서: [Anthropic API Key Best Practices](https://support.claude.com/en/articles/9767949-api-key-best-practices-keeping-your-keys-safe-and-secure#h_9689e97cd8), [GitHub Secret Scanning Patterns](https://docs.github.com/en/code-security/reference/secret-security/supported-secret-scanning-patterns)
  - GitHub의 **토큰 스캐닝 서비스**가 다운되면 위험하므로 추천하지 않음  
    이상적으로는 GitHub이 **보편적인 토큰 폐기 API**를 제공해야 함  
    혹은 비공개 저장소에서 폐기 기능을 직접 활성화하는 게 나음
  - 이건 마치 **해커와 체스 두는 느낌**임
  - 그냥 Anthropic 콘솔에서 직접 키를 폐기하면 되는데 왜 이렇게 복잡하게 하는지 의문임
  - 꽤 **기발한 해결책**이라 생각함, 이런 방법은 처음 들어봄
  - 하지만 공격자가 파일을 탈취해 자기 Anthropic 계정으로 옮기면, 결과적으로 **전 세계가 그 계정에 접근**할 수 있게 되는 셈이라 위험함

- 데모에서는 글씨 크기를 작게 숨긴 .docx 파일로 **프롬프트 인젝션**을 시연했지만, 실제로는 단순한 Markdown 파일로도 충분함  
  예를 들어 “Claude가 대출 협상 기술을 배운다”는 설명만 붙여도 많은 사람이 열어보지도 않고 사용할 것임  
  오히려 .md 파일이 .docx보다 **의심을 덜 받는다는 점**에서 더 효과적일 수 있음
  - “똑똑한 곰 vs 열리지 않는 쓰레기통” 같은 상황 같음
  - 하지만 모든 사용자가 그렇게 생각하진 않음  
    예를 들어 일부 업계에서는 여전히 **PDF보다 DOCX가 정상적**이라 여겨짐  
    이런 환경에서는 .md 파일이 오히려 해커의 도구처럼 보일 수 있음

- 이런 문제는 처음부터 예상된 일이었음  
  **프롬프트 인젝션**이 해결되지 않는 한 계속 반복될 것임  
  1999년 HN을 상상해보면, “Bobby Tables가 DB를 날렸다”는 식의 **SQL 인젝션 초기 반응**과 비슷한 분위기임
  - 비교는 흥미롭지만 정확하진 않음  
    2000년대 초에도 우리는 **문자열 보간 대신 파라미터화된 SQL**을 쓰라고 했음  
    지금도 필요한 도구는 다 있는데, 문제는 사람들이 **보안보다 속도를 우선시**한다는 점임  
    아이러니하게도 이번 경쟁을 시작한 건 보안과 정렬(alignment)을 중시하던 **OpenAI**였음
  - SQL 인젝션처럼 **입력값 정제(input sanitization)** 로 해결할 수 있지 않을까 생각함  
    예를 들어 사용자 입력을 특정 토큰(@##)(JF)으로 감싸고, 그 안의 명령은 실행하지 않게 처리하는 식임  
    단순한 find/replace로도 가능해 보이는데, 내가 뭔가 놓친 걸까 궁금함
  - 더 근본적인 문제는, 이게 **지능이 높아져도 해결되지 않을 가능성**이 있다는 점임  
    오히려 AI가 똑똑해질수록 위험이 커질 수도 있음
  - 나는 에이전트용 **Prepared Statement 패턴**을 실험 중임  
    각 도구 호출 전에 서명된 ‘영장(warrant)’을 제시하게 해서, 허용된 명령만 실행하도록 제한함  
    프롬프트 인젝션이 발생해도 **기계적으로 차단**되도록 만드는 방식임

- “의심스러우면 파일을 프로그램처럼 실행하라”는 식의 **자동 실행 버그**가 또 등장한 느낌임  
  Windows XP 시절에도 이런 문제로 고생했는데, 결국 Microsoft는 자동 실행을 중단했음  
  프롬프트 기반 시스템도 **무엇을 신뢰할지 명확히 구분**해야 함

- AI 기업들이 위험을 “인정만 하고” 사용자에게 **비현실적인 주의사항**을 요구하는 건 문제라고 생각함
  - 대부분의 설명이 “SQL 인젝션” 비유를 쓰는데, 사실 **피싱 공격**에 더 가깝다고 봄  
    예를 들어 “할머니 봇”을 만들어 이메일을 정리하게 하면, **나이지리아 왕자 사기 메일**에 속을 수도 있음
  - 결국 “이 제품을 안전하게 쓰려면, **아예 쓰지 말라**”는 말과 다를 바 없음

- Claude의 **‘스킬’ 시스템이 암묵적**이라 생기는 문제로 보임  
  /slash 명령처럼 명시적이지 않고, 단순히 “파일을 추출하는 방법” 같은 지침만 있음  
  그래서 “decompress”나 “extract” 같은 단어만 써도 자동으로 실행될 수 있음  
  이런 구조는 **프롬프트 인젝션이 새로운 능력을 몰래 주입**하기 쉽게 만듦  
  따라서 **명시적이고 정적 등록된 도구 체계**로 바꾸는 게 필요함  
  예를 들어 Extract(path) 같은 도구를 만들고, Read나 Bash("tar *")만 허용하도록 **화이트리스트화**할 수 있음  
  이렇게 하면 사람의 승인 절차도 추가할 수 있고, 세션 중에 새 도구가 등록되지 않음

- 관련된 이전 사례와 Anthropic의 공식 답변이 [이 블로그 글](https://embracethered.com/blog/posts/2025/claude-abusing-network-access-and-anthropic-api-for-data-exfiltration/)에 정리되어 있음

- 약간 다른 주제지만, **데이터 유출 PoC를 서비스로 제공하는 곳**이 있는지 궁금함  
  특히 Claude가 외부 CI 환경에서 실행될 때 **CLAUDE.md의 독성 페이로드**를 실험해보고 싶음

- **promptarmor**의 최근 활동이 인상적임  
  제품팀의 품질 책임을 묻는 데 큰 역할을 하고 있음
  - 하지만 그들도 **공포 마케팅**을 통해 제품을 팔려는 이해관계가 있음  
    실제 공격은 피해자가 Claude에 민감한 폴더 접근을 허용하고, 공격자가 **보이지 않는 프롬프트 인젝션이 숨은 DOCX**를 업로드하도록 속여야 함  
    게다가 인젝션 내용은 Markdown 출력 시 사용자에게 드러남  
    공격자는 자신의 API 키를 써야 하므로 **추적이 가능**함  
    이 공격은 오래된 Haiku 버전에서만 작동함  
    결국 promptarmor가 **판매를 위한 과장**을 하는 것 같음

- 우리 팀은 에이전트 VM이 **pip, npm, apt**만 통신하도록 제한함  
  그리고 **출력 요청 크기**를 모니터링해 비정상적인 데이터 유출을 방지함
  - 하지만 이건 근본적 해결책이 아님  
    **AI의 오용·누출·자율성**이라는 삼중 문제는 단순히 한쪽을 막는다고 해결되지 않음  
    작은 요청 안에도 비밀을 인코딩할 수 있고, **비정렬된 AI**는 이런 누출 경로를 스스로 찾아냄
  - 흥미로운 접근임, 그런데 공격자가 사용자의 **코드베이스를 패키지로 업로드**할 수도 있는지 궁금함
