L'adozione di agenti AI sta crescendo rapidamente, permettendo la creazione di nuovi strumenti e software a un ritmo senza precedenti. Tuttavia, questa accelerazione introduce anche nuovi rischi per la sicurezza, in particolare riguardo alle chiavi API e ad altre credenziali sensibili.
Ogni connessione che queste applicazioni richiedono è basata su una credenziale, spesso sotto forma di chiave API. Queste chiavi vengono esposte ogni volta che vengono toccate dall'AI, in modi che potrebbero non essere immediatamente evidenti.
Un agente di codifica può leggere un file di configurazione locale, eseguire un comando o chiamare un server Model Context Protocol (MCP). Qualsiasi di queste azioni può inserire una credenziale nel contesto inviato a un modello linguistico di grandi dimensioni (LLM).
Cosa hanno scoperto i ricercatori dagli output degli LLM
I ricercatori hanno recuperato stringhe di credenziali reali da tre LLM a scatola nera. Tutti e tre hanno esposto un segreto. Qwen3-27B ha restituito due chiavi DeepSeek e una chiave Google. GPT-Codex 5.3 ha restituito una chiave DeepSeek. Claude Haiku 4.5 ha restituito due chiavi DeepSeek.
Successivamente, hanno cercato su GitHub ogni credenziale completa e hanno trovato una corrispondenza pubblica ogni volta. Questo sostiene la conclusione che i modelli abbiano riprodotto segreti tracciati reali piuttosto che generare stringhe che sembravano solo valide.
I ricercatori si sono fermati qui. Hanno mascherato le credenziali e non hanno testato se le chiavi funzionassero ancora. Un attaccante o un agente ribelle non avrebbe motivo di fermarsi. Una chiave recuperata potrebbe essere testata, utilizzata per accedere a sistemi a valle o abusata fino alla revoca, come abbiamo visto in molti attacchi.
Da dove arrivano gli LLM con le chiavi?
Gli LLM possono trovare chiavi API nei dati di addestramento pubblici, e sappiamo che ce ne sono molti. Tuttavia, gli agenti AI creano una fonte più immediata: il laptop dello sviluppatore.
I repository pubblici possono diventare parte dei dataset utilizzati per addestrare o valutare i modelli. Una volta che una credenziale appare in un codice pubblico, può anche diffondersi attraverso fork, esempi copiati, log e altri artefatti di sviluppo. Questo accade spesso.
GitGuardian ha rilevato 28,65 milioni di nuovi segreti hardcoded nei commit pubblici di GitHub nel 2025. Le credenziali legate ai servizi AI hanno raggiunto 1.275.105, con un aumento dell'81% anno su anno.
I laptop degli sviluppatori sono diventati silenziosamente archivi di credenziali. I segreti vivono in file .env, file di configurazione cloud e cronologie dei comandi. Appaiono anche nelle impostazioni dell'IDE, nei dati CLI, nei log locali e nei file temporanei di debug.
Molte di queste credenziali non raggiungono mai Git. Questo è particolarmente vero sui laptop dei 'citizen coders', dove le persone stanno solo distribuendo a localhost. Gli agenti di codifica AI possono comunque incontrarli. Gli agenti possono leggere file, eseguire comandi e ispezionare l'output dell'applicazione. Possono anche chiamare server MCP che restituiscono credenziali come parte di una risposta.
La ricerca di GitGuardian rivela solo la punta di questo iceberg, guardando solo al codice impegnato: i commit pubblici assistiti da Claude avevano un tasso di perdita di segreti del 3,2%, rispetto a una baseline del 1,5% tra i commit pubblici di GitHub. MCP aggiunge un'altra fonte: 24.008 segreti unici sono stati trovati in file di configurazione MCP pubblici, incluse 2.117 credenziali valide.
Come gli agenti AI espongono i segreti agli LLM
Tutti gli agenti di codifica AI hanno un modello al loro core, che accetta prompt e dati come token e restituisce risposte generate. La catena di strumenti intorno a questo LLM definisce come le credenziali possono raggiungere un modello.
Lo sviluppatore non ha bisogno di copiare la chiave API nel prompt. La credenziale può entrare nell'interazione mentre l'agente raccoglie il contesto necessario per risolvere il problema.
Un sviluppatore potrebbe chiedere a un agente di risolvere i problemi di una connessione API. L'agente potrebbe leggere un file .env, ispezionare una configurazione cloud o cercare nei log dell'applicazione. Potrebbe anche eseguire un comando shell o chiamare un server MCP.
Gli approcci tradizionali al secret scanning, che si concentrano sullo scanning dei repository e del CI, potrebbero non vedere mai questa esposizione perché potrebbe non esserci alcun commit o pull request. Il segreto può passare direttamente dall'endpoint dello sviluppatore a un flusso di lavoro AI.
Gli agenti AI stanno entrando in ambienti in cui le credenziali sono già sparse tra i sistemi degli sviluppatori. Maggiore autonomia dà a quegli agenti più opportunità di incontrarle.
Il contesto del modello sta diventando parte del confine delle credenziali. Dobbiamo riconoscere che l'esposizione del modello e l'addestramento del modello sono preoccupazioni separate. Una credenziale può raggiungere un LLM senza diventare dati di addestramento. I fornitori di AI aziendali possono limitare se i prompt e gli output vengono utilizzati per l'addestramento.
L'esposizione delle credenziali avviene prima, quando un agente invia un segreto fuori dall'ambiente dello sviluppatore. Una volta che ciò accade, le squadre di sicurezza devono sapere dove è andata la credenziale, quanto tempo potrebbe essere trattenuta e se dovrebbe ancora essere fidata.
L'addestramento è una possibile destinazione. Il contesto del modello è la preoccupazione immediata. Cosa farà con quel segreto che trova?
Il punto di controllo più forte si trova prima della trasmissione. Gli agenti AI possono incontrare segreti mentre leggono file, eseguono comandi o chiamano strumenti. I controlli di sicurezza devono ispezionare queste interazioni prima che le credenziali diventino parte del contesto del modello.
Questo crea un nuovo confine delle credenziali all'endpoint dello sviluppatore e all'interno del flusso di lavoro dell'agente.
Tenere i segreti lontani dall'agente AI
Il posto migliore per fermare l'esposizione delle credenziali LLM è prima che il segreto raggiunga il modello. Il modo migliore per farlo è con strumenti deterministici intorno al flusso di lavoro dell'agente.
GitGuardian AI Hooks mettono controlli direttamente intorno alle azioni che gli agenti di codifica AI compiono. Il CLI GitGuardian, ggshield, può scansionare il prompt di uno sviluppatore prima della sottmissione e ispezionare letture di file, comandi shell e chiamate MCP prima dell'esecuzione. Quando viene rilevato un segreto, l'azione può essere bloccata prima che la credenziale raggiunga il modello. La scansione avviene anche a qualsiasi output dello strumento, trattenendo le risposte che portano segreti dal passare al modello del tutto.
Qualsiasi cosa chiedi a un agente di fare è un suggerimento; potrebbe o non potrebbe seguirlo, come abbiamo visto in innumerevoli storie di agenti ribelli.