피드로 돌아가기
Hacker NewsSecurity
원문 읽기
외부 개발자가 Claude Code 소스맵을 역추출하여 GitHub 저장소에 공개함
Claude Code full source code leaked on NPM
AI 요약
Context
Claude Code는 npm으로 번들된 JavaScript CLI로 배포되며, cli.js.map 파일에 원본 TypeScript 소스코드가 포함되어 있다. 이 소스맵은 개발용 디버깅을 위해 생성되지만 민감한 코드가 노출되는 취약점이 존재한다.
Technical Solution
- npm pack 명령으로 @anthropic-ai/claude-code 패키지를 tar.gz 파일로 다운로드한다.
- 다운로드된 패키지에서 cli.js.map 파일을 읽어 sources 배열과 sourcesContent 배열을 추출한다.
- sourcesContent가 null이 아닌 파일만 대상 필터링하여 unpacking 처리한다.
- src 경로의 ../ 접두사를 정규식으로 제거하고 recursive mkdir로 디렉토리 구조를 재현한다.
- 추출된 TypeScript 소스 파일을 unpacked 디렉토리에 파일 단위로 저장한다.
Impact
이슈로 인해 Anthropic의 Claude Code CLI 내부 로직, 명령어 구현, 컴포넌트 구조, 도구 구현체가 공개 상태가 된다.
Key Takeaway
npm 배포 시 production 빌드에 source map 포함 여부를 반드시 검토해야 하며, 민감한 코드가 포함된 경우 source map 생성을 비활성화하거나 contents 속성을 제거해야 한다.
실천 포인트
npm 배포 파이프라인에서 webpack이나 esbuild로 빌드 시 production 모드에서 sourceMap 옵션을 false로 설정하면 소스맵 역추출을 원천 차단할 수 있다