클로드 코드 유출로 드러난 안티 디스틸레이션, 언더커버 모드, 좌절 감지 기능

✍️ OpenClawRadar📅 게시일: April 1, 2026🔗 Source
클로드 코드 유출로 드러난 안티 디스틸레이션, 언더커버 모드, 좌절 감지 기능
Ad

Anthropic은 Claude Code npm 패키지에 CLI 도구의 완전한 가독성 소스 코드가 담긴 .map 파일을 실수로 포함시켜 배포했습니다. 해당 패키지는 이후 삭제되었지만, 코드는 Hacker News에서 널리 복제되고 분석되었습니다. 이는 Anthropic의 모델 사양이 최근 유출된 사건에 이은 것입니다.

역증류 방지: 복제자를 오염시키기 위한 가짜 도구 주입

claude.ts 파일(301-313줄)에는 ANTI_DISTILLATION_CC라는 플래그가 있습니다. 이 플래그가 활성화되면, Claude Code는 API 요청에 anti_distillation: ['fake_tools']를 포함시켜 서버에 시스템 프롬프트에 가짜 도구 정의를 조용히 주입하도록 지시합니다. 이는 누군가가 경쟁 모델을 훈련시키기 위해 API 트래픽을 기록하는 경우, 훈련 데이터를 오염시키도록 설계된 것입니다.

활성화에는 네 가지 조건이 필요합니다: ANTI_DISTILLATION_CC 컴파일 타임 플래그, CLI 진입점, 자사 API 제공자, 그리고 tengu_anti_distill_fake_tool_injection GrowthBook 플래그가 true를 반환하는 것. 요청 본문에서 anti_distillation 필드를 제거하는 MITM 프록시를 사용하면 완전히 우회할 수 있습니다. CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 환경 변수를 참 값으로 설정하면 전체 메커니즘이 비활성화됩니다.

betas.ts 파일(279-298줄)의 두 번째 역증류 방지 메커니즘은 서버 측 커넥터-텍스트 요약을 구현합니다. 활성화되면, API는 도구 호출 사이의 어시스턴트 텍스트를 버퍼링하고, 이를 요약하며, 암호화 서명과 함께 요약본을 반환합니다. 이는 API 트래픽 기록이 전체 추론 체인이 아닌 요약본만 캡처하게 된다는 의미입니다.

Ad

비밀 모드: AI임을 숨기는 AI

undercover.ts 파일은 Claude Code가 내부가 아닌 저장소에서 사용될 때 Anthropic 내부의 모든 흔적을 제거하는 모드를 구현합니다. 이 모델에게 "Capybara"나 "Tengu"와 같은 내부 코드명, 내부 Slack 채널, 저장소 이름, 또는 "Claude Code"라는 구절 자체를 언급하지 말도록 지시합니다. 15줄에는 "강제 해제 기능은 없습니다. 이는 모델 코드명 유출을 방지합니다."라고 명시되어 있습니다.

CLAUDE_CODE_UNDERCOVER=1로 강제로 켤 수는 있지만, 강제로 끄는 방법은 없습니다. 외부 빌드에서는 전체 함수가 사소한 반환문으로 데드 코드 제거됩니다. 이는 Anthropic 직원이 오픈 소스 프로젝트에서 작성한 AI 저작 커밋과 PR에 AI가 작성했다는 표시가 전혀 없을 것임을 의미합니다.

정규식을 통한 좌절감 감지

userPromptKeywords.ts 파일에는 사용자의 좌절감을 감지하는 정규식 패턴이 포함되어 있습니다: /\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|dumbass|horribl (소스에서 불완전). 이는 시스템이 키워드 매칭을 통해 좌절한 사용자를 식별하려 시도함을 시사합니다.

기타 발견 사항

  • JS 런타임 아래의 네이티브 클라이언트 증명
  • 하루 250,000건의 낭비된 API 호출
  • KAIROS: 출시되지 않은 자율 에이전트 모드

이 유출은 Anthropic이 OpenCode에 법적 위협을 가해, 서드파티 도구들이 구독 요금 대신 토큰당 요금제로 Opus에 접근하기 위해 Claude Code의 내부 API를 사용하고 있다는 이유로 내장된 Claude 인증을 제거하도록 강요한 지 불과 10일 만에 발생했습니다.

📖 전체 소스 읽기: HN AI Agents

Ad

👀 See Also