Una vulnerabilità nasconde un rischio imprevisto
Un team di ricercatori in sicurezza informatica, affiliati alla piattaforma di 0DIN e legati al programma di bug bounty di Mozilla, ha rivelato un nuovo tipo di attacco che sfrutta l'intelligenza artificiale, e in particolare strumenti di assistenza alla programmazione come Claude Code.
Questo exploit si basa su un repository GitHub che, all’apparenza, sembra completamente sicuro. I ricercatori hanno identificato una tecnica chiamata "indirect prompt injection" in grado di sfruttare il codice automaticamente eseguito da Claude Code durante l'automatica configurazione di un progetto.
Funzionamento dell'attacco
L’inganno procede in questo modo: all’interno di un progetto GitHub si nasconde uno script di configurazione ("Setup-Skript") che, al momento della sua esecuzione, collega un servizio DNS esterno. Il file non contiene codice malevolo direttamente, ma carica comandi di codice durante l’esecuzione da quell’indirizzo.
Il codice dannoso stesso non è ospitato nel repository, quindi non può essere individuato da tool di scansione del codice, né da code review manuale o da controlli automatizzati condotti da Claude Code stesso. Quando l’utente apre il progetto con il codice KI e tenta di configurare l'ambiente, viene mostrato un messaggio d’errore innocuo che induce l’assistente ad eseguire automaticamente l’installazione.
Una volta completato il processo, il sistema apre una connessione "Reverse Shell" al server dell'attaccante, permettendo un accesso completo e un controllo remoto del sistema della vittima. Gli hacker possono quindi accedere ad API-Key, credenziali o dati sensibili.
Le dimensioni del rischio
La portata del rischio è significativa, visto che un singolo collegamento GitHub può essere condiviso in diversi modi – ad esempio tramite un annuncio di lavoro, uno sconto online, un tutorial o un messaggio in Slack. Una volta aperto con uno strumento di AI coding come Claude Code, il processo di compromissione avviene in modo invisibile e quasi istantaneo.
Raccomandazioni ai developer e agli strumenti KI
I ricercatori hanno sottolineato l’utilità di misure preventive: gli strumenti AI dovrebbero esigere una conferma esplicita da parte dell'utente prima di eseguire script di setup. Inoltre, è fondamentale che gli sviluppatori adottino una pratica di non fidarsi mai di codice di configurazione da repository esterni fino a quando non ne è stata analizzata l'effettiva sicurezza.
Analisi tecnica supplementare
- I ricercatori hanno fornito un esempio pratico utilizzando una stringa JSON falsa conosciuta come "payload" per attivare un comando dannoso;
- Il link dannoso non presenta segni esteriori di pericolo – né un messaggio esplicito né un file visibilmente malevolo;
- Il problema è aggravato dal fatto che il codice dannoso non ha mai esistito all’interno del repository, quindi strumenti tradizionali non riescono a rilevarne la presenza;
- La vulnerabilità sfrutta il comportamento automatico di Claude Code – in particolare la sua capacità di eseguire comandi setup come parte del processo di inizializzazione;
- La tecnica dimostra come la logica di integrazione di codice non segnalato dagli utenti sia un punto di debolezza sistematico.
Riflessione finale e risposte necessarie
Gli strumenti di AI assistenti, in crescita esponenziale, sono un'ottima risorsa per gli sviluppatori. Tuttavia richiedono adattamenti importanti per garantire la sicurezza. Si richiede a provider di codifica con IA di implementare misure come:
- Un prompt visivo che richieda l’approvazione manuale;
- Il caricamento delle informazioni del codice su canali separati;
- Un’opzione di “solo visualizzazione” per comandi di configurazione;
- L'utilizzo di un sistema di log per tracciare comandi eseguiti automaticamente.
Finora nessuno strumento del mercato ha adottato misure rigorose simili a queste. La comunità IT deve mobilitarsi per richiedere una visione responsabile da parte dei fornitori di tecnologie AI-driven.