Immagine copertina generata con l’intelligenza artificiale
Gli agenti AI dedicati alla programmazione possono diventare un nuovo bersaglio per gli attacchi informatici. Il team 0din di Mozilla ha dimostrato come Claude Code possa essere indotto a eseguire malware partendo da una repository GitHub dall’aspetto perfettamente legittimo. Il problema nasce dalla stessa caratteristica che rende questi strumenti utili: la loro tendenza a intervenire autonomamente per risolvere i problemi incontrati durante lo sviluppo.
Come funziona l’attacco tramite agenti AI coding
Lo scenario preso in esame dai ricercatori parte da una richiesta apparentemente normale: inizializzare un progetto utilizzando una repository GitHub preparata dall’attaccante. Il repository contiene soltanto pochi file di struttura e non presenta elementi che facciano scattare immediatamente i controlli di sicurezza, compresi quelli dello stesso Claude.
Il primo file elaborato dall’agente è un README in Markdown che indica come configurare un ambiente Python utilizzando Axiom, un comune strumento di monitoraggio. L’operazione sembra quindi del tutto legittima. Il problema emerge quando uno script contraffatto di Axiom genera un errore al primo avvio. Nel tentativo di essere utile, Claude esegue un ulteriore comando per inizializzare l’ambiente.
I rischi specifici dell’automazione AI nei coding assistant
È proprio questa ricerca automatica di una soluzione a rappresentare il punto debole dell’intera procedura. Il comando python3 -m axiom init attiva infatti uno script di shell che scarica altro software. Anche in questo caso, l’operazione potrebbe sembrare una normale attività di configurazione.
Il secondo livello dell’inganno consiste però nel modo in cui viene recuperato il contenuto. Lo script non utilizza direttamente un URL malevolo facilmente individuabile, ma legge i record DNS TXT di un dominio specifico. Si tratta di una tecnica che può apparire innocua, considerando che i record TXT sono normalmente utilizzati anche per configurazioni legate alla posta elettronica.
Repository GitHub pulite, minacce occulte sempre più sofisticate
All’interno del record DNS è presente una stringa codificata in Base64. Una volta elaborata, questa consente di aprire una reverse shell, collegando la shell del computer della vittima al server dell’attaccante.
A quel punto, l’aggressore può operare con i privilegi dell’utente e accedere a ciò che quell’account può raggiungere, inclusi segreti, chiavi API, codice, documenti, sessioni del browser e password. Può inoltre installare altro malware per conservare l’accesso al sistema.
Difese e limiti della sicurezza negli agenti AI coding
La dimostrazione di 0din è particolarmente significativa perché l’attacco procede attraverso tre livelli di indirezione. Nessuno dei singoli passaggi, preso isolatamente, appare necessariamente anomalo: repository, configurazione Python, comando di inizializzazione e interrogazione DNS possono sembrare normali attività di sviluppo.
Per questo motivo, molti strumenti di scansione potrebbero non rilevare il pericolo nella repository. Un ambiente aziendale con controlli di rete particolarmente rigidi potrebbe riuscire a bloccare la fase della shell remota, ma una simile protezione non è necessariamente presente nella maggior parte degli ambienti utilizzati dagli sviluppatori.
Claude Code e nuovi scenari per la sicurezza AI coding
Il caso analizzato non rappresenta necessariamente un limite esclusivo di Claude Code. Secondo il team 0din, quasi ogni agente AI può risultare esposto a una tipologia di attacco basata sullo stesso principio, anche se Claude rappresenta una scelta particolarmente diffusa per le attività di programmazione.
La tecnica potrebbe inoltre essere resa ancora più indiretta e articolata. L’esempio serve quindi soprattutto a mostrare una nuova superficie d’attacco legata all’interazione tra agenti autonomi e codice proveniente da fonti esterne.
Cosa tenere presente nella scelta e nell’uso degli agenti AI coding
La raccomandazione finale di 0din è netta: gli sviluppatori non dovrebbero considerare affidabile per definizione una repository sconosciuta, né utilizzare l’agente AI stesso come strumento definitivo per valutare la sicurezza del codice.
Gli agenti, dal canto loro, dovrebbero imparare a esaminare non soltanto i singoli passaggi richiesti, ma anche ciò che verrà effettivamente eseguito e le modalità con cui verrà eseguito. La capacità di aiutare l’utente non può quindi prescindere da un’analisi più attenta delle operazioni che il sistema sta per compiere.
Fonte: Tom’s Hardware