Claude Code, Don’t Ask Again: migliaia di segreti in chiaro su GitHub
Apiiro trova migliaia di password e chiavi salvate in chiaro nei file di Claude Code su GitHub. Ecco come funziona e cosa fare subito.

Quando in Claude Code scegli “Yes, and don’t ask again”, il comando che hai appena approvato viene salvato in un file di impostazioni dentro il progetto. Il problema è che, se in quel comando c’è una password o un token, finisce nel file esattamente com’è, in chiaro. La società di sicurezza Apiiro ha messo insieme i numeri di questo comportamento e il quadro che ne esce è serio: migliaia di segreti presenti in repository GitHub pubblici.
In questo articolo ti spiego cosa è stato trovato, come funziona il meccanismo, perché gli scanner di segreti non bastano e quali passi concreti puoi fare oggi per metterti al riparo.
Cosa ha scoperto Apiiro su Claude Code
La ricerca, pubblicata da Apiiro e ripresa da The Hacker News, parte da un’osservazione semplice. Claude Code, per impostazione predefinita, chiede il permesso prima di eseguire la maggior parte dei comandi di shell. Se rispondi con l’opzione “non chiedere più”, la regola viene memorizzata nel file .claude/settings.local.json della cartella del progetto, così in futuro quel comando parte senza ulteriori conferme.
Fin qui la funzione è comoda e ben pensata. Il guaio nasce dal tipo di regola che viene salvata.
Pattern oppure comando esatto
La regola copre solo ciò che il prompt ti ha proposto di approvare. A volte è un pattern generico, per esempio un comando di test seguito da un asterisco. Altre volte è il comando esatto, con tutti i suoi argomenti. Se in quel comando avevi scritto una password di database, una chiave API o un token, il file conserva tutto in testo semplice.
Anche il file condiviso .claude/settings.json, quello che i team versionano di proposito, può contenere regole dello stesso tipo.
I numeri della scansione
Secondo quanto riportato, Apiiro ha trovato 104.185 copie pubbliche del file locale, distribuite su 103.617 repository. In 1.122 di queste copie compare almeno un segreto, per un totale di 1.379 segreti distinti. Aggiungendo le versioni storiche dei file e i log di chat salvati dagli agenti, il conteggio sale a 2.539 segreti in 1.994 repository.
Più di un terzo di questi segreti apre direttamente un database, con 379 password di database. Ci sono poi 43 accessi SSH a server pubblici, 42 token per GitHub, GitLab e npm e 23 chiavi AWS. Appartengono in gran parte a 63 organizzazioni, soprattutto aziende di software.
Un dettaglio che pesa: quando i ricercatori hanno controllato, ogni file con un segreto era ancora sul branch predefinito del suo repository, e in metà dei casi ci stava da almeno 217 giorni.
Perché succede: il file è escluso, ma solo in parte
Alla prima scrittura in un repository git, Claude Code aggiunge il file locale alle esclusioni globali di git della tua macchina. È una protezione utile, ma resta legata al tuo computer. Il file non viene inserito nel .gitignore del progetto, quindi la protezione non viaggia con il repository e non fa nulla per i file già finiti in un commit.
Basta un collega con una configurazione diversa, un nuovo clone o un git add -f distratto perché il file arrivi su GitHub.
Un comportamento che altri agenti non hanno
Apiiro ha confrontato la documentazione di 16 agenti di coding. Tra questi, Claude Code è l’unico per cui risulta confermato il salvataggio del comando completo approvato in un file di progetto, per impostazione predefinita. Nel campione tracciato, in 539 repository su 1.105 un commit con Claude come coautore aveva modificato il file.
Non è quindi un caso raro o un errore di pochi utenti distratti. È la conseguenza di una scelta di progettazione che si somma a un’abitudine molto diffusa: incollare le credenziali direttamente nel comando.
Perché gli scanner di segreti non bastano
Qui la questione si fa tecnica ma interessante. I ricercatori hanno passato tutte le copie in gitleaks e TruffleHog, senza verifica dei segreti. Su 1.122 file con almeno un segreto, gitleaks ne ha segnalati 564 e TruffleHog 643, mentre 215 file non sono stati segnalati da nessuno dei due.
Le mancate rilevazioni riguardano soprattutto password scritte dentro i comandi, dopo opzioni come PGPASSWORD=, sshpass -p o mysql -p. Gli scanner riconoscono bene i formati noti di chiavi, come quelli di AWS o GitHub, ma una password qualsiasi in mezzo a un comando non ha un formato riconoscibile.
Ricorda, quindi, che “ho il secret scanning attivo” non equivale a “sono al sicuro”.
La risposta di Anthropic e il contesto
Secondo i ricercatori, Anthropic non ha risposto alla loro segnalazione. Esiste una segnalazione dell’11 agosto 2025 (issue 5544 nel repository di Claude Code) che descriveva già lo stesso comportamento di memorizzazione. È stata chiusa come “not planned” da un bot automatico il 3 gennaio, dopo 60 giorni senza attività. Altre quattro segnalazioni collegate, citate da Apiiro, sono state chiuse allo stesso modo, l’ultima il giorno prima della pubblicazione dell’articolo. Questi elementi arrivano dalla ricostruzione dei ricercatori e, al momento in cui scrivo, non ho trovato una replica ufficiale dell’azienda.
Il tema si inserisce in una serie di episodi che riguardano la sicurezza degli strumenti di coding con agenti. Ne abbiamo parlato quando è emersa un’estensione di Claude Code compromessa su Cursor con una backdoor SSH, e di recente con l’infostealer che punta alle sessioni degli assistenti AI. Il filo comune è chiaro: le cartelle di configurazione degli agenti sono diventate un bersaglio e un punto debole, perché contengono contesto, permessi e, a volte, credenziali.
Più gli agenti diventano parte del lavoro quotidiano, più le loro cartelle vanno trattate come materiale sensibile.
Cosa fare subito se usi Claude Code
Se sviluppi con Claude Code, anche solo per progetti personali, ti conviene dedicare dieci minuti a questi controlli. L’ordine conta: prima si ruotano le credenziali, poi si fa pulizia.
Per sviluppatori e freelance
Cerca nei tuoi repository, e nella cronologia git, i file dentro .claude/, anche quelli cancellati in seguito. Ruota ogni password, token e chiave che quei file hanno contenuto, prima di ripulire, perché una chiave rimossa dall’ultimo commit resta leggibile nella storia.
Poi smetti di tracciare il file locale con git rm --cached .claude/settings.local.json e aggiungilo al .gitignore del repository. Apri il file sul tuo computer, anche se non l’hai mai committato, ed elimina le regole che contengono segreti.
Da oggi, evita di scrivere i segreti nei comandi: usa variabili d’ambiente o un gestore di segreti, in modo che la regola salvata contenga solo il nome della variabile, per esempio $DB_URL. Quando approvi una regola, preferisci i pattern, come Bash(npm run:*), ai comandi singoli.
Per team e aziende
Tratta le cartelle degli agenti come .claude/, .cursor/, .gemini/ e i file di memoria come contenitori di segreti, sui portatili e nei repository. Inseriscili nei controlli pre-commit e nella CI, includendo la cronologia git, e verifica che gli scanner riconoscano le password dentro i comandi. Aggiungi il file locale di Claude Code ai modelli di .gitignore dell’organizzazione e dai priorità alle credenziali abbinate a un server raggiungibile da internet, perché sono quelle che danno accesso reale.
Per ridurre alla radice il problema delle password digitate a mano, vale la pena guardare anche 1Password for Agents, che permette agli agenti AI di fare login senza password.
Cosa cambia per chi lavora con gli agenti AI
La lezione va oltre un singolo strumento. Gli agenti di coding sono comodi proprio perché ricordano ciò che hai autorizzato, e proprio per questo accumulano nel tempo informazioni delicate in file che nessuno guarda più. Una scorciatoia pensata per risparmiare qualche clic può trasformarsi in una porta aperta, se i segreti entrano nel flusso.
Va detto con equilibrio: Apiiro non ha verificato se i segreti trovati siano ancora validi, e non dice se qualcuno li abbia usati. Un’azienda avvisata ha però confermato che la sua chiave era attiva, quindi il rischio non è teorico.
Conclusioni
Se usi Claude Code, controlla oggi stesso la cartella .claude/ dei tuoi progetti, ruota le credenziali che trovi e cambia l’abitudine di scrivere password dentro i comandi. Sono pochi minuti che possono evitare un incidente costoso.
Seguici per gli aggiornamenti: se Anthropic interverrà sul comportamento del salvataggio dei permessi, lo racconteremo qui, e ti consigliamo di condividere questa guida con chi lavora con te sugli stessi repository.
Tutta l'AI della settimana, in 5 minuti, nella tua email
- Le guide e le notizie della settimana, divise per rubrica
- Solo ciò che conta, verificato e spiegato in italiano
- Niente spam, ti cancelli con un clic
Daniele Della Corte
Fondatore di IntelligenzaArtificiale.net · Consulente SEO e AI dal 2008
Prima della pubblicazione controlla fonti, numeri e nomi, e risponde personalmente di quello che leggi. Lavora con l'intelligenza artificiale da oltre 7 anni: ha fondato BeProud.ai e ha progettato la redazione di questo sito.
Consulenza AIVuoi applicare l'AI al tuo lavoro? Ti aiuto a scegliere cosa automatizzare e a realizzarlo.
Scopri la consulenza
