- Anthropic ने npm package को source maps के साथ publish कर दिया, जिससे Claude Code का पूरा code सार्वजनिक हो गया और उसके internal features व experimental flags सब सामने आ गए
- code में model imitation रोकने के लिए fake tool injection (anti-distillation), AI पहचान छिपाने वाला undercover mode, और गाली/हताशा पहचानने वाला frustration regex जैसी चीज़ें शामिल थीं
- native client attestation और DRM-स्तर के hash verification की संरचना मौजूद है, जिसे unofficial tools की API access रोकने के लिए design किया गया है
- internal comments में हर दिन 2.5 लाख failed API calls, अधूरा KAIROS autonomous agent mode, और Tamagotchi-शैली companion system जैसी कई experimental features भी दिखीं
- यह लीक Anthropic के core product architecture और roadmap के उजागर होने का मामला है, और इसकी वजह Bun runtime का source map bug हो सकता है
source map leak से सामने आई Claude Code की अंदरूनी संरचना
- Anthropic ने npm package को source maps के साथ publish किया, जिससे Claude Code का पूरा source सार्वजनिक हो गया
- package बाद में हटा दिया गया, लेकिन code कई जगह mirror होकर analysis का विषय बन गया
- यह एक हफ्ते के भीतर दूसरी leak घटना है; इससे पहले model spec document भी उजागर हुआ था
- यह हाल ही में Anthropic द्वारा third-party tools के internal API usage को कानूनी रूप से block करने के तुरंत बाद हुआ
-
Anti-distillation: imitation रोकने के लिए fake tools inject करना
claude.ts में ANTI_DISTILLATION_CC flag मौजूद है, जो active होने पर API request में anti_distillation: ['fake_tools'] जोड़कर system prompt में fake tool definitions inject करता है
- इसका उद्देश्य API traffic capture करके model की नकल करने की कोशिशों को pollute करना है
- यह केवल GrowthBook flag
tengu_anti_distill_fake_tool_injection चालू होने वाली पहली CLI session में काम करता है
betas.ts में दूसरे mechanism के रूप में summary-आधारित server-side protection मौजूद है
- tool calls के बीच के text को summarize करके cryptographic signature के साथ लौटाया जाता है, और बाद में restore किया जा सकता है
- इससे बाहर से traffic record करने पर भी पूरा reasoning process दिखाई नहीं देता
- इस feature के लिए कई शर्तें एक साथ पूरी होनी चाहिए, और MITM proxy से fields हटाने पर इसे निष्क्रिय किया जा सकता है
- environment variable
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS से इसे disable किया जा सकता है
USER_TYPE === 'ant' शर्त के कारण यह Anthropic के internal users तक सीमित है
- व्यवहार में यह रक्षा तकनीकी उपाय से अधिक कानूनी प्रतिबंध जैसी लगती है
-
Undercover mode: AI पहचान छिपाने वाला mode
undercover.ts बाहरी repository में इस्तेमाल होने पर Anthropic के internal code names, Slack channels, और “Claude Code” शब्द हटा देता है
"There is NO force-OFF" वाक्य से पता चलता है कि इसे disable नहीं किया जा सकता
- environment variable
CLAUDE_CODE_UNDERCOVER=1 से इसे force-enable किया जा सकता है
- external builds में function को निरर्थक return के साथ हटा दिया जाता है, इसलिए इसकी संरचना एकतरफ़ा है
- इससे Anthropic कर्मचारी जब open source में योगदान करते हैं, तो AI द्वारा लिखे जाने का संकेत नहीं दिखता
- internal information छिपाने का उद्देश्य समझ में आता है, लेकिन इसका असर AI को इंसान की तरह छिपाने जैसा होता है
-
Frustration regex: गाली/हताशा पहचानने वाला regex
userPromptKeywords.ts में user की नाराज़गी और गाली पहचानने वाले regex patterns शामिल हैं
- “wtf”, “this sucks”, “fuck you” जैसी कई expressions detect की जाती हैं
- यह दिखाता है कि LLM companies emotion analysis के लिए regex भी इस्तेमाल करती हैं,
- क्योंकि LLM call की तुलना में यह cost और speed दोनों में अधिक efficient है
-
Native client attestation: JS runtime के नीचे client authentication
system.ts में API request के समय cch=00000 placeholder शामिल होता है,
- जिसे Bun का Zig-आधारित native HTTP stack hash से replace करता है
- server इस hash को verify करके official Claude Code binary होने की पुष्टि करता है
- यह OpenCode कानूनी विवाद का तकनीकी आधार भी है,
- क्योंकि इससे third-party tools को API सीधे call करने से रोकने के लिए DRM-स्तर का verification किया जाता है
- हालांकि, अगर
NATIVE_CLIENT_ATTESTATION flag बंद हो
- या
CLAUDE_CODE_ATTRIBUTION_HEADER disable हो, तो यह काम नहीं करता
- Zig hash replacement सिर्फ official Bun binary में काम करता है; Node environment में यह बेअसर है
- server गलत hash को reject करता है या नहीं, यह स्पष्ट नहीं है,
- और
_parse_cc_header के बारे में टिप्पणी कहती है कि यह “unknown extra fields” को अनुमति देता है
-
2.5 लाख बर्बाद API calls
autoCompact.ts की टिप्पणी के अनुसार,
- हर दिन लगभग 2.5 लाख API calls failed loop में बर्बाद हो रही थीं
- 1,279 sessions में 50 से अधिक लगातार failures थीं, और अधिकतम 3,272 तक पहुँचीं
- fix सिर्फ 3 lines का था:
MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3 सेट करने पर
- 3 लगातार failures के बाद auto-compact feature disable हो जाता है
-
KAIROS: अप्रकाशित autonomous agent mode
- पूरे code में
KAIROS नाम का feature-gated mode मौजूद है
main.tsx के आधार पर इसे autonomous agent feature माना जा रहा है
- इसमें
/dream skill (रात की memory distillation), GitHub webhook, background daemon, और 5-minute cron refresh शामिल हैं
- implementation अधूरी है, लेकिन हमेशा चलने वाले background agent पर आधारित संरचना तैयार दिखती है
-
अन्य खोजें
- April Fools easter egg:
buddy/companion.ts में Tamagotchi-स्टाइल companion system मौजूद है
- 18 तरह के जीव, rarity, RPG stats, और 1% chance वाला ‘shiny’ version शामिल है
- यह user ID-आधारित PRNG से तय होता है, और string encoding से build checks से बचता है
- terminal rendering engine (
ink/screen.ts, ink/optimizer.ts)
Int32Array-आधारित ASCII buffer, bitmask-style metadata, और 50x performance boost cache लागू करता है
- security checks (
bashSecurity.ts) 23 चरणों में बनी हैं
- Zsh built-in commands block करना,
=curl bypass रोकना, Unicode zero-width और null-byte injection रोकना आदि शामिल हैं
- यह Zsh-विशेष threat model वाला दुर्लभ उदाहरण है
- prompt cache management (
promptCacheBreakDetection.ts)
- 14 प्रकार के cache-break vectors track करता है, और mode switch के समय cache बनाए रखने के लिए ‘sticky latch’ इस्तेमाल करता है
- इसमें
DANGEROUS_uncachedSystemPromptSection() टिप्पणी भी मौजूद है
- यह token cost कम करने पर केंद्रित design philosophy दिखाता है
- multi-agent coordinator (
coordinatorMode.ts)
- code की जगह prompt-आधारित orchestration algorithm इस्तेमाल करता है
- इसमें “कमज़ोर task approval नहीं”, “समझे बिना delegation नहीं” जैसी guidelines शामिल हैं
- code quality issues भी मौजूद हैं
print.ts 5,594 lines लंबी है, और एक single function 3,167 lines की है
- HTTP requests के लिए Axios इस्तेमाल हुआ है, जो हालिया npm malicious version incident के समय से मेल खाता है
-
महत्व और असर
- Google Gemini CLI या OpenAI Codex के public SDK के विपरीत,
- यह leak Anthropic के core product की पूरी internal structure उजागर होने का मामला है
- सबसे बड़ा नुकसान code से अधिक Feature Flags और roadmap के उजागर होने का है
- KAIROS, Anti-distillation जैसी strategic features competitors के सामने आ गईं
- Anthropic ने पिछले साल Bun का अधिग्रहण किया था, और Claude Code Bun पर चलता है
- Bun का source map bug (
oven-sh/bun#28001) इसकी वजह हो सकता है
- production mode में भी source maps expose होने की यह समस्या अभी unresolved है
- नतीजतन, Anthropic ने अपने ही toolchain bug से अपना ही product leak कर दिया
- जैसा एक Twitter प्रतिक्रिया में कहा गया: “AI द्वारा लिखे code को deploy करते समय, AI द्वारा बनाया गया bug उस code को बाहर ले आया”
अभी कोई टिप्पणी नहीं है.