Claude 코드 소스 맵 유출로 NPM에 이미 공개된 압축 자바스크립트가 드러나

"유출" 사건의 실제 내용
내부 디버깅용으로 만들어진 .map 소스 맵 파일이 npm의 @anthropic-ai/claude-code 패키지 2.1.88 버전에 실수로 포함되었습니다. 보안 연구원 Chaofan Shou가 이를 발견하고 X에 게시했습니다. Anthropic은 이 문제가 "보안 침해가 아닌 인간 실수로 인한 릴리스 패키징 문제"라고 확인했습니다. 패키지는 철수되었지만 이미 모든 곳에 미러링되었습니다.
이번은 두 번째 발생한 사건입니다. 거의 동일한 소스 맵 유출이 13개월 전인 2025년 2월에도 발생했습니다.
코드는 이미 공개되어 있었음
Claude Code는 단일 번들 JavaScript 파일인 cli.js로 npm을 통해 배포됩니다. 이 파일은 13MB 크기에 16,824줄의 JavaScript이며, 제품 출시 이후부터 unpkg.com/@anthropic-ai/claude-code/cli.js에서 공개적으로 접근 가능했습니다.
파일은 난독화되지 않고 최소화만 되어 있습니다. 차이점은 다음과 같습니다:
- 최소화(esbuild, Webpack, Rollup과 같은 모든 번들러가 기본적으로 수행)는 변수 이름을 짧게 만들고 공백을 제거합니다
- 난독화는 문자열을 암호화하고 제어 흐름을 평탄화하며 데드 코드를 주입하고 변조 방지 메커니즘을 추가합니다
Claude Code는 변수 이름 맹글링과 공백 제거를 포함한 표준 최소화를 사용했지만, 다음 난독화 기술은 전혀 적용되지 않았습니다:
- 문자열 암호화/인코딩: 없음
- 제어 흐름 평탄화: 없음
- 데드 코드 주입: 없음
- 자체 방어/변조 방지: 없음
- 문자열 배열 회전: 없음
- 속성 이름 맹글링: 없음
평문 콘텐츠 추출
모든 148,000개 이상의 문자열 리터럴이 평문으로 저장되어 있습니다. 모든 시스템 프롬프트, 모든 도구 설명, 모든 행동 지침은 텍스트 편집기로 읽을 수 있습니다. 소스 맵이 필요하지 않습니다.
간단한 AST 기반 추출 스크립트를 사용하면 전체 13MB 파일을 1.47초 내에 파싱하여 147,992개의 문자열을 추출할 수 있습니다. 분류 결과:
- 1,017개의 시스템 프롬프트 및 지침
- 431개의 도구 설명
- 837개의 고유한 텔레메트리 이벤트 이름(모두 tengu_ 접두사 - Claude Code의 내부 코드명)
- 제품 동작을 제어하는 504개의 환경 변수
- 3,196개의 오류 메시지
- 하드코딩된 엔드포인트, OAuth URL, DataDog API 키, 전체 모델 카탈로그
커뮤니티 반응
소스 맵 발견 후 하루 만에:
- GitHub에 코드 덤프가 등장(nirholas/claude-code 등), Anthropic에 의해 몇 시간 내에 DMCA 삭제 요청을 받았지만 수백 번 포크됨
- Claude Code 아키텍처의 완전한 Rust 재작성판인 Claw Code가 2시간 만에 GitHub 스타 50,000개를 달성하여 역사상 가장 빠르게 해당 이정표에 도달한 저장소가 됨
- ccleaks.com이 등장 - 소스에서 발견된 모든 미출시 기능, 숨겨진 명령어, 빌드 플래그를 카탈로그화한 완전히 디자인된 분석 사이트
- DEV Community, YouTube, 기술 블로그에 세부 사항을 분석하는 수십 개의 분석 기사
Geoffrey Huntley는 이번 사건 발생 몇 달 전에 Claude Code의 완전한 "클린룸 트랜스파일레이션"을 공개했습니다.
📖 전체 Source 읽기: HN AI Agents
👀 See Also

AI 챗봇, 실제 전화번호 유출: 개인정보 노출 문제
Gemini, ChatGPT, Claude와 같은 챗봇이 훈련 데이터의 개인식별정보(PII)로 인해 실제 개인 전화번호를 노출하고 있습니다. DeleteMe는 7개월 만에 AI 관련 개인정보 보호 요청이 400% 증가했다고 보고합니다.

클로드 코드, 권한 철회 후에도 로깅 세션 지속…사용자 2주간 지원 침묵 신고
Claude Code 사용자가 접근 권한을 해지한 후에도 세션 로그가 계속 나타났으며, Anthropic 지원팀이 2주 동안 응답하지 않았다고 보고했습니다. 로그에는 user:file_upload, user:ccr_inference, user:sessions:claude_code와 같은 범위가 포함되었습니다.

로컬 ChromaDB + LM Studio 스택을 위한 오픈소스 RAG 공격 및 방어 실험실
오픈소스 연구실이 ChromaDB와 LM Studio를 사용한 기본 로컬 설정에서 RAG 지식 베이스 중독 효과를 측정하여, 방어되지 않은 시스템에서 95%의 성공률을 보였으며 실용적인 방어 방법을 평가했습니다.

GitHub Copilot CLI 취약점으로 인해 프롬프트 인젝션을 통한 멀웨어 실행이 가능합니다
GitHub Copilot CLI의 취약점으로 인해 사용자 승인 없이 간접 프롬프트 주입을 통한 임의의 셸 명령어 실행이 가능합니다. 공격자는 검증을 우회하고 피해자 컴퓨터에서 즉시 악성코드를 실행하는 명령어를 조작할 수 있습니다.