Claude Code Leak: il codice sorgente di Anthropic esposto su npm — tutto quello che non dovevi sapere
Il 31 marzo 2026 non è stato un pesce d’aprile anticipato. È stato qualcosa di più reale, più imbarazzante e tecnicamente molto più interessante: Anthropic ha accidentalmente pubblicato il codice sorgente completo di Claude Code — il suo assistente AI per sviluppatori — all’interno di un aggiornamento ordinario su npm. Un file .map di sourcemap, dimenticato nel bundle di produzione della versione 2.1.88 del pacchetto @anthropic-ai/claude-code, ha aperto una finestra su oltre 512.000 righe di TypeScript che nessuno avrebbe dovuto vedere. Entro poche ore, il codice era già stato analizzato, replicato su GitHub, portato in Python e caricato su server decentralizzati. Quel che era uno strumento proprietario da 2,5 miliardi di dollari di ARR annuale era diventato il libro aperto più discusso nel mondo dell’AI.
Cosa c’era dentro? Molto più di quanto Anthropic avrebbe mai voluto rivelare.
• 31 marzo 2026: file sourcemap .map incluso per errore in npm — 512.000+ righe di TypeScript esposte
• Nessun dato utente compromesso — solo codice lato client della CLI, confermato da Anthropic
• KAIROS: agente autonomo proattivo nascosto, operativo 24/7 senza input dell’utente
• Undercover Mode: Claude Code contribuisce a repository open source senza rivelare la propria identità
• Anti-distillation: Anthropic inietta tool fasulli per avvelenare i dati di training dei competitor
Come è successo: l’errore di packaging che ha cambiato tutto
Anthropic ha confermato l’accaduto tramite un comunicato ufficiale: la release di Claude Code aveva incluso del codice sorgente interno per un problema di packaging causato da errore umano, non da una violazione della sicurezza, e nessun dato sensibile dei clienti o credenziali è stato coinvolto. Boris Cherny, ingegnere di Claude Code in Anthropic, ha aggiunto pubblicamente: “Gli errori accadono. Come team, la cosa importante è riconoscere che non è mai colpa di un individuo. È il processo, la cultura o l’infrastruttura.”
Il fix tecnico sarebbe stato banale: una sola riga in tsconfig.json — "sourceMap": false — o un controllo nel CI prima del publish avrebbe evitato tutto. Il fatto che il problema si sia ripetuto (un primo leak simile era già avvenuto a giugno 2025) indica che il problema non era nel codice, ma nel processo. Chaofan Shou (@Fried_rice) fu il primo a notarlo e pubblicò un link diretto al sorgente: in pochi minuti la corsa era iniziata.
Cosa c’era dentro: l’architettura reale di Claude Code
Claude Code non è un semplice wrapper attorno a un’API. È un’applicazione completa con UI nel terminale, sistema di plugin, gestione permessi, memoria persistente e orchestrazione multi-agente. Lo stack è modulare: circa 55 directory nella root src/, con il file principale main.tsx che pesa 800 KB. I tool che Claude usa — Bash, Read, Edit, Grep, Glob, Write, Agent — sono definiti ciascuno nella propria directory, con schema JSON, validazione e logica di permessi.
Tra gli elementi più rilevanti emerge un sistema di multi-agent orchestration: un agente principale suddivide un obiettivo in sotto-attività assegnate a worker specializzati. La comunicazione avviene tramite bus di messaggi e memoria condivisa, mentre uno scheduler interno gestisce le dipendenze tra task utilizzando logiche simili a grafi aciclici diretti (DAG).
Il sistema di permessi e sicurezza
Il sistema di permessi include quattro modalità:
- default — prompt interattivi all’utente per ogni operazione sensibile
- auto — approvazione automatica via classifier ML basato su trascrizione
- bypass — skip dei controlli di sicurezza
- yolo — nega tutto (nome ironico)
Ogni azione dei tool è classificata come rischio LOW, MEDIUM o HIGH. I file protetti da editing automatico includono .gitconfig, .bashrc, .zshrc, .mcp.json e .claude.json. Il sistema gestisce anche path traversal prevention: URL-encoded traversals, attacchi Unicode normalization, backslash injection e manipolazione case-insensitive dei path — tutto gestito internamente.
KAIROS: l’agente autonomo che Anthropic non aveva ancora annunciato
Questa è probabilmente la rivelazione più significativa dell’intero leak. Nascosto dietro feature flag chiamati PROACTIVE e KAIROS, il codebase contiene una modalità agente completamente costruita e mai annunciata pubblicamente. KAIROS opera in background, 24/7, senza che tu lo attivi. Ogni pochi secondi riceve un heartbeat prompt: “anything worth doing right now?” Valuta la situazione e decide: agire o restare in silenzio.
Se agisce, può correggere errori, rispondere a messaggi, aggiornare file, eseguire task — tutto ciò che Claude Code già fa, ma senza che tu lo abbia iniziato. KAIROS dispone di tre tool esclusivi non disponibili al Claude Code normale:
- Push notification per raggiungerti su telefono o desktop anche quando il terminale è chiuso
- File delivery per inviarti file creati autonomamente senza che tu li abbia richiesti
- Pull request subscription per monitorare il tuo GitHub e reagire ai cambiamenti del codice in autonomia
Di notte esegue un processo che il codice chiama letteralmente autoDream, in cui consolida quanto appreso durante il giorno e riorganizza la memoria persistente tra sessioni. Chiudi il laptop venerdì: KAIROS ha lavorato per tutto il weekend. ULTRAPLAN è un’altra modalità nascosta: Claude Code scarica un task di pianificazione complesso su una sessione remota Cloud Container Runtime che esegue Opus 4.6, gli concede fino a 30 minuti per elaborare il piano, e ti permette di approvare il risultato dal browser.
Undercover Mode: Anthropic contribuiva all’open source senza dirlo
Una porzione del codice identificata come undercover mode — contenuta nel file undercover.ts, 90 righe — impone all’assistente di evitare qualsiasi riferimento interno quando opera su repository esterni. Il modello non deve citare nomi in codice, strumenti aziendali e nemmeno il proprio nome. Il dettaglio progettuale critico: non esiste un force-OFF. È una porta a senso unico. Claude Code operativo in repository esterni non può fare riferimento ai canali Slack interni, ai codename dei modelli, o persino definire se stesso “Claude Code”.
La conseguenza pratica è che i contributi AI nei progetti open source non contengono indicatori espliciti della loro origine — una scelta che solleva interrogativi seri sulla tracciabilità e sull’attribuzione del codice in ambienti collaborativi dove l’attribuzione ha implicazioni legali e di sicurezza.
Anti-Distillation: avvelenare i competitor dal training
Claude Code invia richieste con flag anti_distillation: [‘fake_tools’] che iniettano definizioni di tool fasulli nei system prompt. L’obiettivo è avvelenare i dati di training per qualsiasi competitor che tenti di distillare il comportamento di Claude Code nel proprio modello. La distillazione è il processo con cui un modello più piccolo impara a imitare un modello più grande: rendere questo processo inaffidabile è un vantaggio competitivo concreto.
Esiste un secondo livello tramite CONNECTOR_TEXT: un meccanismo server-side che fa il buffer del testo dell’assistente tra le chiamate ai tool, lo sintetizza con firme crittografiche, e restituisce solo quei riassunti ai registratori di traffico API. Anche se un competitor intercetta il traffico API, ottiene solo riassunti, non le catene di ragionamento complete. La protezione reale rimane però più legale che tecnica: un team determinato potrebbe aggirare entrambi i meccanismi in meno di un’ora con un MITM proxy.
DRM sotto il layer JavaScript: attestazione in Zig
Le richieste API contengono valori placeholder (cch=ed1b0) che il native HTTP stack di Bun, scritto in Zig, sovrascrive con hash calcolati prima della trasmissione. Questo prova crittograficamente che una richiesta proviene da un binario genuino di Claude Code piuttosto che da uno strumento di terze parti. Il motivo per cui questo risiede in Zig piuttosto che in JavaScript è deliberato: il codice JavaScript può essere patchato, monkey-patchato o proxato a runtime; il codice Zig compilato nel binario di Bun non può essere ispezionato o sovrascritto senza ricompilare da sorgente. È probabilmente per questo che strumenti come OpenCode hanno incontrato frizione con Anthropic al di là delle sole notice legali.
I codename interni e gli easter egg
Il codebase è pieno di codename che non erano mai destinati a diventare pubblici:
- Capybara (anche Mythos) — già alla versione 8, context da 1M token, fast mode incluso
- Numbat — modello in arrivo con finestra di lancio codificata nel sorgente
- Fennec — speculato da più ricercatori come Opus 4.6
- Tengu — citato nell’undercover mode, strippato dai build per repository esterni
Tra gli easter egg più curiosi: /good-claude è un comando nascosto disabilitato — il nome suggerisce fosse un modo per dare feedback positivo al modello. /stickers apre lo store Sticker Mule con il merchandise di Claude Code. /thinkback sarebbe stato il “Spotify Wrapped” di Claude Code per il 2025. /teleport permette di trasferire sessioni tra web e terminale via OAuth e WebSocket. I messaggi di caricamento includono spinner verb come “Hatching” e “Whatchamacalliting”.
Le conseguenze legali e il caos su GitHub
Il fork più popolare è stato claw-code su GitHub, che ha clonato il repo e portato il codice in Python da zero — usando OpenAI Codex — per evitare problemi legali. La teoria è che una riscrittura clean-room via AI non possa essere toccata dal DMCA. Al momento della scrittura, claw-code conta oltre 75.000 star e 75.000 fork. Anthropic ha già inviato richieste DMCA per i fork diretti del sorgente, mentre i fork riscritti da zero sono ancora online — in un territorio legale completamente inesplorato. Una versione priva di telemetria, guardrail di sicurezza e con tutte le funzioni sperimentali sbloccate è stata caricata su IPFS, dove le DMCA notice raggiungono con difficoltà estrema.
Dal punto di vista industriale, questo leak è una mappa dettagliata di come Anthropic sta costruendo agenti, sistemi di orchestrazione, pipeline di sicurezza e integrazioni con GitHub e servizi cloud. Chi sviluppa prodotti concorrenti può ora osservare scelte architetturali che normalmente avrebbero richiesto mesi di reverse engineering.
⚠ Attenzione supply-chain attack concomitante
Nelle stesse ore del leak è stato rilevato un attacco al pacchetto npm axios (versioni 1.14.1 e 0.30.4) contenente un Remote Access Trojan. Chi ha installato o aggiornato Claude Code via npm il 31 marzo 2026 tra le 00:21 e le 03:29 UTC deve verificare i propri lockfile (package-lock.json, yarn.lock, bun.lockb) per la presenza di queste versioni o della dipendenza plain-crypto-js.
🎬 Vuoi approfondire questo argomento?
Ho realizzato un video dedicato su YouTube @tuttelevitediunmaker dove analizzo il leak di Claude Code in modo pratico e visivo — dalle funzioni nascoste all’architettura multi-agente, fino alle implicazioni per la cybersecurity e il mondo open source. Se vuoi supportare questo progetto e accedere a contenuti esclusivi, trovi tutto su Patreon.
#tuttelevitediunmaker
FAQ — Domande Frequenti
Il leak di Claude Code ha esposto dati personali degli utenti?
No. Il materiale trapelato riguarda quasi esclusivamente il codice lato client della CLI di Claude Code — la parte che gira sulle macchine locali degli sviluppatori — non il cuore del modello di linguaggio o i database interni delle conversazioni. Anthropic ha confermato che nessun dato sensibile dei clienti è stato esposto.
Come è avvenuto tecnicamente il leak di Claude Code?
Anthropic ha accidentalmente incluso un file sourcemap .map in un aggiornamento del pacchetto npm di Claude Code. Si è trattato di un errore umano nella fase di packaging, non di un attacco informatico. Il fix tecnico richiederebbe una sola riga di configurazione nel processo di build: disabilitare la generazione di sourcemap in produzione.
Cos’è KAIROS in Claude Code?
KAIROS è una modalità agente autonoma non ancora annunciata, nascosta dietro feature flag nel codebase. Opera in background 24/7, riceve heartbeat prompt periodici per decidere autonomamente se agire, dispone di tool esclusivi come push notification e pull request subscription, e di notte consolida la memoria tramite un processo chiamato autoDream.
L’undercover mode di Claude Code è un problema di trasparenza?
Sì. La funzione impone all’assistente di non rivelare la propria identità quando opera su repository esterni, senza possibilità di disattivazione. Questo significa che i contributi AI nei progetti open source non contengono indicatori della loro origine, con implicazioni legali e di attribuzione ancora da chiarire a livello normativo.
Il fork open source claw-code è legale?
La questione legale rimane irrisolta. La teoria è che una riscrittura clean-room via AI non violi il copyright, ma questa pratica non è mai stata testata in tribunale. Anthropic ha già inviato DMCA notice per i fork diretti del sorgente, ma i fork riscritti da zero rimangono online in un territorio legale completamente nuovo.
C’era un rischio cybersecurity concomitante al leak?
Sì. Nelle stesse ore è stato rilevato un attacco supply-chain al pacchetto npm axios contenente un Remote Access Trojan nelle versioni 1.14.1 e 0.30.4. Chi ha aggiornato Claude Code via npm il 31 marzo 2026 tra le 00:21 e le 03:29 UTC dovrebbe verificare immediatamente i propri file di lock alla ricerca di queste versioni o della dipendenza plain-crypto-js.
Conclusione
Il leak di Claude Code è una di quelle rare finestre che si aprono per errore sull’ingegneria reale di un prodotto AI di fascia alta. Ci ha mostrato un’architettura molto più complessa di quanto comunicato pubblicamente: agenti autonomi nascosti, sistemi anti-distillazione, DRM a livello binario, undercover mode e una roadmap di funzionalità che ridefiniscono cosa significa un “assistente AI per sviluppatori”. Le implicazioni — tecniche, legali, etiche — saranno discusse per i prossimi mesi. Nel frattempo, il codice circola già su server decentralizzati che nessuna DMCA notice può raggiungere facilmente.
Seguimi su YouTube @tuttelevitediunmaker per approfondire questi temi con analisi pratiche e aggiornamenti costanti.
#tuttelevitediunmaker

