Claude Code v2.1.88
IT/AI
Claude Code 소스맵, 숨긴 게 더 컸을까요?
2026년 3월 31일, Claude Code의 npm 패키지에 59.8MB짜리 소스맵 파일이 그대로 들어있다는 사실이 공개됐습니다. 해킹이 아니었습니다. 빌드 설정 한 줄이 빠졌을 뿐입니다. 그런데 그 안에서 나온 것들이 더 충격적이었습니다.
유출 경위 — 설정 한 줄의 대가
Claude Code가 사용하는 빌드 도구 Bun은 기본 설정으로 소스맵(source map) 파일을 생성합니다. 소스맵은 배포용으로 압축된 JavaScript 코드와 원본 TypeScript 소스 사이를 이어주는 디버깅 보조 파일입니다. 프로덕션 패키지에는 넣지 않는 것이 업계 관례입니다. Anthropic은 .npmignore 또는 package.json의 files 필드에서 *.map을 제외하는 한 줄을 빠뜨렸고, 그 결과 2026년 3월 31일 배포된 v2.1.88에 59.8MB 크기의 cli.js.map이 그대로 포함됐습니다.
보안 연구원 Chaofan Shou(@Fried_rice)가 이 파일을 발견해 X(구 트위터)에 게시하면서 사건이 시작됐습니다. (출처: CyberSecurityNews, 2026.03.31) Anthropic의 내부 스토리지 버킷 링크가 파일 안에 하드코딩돼 있었고, 누구나 접근해 원본 소스를 다운로드할 수 있었습니다.
Anthropic은 즉각 성명을 냈습니다. “민감한 고객 데이터나 자격 증명은 노출되지 않았다. 이는 릴리스 패키징 과정에서 발생한 인적 오류다.” (출처: 지디넷코리아, 2026.04.01) 하지만 코드는 이미 수천 개의 GitHub 미러로 퍼진 뒤였습니다.
2025년 2월 24일에도 동일한 원인으로 한 차례 유출이 있었습니다. 당시엔 인라인 base64 인코딩 방식이었고 약 2시간 만에 제거됐습니다. 방식만 달랐을 뿐, 근본 원인은 이번과 같았습니다. (출처: 갓대희 티스토리, 2026.04.01)
“API 래퍼”가 아니었습니다 — 드러난 아키텍처 규모
많은 사람이 Claude Code를 “Anthropic API를 감싼 터미널 래퍼” 정도로 생각했습니다. 코드가 열리자 그 생각은 바로 깨졌습니다.
💡 공식 발표문과 실제 코드 규모를 같이 놓고 보니 이런 차이가 보였습니다
Anthropic은 Claude Code를 “에이전트 코딩 도구”라고 소개합니다. 실제 코드베이스는 TypeScript 파일 1,906개에 51만 2천 줄이 넘는 규모입니다. 단일 컴포넌트인 Query Engine 하나만 46,000줄입니다. (출처: 갓대희 티스토리 분석, 2026.04.01)
| 항목 | 수치 |
|---|---|
| TypeScript 파일 수 | 1,906개 |
| 전체 코드 줄 수 | 512,000줄+ |
| 최대 단일 모듈 (Query Engine) | 약 46,000줄 |
| 내장 도구 수 | 40개+ |
| 슬래시 커맨드 수 | 50개+ |
| 숨겨진 피처 플래그 | 44개 이상 |
출처: 갓대희 티스토리 분석 (2026.04.01), wavespeed.ai 분석 (2026.04.01)
엔트리포인트 파일인 main.tsx 하나가 785KB입니다. 기술 스택도 예상을 벗어났습니다. Node.js가 아닌 Bun, 터미널 UI에 React + Ink 조합을 씁니다. VS Code 확장과의 통신 레이어에는 JWT 인증 기반 별도 보안 채널을 구현했습니다. “가볍게 API 호출하는 CLI”가 아니라 권한 게이팅, 컨텍스트 압축, 멀티에이전트 오케스트레이터, IDE 브리지가 모두 갖춰진 구조입니다. eWeek는 이를 두고 “소프트웨어 작업을 위한 운영체제에 가깝다”고 표현했습니다.
ULTRAPLAN — 아직 못 쓰는 기능이 코드에 살아있는 이유
Claude Code 요금제를 Pro나 Max로 올려도 지금 당장 쓸 수 없는 기능이 있습니다. ULTRAPLAN이 그중 하나입니다. 피처 플래그(feature flag)로 잠겨 있기 때문입니다. 플래그 해제 없이는 요금제와 무관하게 접근 자체가 되지 않습니다.
ULTRAPLAN이 하는 일은 이렇습니다. 복잡한 계획 수립 작업을 Cloud Container Runtime(CCR)에서 실행 중인 Opus 4.6 인스턴스에 위임합니다. 최대 30분간 클라우드 컨테이너에서 계획을 수립하고, 완료되면 결과를 로컬 터미널로 돌려받는 구조입니다. 실행 전에 브라우저 기반 승인 단계가 있어 Opus가 제안한 계획을 검토한 뒤 적용 여부를 결정할 수 있습니다. (출처: wavespeed.ai 분석, 2026.04.01)
💡 피처 플래그 게이팅 방식이 말해주는 것
ULTRAPLAN, KAIROS, BUDDY가 모두 플래그로 막혀있다는 것은 Anthropic이 내부 직원 또는 특정 그룹과 먼저 테스트하고, 준비됐을 때 선택적으로 열겠다는 운영 방식입니다. “아직 아이디어 단계”가 아니라 코드베이스에 실구현된 채로 대기 중입니다. 스텁이나 목업이 아닙니다. (출처: wavespeed.ai 분석, 2026.04.01)
현재 Claude Code 공식 문서(code.claude.com)에는 ULTRAPLAN에 대한 언급이 없습니다. Anthropic이 공식 답변을 내놓지 않은 부분입니다. 다만 3월 말까지 진행됐던 Claude March 2026 Usage Promotion에서 비피크 시간 사용량이 2배로 늘어났는데, Reddit 커뮤니티에서는 이것이 피크 시간 부하 분산 실험이었을 가능성을 제기했습니다. (출처: Anthropic 공식 지원 센터) ULTRAPLAN처럼 클라우드 컨테이너 연산이 늘어날 경우 서버 부하 패턴이 달라지기 때문입니다.
KAIROS와 BUDDY — 발표도 안 했는데 완성에 가까운 이유
KAIROS: 사용자가 타이핑하기 전부터 작동합니다
KAIROS는 사용자가 명령을 입력하기를 기다리지 않는 지속적 백그라운드 Claude 인스턴스입니다. 15초 이상 사용자 워크플로우를 막는 행동은 자동으로 연기되고, 일별 append-only 로그를 쌓으며, 아이들 시간에는 Dream이라는 메모리 통합 프로세스를 24시간·5세션 주기로 실행합니다. (출처: wavespeed.ai 분석, 2026.04.01)
전용 도구도 따로 있습니다. SendUserFile, PushNotification, SubscribePR, SleepTool — 일반 Claude Code에서는 쓸 수 없는 도구들입니다. 현재 공개 빌드에서는 KAIROS를 활성화할 방법이 없습니다. 내부 피처 플래그가 필요합니다. 현재 Claude Code 공식 문서에서는 별도 이유를 밝히지 않았습니다.
BUDDY: 오늘 4월 2일, 실제로 입력해 볼 수 있습니다
BUDDY는 Claude Code 입력창 옆에 ASCII 아트 형태로 앉아있는 가상 동반자 시스템입니다. 코드상 18종이 구현돼 있고, 희귀도는 5등급(Common·Uncommon·Rare·Epic·Legendary), 별도로 1% 확률의 Shiny 판정이 있습니다. (출처: 갓대희 티스토리 분석, 2026.04.01)
| 등급 | 드롭 확률 | 모자 해금 |
|---|---|---|
| Common | 60% | 없음 |
| Uncommon | 25% | 왕관·중절모·프로펠러 |
| Rare | 10% | 후광·마법사 모자 |
| Epic | 4% | 비니 |
| Legendary | 1% | 꼬마오리 모자 (전용) |
| Shiny Legendary | 약 0.01% | 희귀도 판정과 독립 적용 |
종 배정 방식이 흥미롭습니다. 매 세션 무작위가 아니라 userId를 FNV-1a 해시로 변환한 시드로 Mulberry32 PRNG를 돌려 결정론적으로 배정됩니다. 같은 계정은 항상 같은 종을 받습니다. config 파일을 수정해서 Legendary로 위장하는 것도 막아뒀습니다. 시드를 매 세션 재계산하기 때문입니다. (출처: 갓대희 티스토리 분석, 2026.04.01) 사용자가 자신의 BUDDY 정체성을 공유할 수 있도록 한 설계 선택입니다.
코드 내부 주석에는 4월 1~7일을 티저 기간으로 설정하고, 2026년 5월을 전체 출시 목표로 적어뒀습니다. 오늘(4월 2일) /buddy를 입력하면 무지개 색 애니메이션과 함께 반응할 가능성이 있습니다. 다만 이는 공식 발표가 아닌 내부 코드 주석 기반입니다.
Undercover Mode — 정체 숨기기가 되레 다 드러난 사연
유출된 코드에서 커뮤니티가 가장 불편하게 받아들인 대목이 Undercover Mode입니다. 코드는 USER_TYPE === 'ant' 조건, 즉 Anthropic 직원 여부를 판단한 뒤 해당 직원이 공개 저장소에서 작업 중일 때 이 모드로 진입합니다.
Undercover Mode에서 발생하는 일은 세 가지입니다. 첫째, Claude에게 “정체를 드러내지 말라(Do not blow your cover)”는 시스템 프롬프트가 주입됩니다. 둘째, AI 관여를 표시하는 커밋 메타데이터 Co-Authored-By 줄이 git 출력에서 삭제됩니다. 셋째, 내부 코드명이 응답에서 숨겨집니다. (출처: wavespeed.ai 분석, 2026.04.01)
💡 이 구현이 만들어낸 역설을 들여다보면
Anthropic은 직원들의 공개 저장소 활동에서 내부 정보가 노출되는 것을 막기 위해 Undercover Mode를 만들었습니다. 그런데 Undercover Mode 자체를 포함한 전체 소스코드가 npm 패키지에 담겨 배포됐습니다. 정보를 숨기기 위한 시스템의 구현 세부 사항이 공개적으로 배포된 패키지 안에 있었습니다.
Co-Authored-By 삭제에 대해서는 커뮤니티 반응이 갈렸습니다. 일부 개발자는 코드베이스에서 AI 관여를 추적하는 용도로 이 메타데이터를 활용하고 있었기 때문입니다. Anthropic은 이 부분에 대해 공식 답변을 내놓지 않았습니다.
두 번째 유출이라는 사실이 더 불편한 이유
이번 사건이 단순 실수로 넘기기 어려운 이유가 있습니다. 2025년 2월 24일 1차 유출 이후 Anthropic은 패키지를 수정했지만, 근본 원인인 배포 파이프라인의 소스맵 제외 설정은 고쳐지지 않았습니다. 방식이 인라인 base64에서 별도 파일로 바뀌었을 뿐입니다. 수백 개 버전이 배포되는 동안 같은 취약점이 남아 있었습니다.
| 구분 | 1차 (2025.02.24) | 2차 (2026.03.31) |
|---|---|---|
| 방식 | 인라인 base64 소스맵 | 별도 cli.js.map 파일 |
| 파일 크기 | 약 1,800만 자 | 59.8MB |
| Anthropic 대응 | 약 2시간 내 제거 | 신속 패치, 구버전 삭제 |
| 근본 원인 | *.map 미제외 | 동일: *.map 미제외 |
출처: 갓대희 티스토리 분석 (2026.04.01)
더불어 3월 26일에는 Anthropic의 콘텐츠 관리 시스템 설정 오류로 내부 파일 약 3,000개가 별도로 공개됐습니다. 이 과정에서 Capybara(코드명)라는 새로운 모델 티어의 초안 블로그 포스트가 드러났습니다. Opus보다 높은 티어로 코딩·추론·사이버보안에서 점수가 높다는 내용이었습니다. Anthropic은 “Capybara”를 “단계적 변화(step change)”이자 “지금까지 만든 것 중 가장 능력 있는 모델”이라고 표현했다고 합니다. (출처: agmazon.com 분석, 2026.04.01)
결과적으로 이 두 사건은 Anthropic의 제품 로드맵이 의도치 않게 외부에 공개된 상황을 만들었습니다. KAIROS, ULTRAPLAN, Coordinator Mode, Capybara 모델은 슬라이드 위의 개념이 아니라 코드베이스 안에서 대기 중인 기능들입니다. “출시된 제품”과 “실제 구현된 것” 사이의 거리가 예상보다 훨씬 가깝다는 뜻입니다.
Q&A 5가지
마치며
솔직히 말하면, 이번 사건에서 진짜 충격은 “유출됐다”는 사실이 아니었습니다. 유출된 안에 뭐가 있었느냐였습니다. ULTRAPLAN, KAIROS, BUDDY, Coordinator Mode — 이것들이 발표 자료가 아니라 실제 코드로 존재한다는 게 드러났습니다. 지금 Pro 요금제를 쓰고 있어도 접근 못 하는 기능이 이미 코드베이스 안에서 기다리고 있었습니다.
배포 파이프라인 설정 한 줄이 이 모든 걸 꺼냈습니다. 같은 실수가 1년 만에 반복됐습니다. 이 사건의 아이러니는 거기에 있습니다. 가장 정교하게 설계된 에이전트 CLI가 가장 기초적인 배포 위생에서 두 번 실수를 범했습니다. Undercover Mode 같은 정보 보호 시스템을 코드에 심어뒀는데, 그 시스템 자체가 공개 패키지 안에 담겨 배포됐습니다.
Claude Code가 어떤 방향으로 가고 있는지는 이제 더 명확해졌습니다. 반응형 코딩 도구에서 능동적으로 관찰하고 계획하는 에이전트로 가는 중입니다. 그 거리가 우리 생각보다 훨씬 가까웠다는 것, 이번 사건이 보여준 게 그겁니다.
📚 본 포스팅 참고 자료
- 지디넷코리아 — 앤트로픽, 클로드코드 소스 유출 (2026.04.01)
- 갓대희 티스토리 — Claude Code 소스맵 유출 사건 심층 분석 (2026.04.01)
- wavespeed.ai — Claude Code 소스 유출: BUDDY, KAIROS 숨겨진 기능 완전 해부 (2026.04.01)
- Anthropic 공식 지원 센터 — Claude March 2026 Usage Promotion
- Claude Code 공식 문서 (code.claude.com)
- agmazon.com — 클로드 코드 소스코드 유출 사건 완벽 분석 (2026.04.01)
본 포스팅은 2026년 04월 02일 기준으로 작성되었습니다. 본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. Claude Code는 지속적으로 업데이트되는 서비스이므로 최신 내용은 공식 문서(code.claude.com)를 참고하시기 바랍니다. 유출된 소스코드 관련 법적 사항은 본 포스팅의 분석 대상이 아닙니다.

댓글 남기기