오픈AI의 강력한 경쟁자로 꼽히는 앤트로픽(Anthropic)의 AI 코딩 도우미, ‘클로드 코드(Claude Code)’의 전체 클라이언트 소스코드가 유출되는 사고가 발생했습니다. 이번 사건은 보안 연구원 Chaofan Shou가 X(구 트위터)를 통해 최초로 공개했으며, 이후 Reddit의 r/ClaudeAI 커뮤니티에서 2,000개 이상의 추천과 400개가 넘는 댓글이 달리며 폭발적인 반응을 일으켰습니다. 단순한 코드 유출을 넘어, 앤트로픽의 내부 동작 방식과 논란의 소지가 다분한 기능들이 고스란히 드러나며 파장이 커지고 있습니다.
어이없는 실수, 소스맵 파일이 부른 파장
이번 유출의 직접적인 원인은 개발 과정의 어이없는 실수로 보입니다. 앤트로픽은 Claude Code의 CLI(Command-Line Interface) 도구를 npm 레지스트리에 배포하는 과정에서, 자바스크립트 번들 파일(cli.js)과 함께 소스맵 파일(.js.map)을 포함시켰습니다. 소스맵은 본래 난독화되거나 압축된 자바스크립트 코드를 개발자가 디버깅하기 쉽도록 원본 소스코드와 매핑해주는 파일입니다. 운영 환경에서는 제거되는 것이 일반적이지만, 이번에는 실수로 함께 배포된 것입니다. 이 덕분에 개발자들은 복잡한 역공학 과정 없이도 Claude Code의 원본 소스코드를 손쉽게 들여다볼 수 있게 되었습니다.
시스템 프롬프트부터 아키텍처까지, 속살 드러낸 클로드 코드
소스맵 파일을 통해 공개된 내용은 단순한 클라이언트 UI 코드를 넘어섭니다. Claude Code의 핵심 동작 원리와 내부 설계 사상이 담긴 정보들이 대거 포함되어 있었습니다. 유출된 주요 내용은 다음과 같습니다.
- 내부 아키텍처: 사용자의 메시지를 받아 컨텍스트를 조립하고, 모델 추론을 거쳐 도구 실행 권한을 확인한 뒤, 실제 도구를 실행하고 결과를 관찰하는 ‘에이전트 루프’의 전체 구조가 드러났습니다.
- 시스템 프롬프트 전문: AI의 행동 지침이 담긴 시스템 프롬프트의 상세 내용이 공개되었습니다. 특히 CLAUDE.md라는 메모리 파일의 4계층 구조와 git 브랜치 및 커밋 정보를 프롬프트에 주입하는 방식 등, 모델의 컨텍스트 이해도를 높이기 위한 정교한 기술들이 포함되어 있었습니다.
- 도구 실행 권한 모델: Claude Code가 파일 수정이나 명령어 실행 같은 민감한 작업을 수행할 때, allow(즉시 실행), ask(사용자 확인), deny(거부)의 3단계 권한 모델을 사용한다는 사실이 확인되었습니다.
- 컨텍스트 관리 전략: 대화가 길어질 때 성능 저하를 막기 위해 lodash 라이브러리의 memoize 함수로 반복적인 계산 결과를 캐싱하고, 특정 크기(maxResultSizeChars)를 초과하는 결과는 임시 파일에 저장하며, 오래된 메시지는 자동으로 요약 압축(compaction)하는 등 효율적인 컨텍스트 관리 기법이 사용되었습니다.
- 새로운 모델 정보: 코드 내에서 ‘Capybara‘라는 이름의 새로운 모델이 언급되어, 앤트로픽이 내부적으로 테스트 중인 차세대 모델에 대한 단서가 유출되었습니다.
가장 큰 논란: ‘언더커버 모드’와 도 넘은 사용자 추적
이번 유출에서 기술적인 내용보다 더 큰 논란을 불러일으킨 것은 사용자를 추적하는 텔레메트리(Telemetry) 정책과 ‘언더커버 모드(Undercover Mode)’의 존재입니다. 개인적으로 기사 원문을 분석하며 가장 충격적이었던 부분은 바로 이 지점이었습니다.
유출된 코드에 따르면, Claude Code는 사용자의 행동을 상당히 상세하게 추적하고 있었습니다. 단순히 기능 사용 통계를 넘어, 사용자가 대화 중 욕설을 사용하는 경우를 감지하는 전용 텔레메트리가 포함되어 있었습니다. 또한 “계속해(continue)”나 “keep going”과 같은 특정 문구 사용을 추적하고, 사용자가 겪는 좌절감을 측정하는 통계까지 수집하고 있었습니다. 이는 서비스 개선 목적이라기엔 다소 과도한 수준의 사용자 감시로 비칠 수 있어 프라이버시 침해 논란을 피하기 어려워 보입니다.
더 큰 문제는 ‘언더커버 모드‘입니다. 이 기능은 Claude Code를 이용해 오픈소스 프로젝트에 코드를 기여할 때, AI가 기여했다는 사실을 의도적으로 숨기는 역할을 합니다. 코드가 커밋될 때 자동으로 추가되는 ‘Co-Authored-By’ 라인을 제거하고, 커밋 메시지에 AI 사용 사실을 언급하지 않도록 유도합니다. 이 모드는 앤트로픽 내부에서 관리하는 허용 목록(allowlist)에 포함되지 않은 저장소에서 자동으로 활성화되는 것으로 밝혀졌습니다. 이는 앤트로픽이 수많은 오픈소스 프로젝트에 AI의 기여 사실을 숨긴 채 ‘유령 기여’를 해왔을 수 있다는 의혹을 낳으며, 오픈소스 커뮤니티의 투명성 원칙을 정면으로 위배하는 행위라는 거센 비판에 직면했습니다.
들끓는 커뮤니티: “실수도 오픈소스” vs “끔찍한 배신”
소스코드 유출 사실이 알려지자 개발자 커뮤니티는 즉각 뜨거운 반응을 보였습니다. Reddit에서는 다양한 의견이 쏟아져 나왔습니다. 한 사용자는 “토큰 사용량을 97% 절약하는 수천 개의 MiniClaude 포크가 등장할 것을 기대한다“며, 유출된 코드를 바탕으로 한 경량화 버전의 등장을 예고했습니다. 또 다른 사용자는 “앤트로픽 스스로가 AI로 코딩하다가 이런 실수를 저지른 것 아니냐“며 조롱 섞인 비판을 남기기도 했습니다.
법적인 쟁점에 대한 토론도 활발합니다. “실수로 오픈소스가 되어도 오픈소스는 오픈소스“라며 유출된 코드의 사용 권리에 대한 논쟁이 벌어지는가 하면, “클로드에게 이 소스코드를 분석시켜보자“며 자기 자신의 코드를 분석하게 하는 아이러니한 상황을 제안하는 댓글도 많은 공감을 얻었습니다.
반면, 텔레메트리와 언더커버 모드에 대해서는 비판의 목소리가 높습니다. 특히 언더커버 모드는 “오픈소스에 대한 끔찍한 배신“이라는 격한 반응을 낳으며, 앤트로픽의 기업 윤리에 대한 심각한 의문을 제기하고 있습니다. 일부 사용자는 “이번이 처음이 아니다. 이전에도 같은 경로로 유출된 적이 있다“고 지적하며 앤트로픽의 반복적인 실수를 꼬집었습니다.
이번 유출은 모델 가중치나 핵심 백엔드 코드가 포함되지 않았다는 점에서 앤트로픽에게 치명적인 보안 사고는 아닐 수 있습니다. 번들된 자바스크립트는 언제든 역공학이 가능했고, 소스맵은 그저 과정을 쉽게 만들어 주었을 뿐입니다. 하지만 이번 사건은 단순한 기술적 실수를 넘어, 기업의 투명성과 윤리성에 대한 깊은 불신을 남겼습니다. 특히 오픈소스 생태계에 대한 기만 행위로 비칠 수 있는 ‘언더커버 모드’의 존재는 앤트로픽의 명성에 지울 수 없는 오점을 남기게 될 것입니다.
출처: r/ClaudeAI | Mintlify (유출 문서)
![[속보]클로드 코드 소스코드 유출, 충격적인 ‘언더커버 모드’의 실체는?](https://blog.homeinone.co.kr/wp-content/uploads/2026/04/anthropic-claude-code.webp)