Nel continuo sviluppo di modelli sempre più avanzati da parte di Anthropic, Claude Code si è trovato al centro di una fuga di dati su GitHub. Il file locale delle impostazioni, .claude/settings.local.json, salva le conferme dei comandi approvati con “Yes, and don’t ask again”, includendo anche segreti come password e token API.
Il meccanismo che porta alla fuga
Quando Claude Code richiede il permesso di eseguire un comando di shell, l’utente può scegliere “Yes, and don’t ask again”. Questa decisione viene registrata nel file di configurazione locale e, se contiene una password o un token, questi rimangono in chiaro. Finché il file resta sulla macchina dell’utente il rischio è limitato, ma Anthropic dichiara che il file viene aggiunto all’elenco globale .gitignore per impedire la condivisione accidentale.
Il problema nasce perché l’esclusione dal .gitignore è valida solo per il repository corrente. Se il progetto viene clonato su un’altra macchina o trasformato in repository, il file può essere caricato insieme al resto del codice. Secondo i ricercatori di Apiiro, Claude Code a volte include automaticamente le modifiche al file nei commit, senza che l’utente se ne accorga.
Casi individuati su GitHub
Apiiro ha rilevato oltre 100 000 casi in cui .claude/settings.local.json è stato caricato in un repository pubblico. Di questi, circa 1 100 casi, appartenenti a 63 organizzazioni, contenevano segreti reali: token API, password di database e chiavi private.
- 215 di questi segreti non sono stati individuati da gitleaks e TruffleHog, i due secret scanner più diffusi.
- Il danno persiste anche dopo la rimozione del file, perché i segreti rimangono nella cronologia di git e nei fork del progetto.
Una segnalazione su Claude Code risale ad agosto 2025 e descriveva già problemi di aggiunta automatica al .gitignore e la possibilità che comandi sensibili finissero in file non protetti. Queste segnalazioni sono state chiuse dopo 60 giorni senza interventi concreti.
Reazioni del team di Claude Code
Boris Cherny, responsabile di Claude Code, ha commentato su Hacker News che il team sta valutando soluzioni per prevenire la diffusione dei file di configurazione. La proposta è di evitare del tutto l’inserimento di questi file nel controllo di versione e di introdurre una modalità “auto mode” basata su classificatori che gestiscono i permessi di routine senza liste di consenso manuali.
Cherny ha riconosciuto che, anche in “auto mode”, i comandi sensibili possono finire nei file, definendolo una buona segnalazione e promettendo ulteriori miglioramenti. Tra le possibili evoluzioni, il team sta considerando l’integrazione di una scansione dei segreti direttamente in Claude Code, consigliando nel frattempo di affiancare uno scanner esterno ai propri progetti.
Lezioni per gli sviluppatori
Il caso di Claude Code non è isolato. Recentemente, Meta ha sospeso la condivisione del suo agente Muse dopo che ricercatori hanno scoperto URL facilmente indovinabili. La lezione è chiara: gli agenti automatizzati possono lasciar tracce pericolose se non vengono monitorati attentamente.
Gli sviluppatori che usano Claude Code dovrebbero verificare i propri repository su GitHub e assicurarsi che il file .claude/settings.local.json non sia pubblico. Se il file è stato accidentalmente caricato, è necessario:
- Rimuoverlo dal repository.
- Modificare tutte le password e le chiavi che potrebbero essere state esposte.
- Riscrivere la cronologia di git per eliminare i dati sensibili rimasti nei commit.
Inoltre, è consigliabile configurare un secret scanner (come gitleaks o TruffleHog) in fase di CI/CD per intercettare eventuali segreti prima che vengano committati.
Conclusioni
Claude Code dimostra come funzionalità comode, come “Yes, and don’t ask again”, possano trasformarsi in vulnerabilità se non gestite correttamente. La responsabilità ricade sia sui fornitori, che devono migliorare la gestione dei file di configurazione, sia sugli sviluppatori, che devono adottare pratiche di sicurezza rigorose per proteggere credenziali e chiavi private.