Claurst — Claude Code의 Rust 클린룸 재구현
“Your Favorite Terminal Coding Agent, now in Rust”. Claude Code 소스코드 유출을 바탕으로 clean-room 방식으로 Rust 재구현. 100% 커버리지 완료. 추적 없음, 실험적 기능 잠금 해제. 8K★, 7.5K 포크.
배경: Claude Code 소스코드 유출 사건
- 2026년 3월 31일: Chaofan Shou가 X에서 발견
- Claude Code npm 패키지에 sourcemap 파일 (
.map) 이 포함되어 있었음 .map파일의sourcesContent배열에 전체 소스코드가 원문 그대로 포함- Bun 번들러가 기본으로 sourcemap 생성 (명시적으로 끄지 않으면 포함)
.npmignore에*.map미추가가 원인- Anthropic은 “Undercover Mode”라는 내부 정보 유출 방지 시스템을 갖추고 있었으나, Claude 자체가 전체 소스를
.map에 넣어 배포
Claurst: Clean-Room Rust 재구현
법적 접근 (Clean-Room Engineering)
Phoenix Technologies v. IBM (1984) BIOS 클린룸 엔지니어링 판례와 Baker v. Selden (1879) 저작권 원칙(표현 보호, 아이디어/행동 미보호)에 기반.
2단계 프로세스:
- Specification (
spec/): AI 에이전트가 소스를 분석하여 행동 명세 산출 (아키텍처, 데이터 플로우, 도구 계약, 시스템 설계). 원본 소스코드는 전달하지 않음 - Implementation (
src-rust/): 별도 AI 에이전트가 명세만으로 Rust 구현. 원본 TypeScript를 참조하지 않음
현재 상태
- 100% 커버리지 완료
- 원본보다 메모리 효율적
- 추적(telemetry) 없음
- 실험적 기능 잠금 해제
- 개발자가 Claurst로 Claurst를 개발 중 (<2일 만에 자기 자신으로 자신을 구축)
- 멀티 프로바이더 지원 대규모 개정 진행 중
Claude Code 내부 구조 (소스코드 분석)
핵심 아키텍처
- 785KB
main.tsx엔트리 포인트 - 커스텀 React 터미널 렌더러
- 40개 이상 도구
- 멀티 에이전트 오케스트레이션 시스템
- 백그라운드 메모리 통합 엔진 (“dream”)
발견된 흥미로운 기능들
BUDDY — 터미널 속 타마고치
- 완전한 타마고치 스타일 반려동물 시스템
- 결정론적 가챠 시스템: Mulberry32 PRNG로
userId해시 +'friend-2026-401'솔트에서 종 결정 - 18종 종족 (코드에서 난독화), 희귀도, 샤이니 변종, 절차적 스탯, Claude가 작성한 영혼 설명
BUDDY컴파일 타임 피처 플래그로 게이트
Undercover Mode — 내부 정보 유출 방지
- Claude가 git 커밋에 Anthropic 내부 코드네임을 실수로 노출하는 것을 방지하는 서브시스템
- 소스코드 자체는 npm에 전체 노출 (아이러니)
Dream — 메모리 통합 엔진
- 백그라운드에서 대화 기록을 정리/통합하는 메모리 시스템
프로젝트 구조
claurst/
├── public/ # 스크린샷, 이미지
├── spec/ # 행동 명세 (Clean-Room 1단계)
├── src-rust/ # Rust 구현 (Clean-Room 2단계)
│ └── crates/
│ └── cli/src/main.rs
├── LICENSE.md # GPL-3.0
└── README.md # 이 분석 포함
비교: Claude Code vs Claurst vs 기타
| 항목 | Claude Code | Claurst | Claw Code Parity |
|---|---|---|---|
| 언어 | TypeScript | Rust | TypeScript |
| 라이선스 | 사유 | GPL-3.0 | MIT |
| 추적 | O | X | X |
| 실험적 기능 | 잠김 | 해제 | — |
| 프로바이더 | Anthropic만 | 멀티 (진행중) | — |
| 접근 방식 | — | Clean-Room | 리버스 엔지니어링 |
라이선스
GPL-3.0
관련 링크
- GitHub: https://github.com/Kuberwastaken/claurst
- Blog: https://kuber.studio/blog/AI/Claude-Code’s-Entire-Source-Code-Got-Leaked-via-a-Sourcemap-in-npm,-Let’s-Talk-About-it
- X: https://x.com/kuberwastaken