19 पॉइंट द्वारा GN⁺ 2026-04-01 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 को बाहर ले आया”

3 टिप्पणियां

 
kaydash 2026-04-03

समझदार है

 
bbulbum 2026-04-01

अगर यह AI से commit करते समय हुई समस्या थी तो...?!

 
GN⁺ 2026-04-01
Hacker News की राय
  • कई टिप्पणियाँ “Undercover mode” को सिर्फ़ internal जानकारी छिपाने वाली सुविधा समझ रही हैं
    लेकिन असली prompt में साफ़ लिखा है कि commit message या PR description में “Claude Code” या AI का उल्लेख बिल्कुल न करें
    यानी यह इंसान की तरह व्यवहार करते हुए अपनी पहचान छिपाने वाली सुविधा जैसा दिखता है
    खासकर public repository में योगदान देते समय ऐसे निर्देश लागू होना चिंताजनक है
    संबंधित code link

    • जब भी Claude commit co-author के रूप में दिखता है, मुझे शर्मिंदगी महसूस होती है
      Git history का काम जवाबदेही और ownership track करना है, tools की सूची दर्ज करना नहीं
      तो फिर क्या मुझे भी अपने PR में linter या IDE को co-author बनाना चाहिए?
    • लगता है मेरी तरह कुछ लोगों ने पहले ही CLAUDE.md फ़ाइल में ऐसे निर्देश जोड़ दिए होंगे
      असल में यह एक मामूली config line से हल हो सकने वाली बात है
    • यह इंसान होने का नाटक करने की कोशिश से ज़्यादा, code quality खराब होने पर Claude का मज़ाक न बने इस मकसद जैसा लगता है
      आख़िरकार ज़िम्मेदारी तो human developer की ही रहती है
    • code का लक्ष्य जानकारी के leak को रोकना है, लेकिन असली implementation उससे ज़्यादा व्यापक है
      शायद लक्ष्य हासिल करने के लिए जानबूझकर इसे broad रखा गया, या कोई छिपा इरादा भी हो सकता है
      फिर भी “इंसान होने का नाटक” मान लेने से बेहतर है इसे “human developer की तरह लिखो” के रूप में पढ़ना
      जितने skeptical हों, उतना ही facts के आधार पर आलोचना करना ज़्यादा persuasive होता है
    • मैंने भी PR में “coauthored by Claude Code” वाली पंक्ति देखी है
      सच कहूँ तो मुझे ऐसी चीज़ नहीं चाहिए
  • हाल की लगातार Mythos leaks और Claude Code का पूरा codebase उजागर होने से भरोसे का मुद्दा बड़ा हो रहा है
    हर घटना अलग से दिलचस्प है, लेकिन लगातार होने पर यह एक pattern जैसा लगता है
    आख़िरकार बात इस सवाल तक पहुँचती है: “क्या ऐसे tool पर codebase में लगातार भरोसा किया जा सकता है?”

    • मुझे लगता है यह चिंता कुछ ज़्यादा है
      मैं अब भी 140 डॉलर देकर CC इस्तेमाल कर रहा हूँ
      उल्टा, मुझे लगता है ऐसे leak Anthropic के ethical model से जुड़े हैं — जैसे कंपनी असफलताओं से सीखते हुए बढ़ रही हो
    • मुझे नहीं लगता इसका बड़ा असर होगा
      असली value code में नहीं, model access में है
      codebase बिखरा हुआ है, लेकिन subscription-based model access अब भी आकर्षक है, इसलिए मैं रोज़ Claude Code इस्तेमाल करता हूँ
    • सच कहूँ तो Claude खुद ही vibe coded slop जैसा लगता है
      web UI और CC में बहुत सारी छोटी-छोटी गड़बड़ियाँ हैं
      tmux control docs के मुताबिक काम नहीं करता, और session cleanup भी नहीं होता
      फिर भी यह मुझे अब भी पसंद है — थोड़ा बेतरतीब, लेकिन आकर्षक
  • मेरे GitHub पर anthropics/claude-code fork को DMCA के तहत हटा दिया गया
    जबकि उसमें leaked code शामिल भी नहीं था, फिर भी पूरा network (8.1K repositories) एक साथ block कर दिया गया
    DMCA notice link
    Anthropic का यह सोचना कि घंटी बजाकर उसे फिर रोक भी सकते हैं, मूर्खता है

    • वैसे भी lawyer fees तो लग ही रही होंगी, इसलिए यह बस legal team का इस्तेमाल करने जैसा है
      leak को वापस नहीं लिया जा सकता, इसलिए बेहतर है इसे product roadmap का हिस्सा मान लिया जाए
  • यह देखकर हैरानी हुई कि जिन चीज़ों को पहले कंपनियाँ trade secret कहती थीं, वे source में जस की तस लिखी हुई हैं
    comments में business context तक दर्ज है
    उदाहरण: “दिन में 250,000 API calls की बर्बादी” जैसी operational जानकारी सीधे exposed है

    • comments असल में agent coding की मुख्य hack हैं
      agents documentation से ज़्यादा comments पढ़ते हैं, इसलिए उन्हें long-term memory की तरह इस्तेमाल किया जा सकता है
    • ज़्यादातर बड़े private codebase भी ऐसे ही होते हैं
      बस Anthropic ने नहीं सोचा था कि यह leak हो जाएगा
    • यह config के कारण समझाने वाला अच्छा comment है
      competitor के नज़रिए से यह बहुत मूल्यवान जानकारी नहीं है
    • code में जितनी हो सके उतनी जानकारी रखना practical है
      वैसे भी शायद leak की उम्मीद नहीं की गई थी
    • हर context को code के भीतर डाल देना agent-friendly design की अंतिम अवस्था जैसा लगता है
      फिर अलग documentation की ज़रूरत ही नहीं रहती
  • कुछ features process.env.USER_TYPE === 'ant' शर्त के पीछे locked हैं
    यानी Anthropic कर्मचारियों के लिए निर्देश ज़्यादा सख़्त और ज़्यादा साफ़गोई वाले हैं — दिलचस्प संरचना

  • HN का मूल पोस्ट पहले ही लोकप्रिय है, तो फिर अलग से HN comments summary blog डालने की ज़रूरत क्या है — इस पर सवाल उठे

    • उस blog में AI द्वारा आंशिक रूप से लिखे जाने के संकेत दिखते हैं
    • कुछ लोगों का मानना है कि मूल पोस्ट बिखरा हुआ था, इसलिए summary ज़रूरी थी
    • HN culture में self-referential होने की प्रवृत्ति है
  • मुझे अब भी Claude Code बेहतरीन लगता है
    OpenAI या Gemini पर जाने की कोई वजह नहीं दिखती

    • मैं Claude Code से निराश होकर Codex पर switch कर गया, और web·mobile development में यह लगभग उतना ही अच्छा काम करता है
  • “Undercover mode” नाम और “Claude Code का ज़िक्र मना है” जैसी पंक्तियाँ डरावनी लगती हैं, लेकिन असली code देखने पर ज़्यादा लगता है कि मकसद internal codename की सुरक्षा है
    source link

    • codename की सुरक्षा समझ में आती है, लेकिन AI-generated होने के निशान मिटाना अलग बात है
      यह काफ़ी महत्वपूर्ण बदलाव जैसा लगता है
    • “commit message को human developer की तरह लिखो” वाली पंक्ति ही मुख्य है
    • “BAD example” में Claude से जुड़ी पंक्तियों पर रोक देखकर इरादा साफ़ AI exposure रोकने का लगता है
    • शायद developers कंपनी projects में AI इस्तेमाल को नज़र में आए बिना रखना चाहते हैं
    • open source contribution में Claude अपने-आप अपनी पहचान उजागर न करे, शायद यह उसी तरह design किया गया है
  • “Anti-distillation: fake tools डालकर copying रोकना” वाला विचार दिलचस्प है
    अगर चीनी competitors सच में उन fake tools को implement कर दें, तो वह मज़ेदार पलटवार होगा

    • लगता है जल्द ही zAI, Qwen, Minimax CC जैसे clone versions आ जाएँगे
      आजकल models से ज़्यादा data और inference cost ही competition का बिंदु लगते हैं
      इस विषय पर और बात करना चाहूँगा
    • यह पूरी distillation बहस ही खोखली लगती है
      क्योंकि ये कंपनियाँ खुद भी दूसरों के data का इस्तेमाल करके ही साम्राज्य खड़ा कर चुकी हैं
    • सच तो यह है कि दोनों पक्ष एक-दूसरे को distill (copy) कर रहे हैं
      quality ठहरी हुई है, और असली फ़र्क tooling की परिपक्वता में है
      इस leak से वह gap कम हो सकता है
    • fake tools बस regex से फ़िल्टर किए जा सकने वाले decoy भर हैं
      आजकल distillation खुद भी कम होता दिख रहा है
    • “हमने दूसरों का copyrighted work लिया, लेकिन तुम हमारा मत लो” वाली विडंबनापूर्ण मानसिकता हँसी दिलाती है
  • मैंने अपनी बनाई हुई visual guide साझा की है
    ccunpacked.dev