Dirottamento di un assistente di codifica AI diffonde Shai-Hulud a 100 repository

Dirottamento di un assistente di codifica AI diffonde Shai-Hulud a 100 repository

Mandiant riferisce che un attaccante ha dirottato una sessione di un assistente di codifica AI e ha diffuso il worm Shai-Hulud in circa 100 repository, rubando segreti e codice sorgente.

Mandiant ha pubblicato i dettagli di un attacco in cui un intruso ha preso il controllo di una sessione attiva di un assistente di codifica AI presso un fornitore di software-as-a-service senza nome e in seguito ha diffuso un worm auto-propagante chiamato Shai-Hulud in circa 100 repository di codice interni. Un repository di codice è un luogo di archiviazione dove gli sviluppatori conservano e gestiscono il codice sorgente di un progetto. Prima che il worm si diffondesse, l'assistente di codifica aveva consigliato un software che l'attaccante aveva precedentemente avvelenato, e uno sviluppatore ha accettato quel consiglio. Secondo Mandiant, il worm ha poi rubato i segreti dei repository e il codice sorgente dei prodotti dell'azienda.

Il caso di studio pubblico, incluso nel rapporto di Mandiant di settembre 2026, non indica quando è avvenuta l'intrusione né come l'attaccante abbia inizialmente preso il controllo della sessione attiva dell'assistente di codifica. Tuttavia, descrive la catena di eventi dopo che il consiglio malevolo è stato accettato. L'attaccante ha usato la sessione di sviluppo già attiva per installare un infostealer, un tipo di malware che raccoglie dati sensibili come le credenziali di accesso, tramite un pacchetto avvelenato su PyPI, il Python Package Index dove gli sviluppatori scaricano software Python open source. L'attaccante ha anche rubato token OAuth di GitHub, che sono credenziali di accesso di lunga durata che consentono alle applicazioni di agire su un account GitHub senza chiedere una password ogni volta.

Con quelle credenziali rubate, l'attaccante ha distribuito il worm Shai-Hulud in circa 100 repository di codice interni. Il worm è descritto come auto-propagante, cioè si sposta da un repository all'altro da solo una volta ottenuto l'accesso. Inoltre, l'attaccante ha avvelenato un pacchetto nel namespace ufficiale dei pacchetti dell'azienda, l'area di denominazione che l'organizzazione controlla per le proprie release software. Quando un altro dipendente ha scaricato la versione compromessa, quell'azione ha causato una seconda infezione.

L'incidente rientra in un modello più ampio che Mandiant ha documentato. In un rapporto di marzo 2026, Mandiant ha affermato che nel corso del 2025 gli attaccanti sono passati dall'usare l'AI generativa principalmente per accelerare il lavoro di routine all'usare modelli linguistici di grandi dimensioni direttamente in malware e attacchi attivi. Questo caso più recente ne è un esempio concreto: l'assistente di codifica AI stesso è diventato il percorso attraverso cui un consiglio avvelenato è entrato in un ambiente di sviluppo. Un assistente di codifica AI è uno strumento che suggerisce frammenti di codice, librerie e correzioni agli sviluppatori mentre lavorano, spesso leggendo il codice circostante e offrendo completamenti o suggerimenti di pacchetti.

Per aiutare i difensori, Mandiant elenca tre controlli per lo sviluppo assistito dall'AI. Primo, verificare ogni dipendenza di terze parti raccomandata dall'AI rispetto a un checksum crittografico, che è un'impronta digitale unica per un file, e rispetto a un elenco di autorizzazione approvato di pacchetti fidati. Secondo, tenere le chiavi API grezze, i token OAuth di lunga durata e altri segreti fuori dalla portata diretta delle estensioni, perché le estensioni e gli strumenti di codifica possono leggere i file che contengono quelle credenziali. Terzo, instradare tutto il traffico delle dipendenze attraverso repository interni controllati invece di lasciare che ogni sviluppatore scarichi i pacchetti direttamente da fonti pubbliche. Questi passaggi riducono la possibilità che un pacchetto avvelenato da un registro pubblico venga accettato senza revisione.

La famiglia Shai-Hulud è apparsa anche in altre campagne recenti che hanno preso di mira strumenti e credenziali di sviluppo, sebbene Mandiant affermi che le prove disponibili non le collegano a questa intrusione senza nome. Ad agosto, un worm npm collegato a Keyv ha avvelenato centinaia di pacchetti e ha piantato hook per Claude Code e Visual Studio Code. npm è il principale registro di pacchetti per JavaScript, e un hook è un piccolo pezzo di codice che viene eseguito quando uno sviluppatore apre o usa uno strumento. Un'analisi successiva ha trovato una variante di Shai-Hulud che scansionava 469 posizioni alla ricerca di credenziali su sistemi di sviluppo, strumenti CI/CD, configurazioni cloud e file di strumenti AI. CI/CD sta per continuous integration e continuous delivery, la pipeline automatizzata che compila, testa e rilascia il software. Quelle campagne erano separate, e la fonte non le collega al caso Mandiant.

Per i proprietari di siti web, i team aziendali e il personale IT, il caso è un avvertimento sulla catena di fornitura del software. Anche un singolo consiglio di pacchetto accettato da un assistente di codifica può esporre segreti dei repository, codice sorgente e token di accesso di lunga durata che in seguito consentono a un worm di muoversi attraverso i sistemi interni. I controlli raccomandati sono pratici: verificare ciò che uno strumento AI suggerisce prima di accettarlo, tenere le credenziali fuori dai file che gli strumenti possono leggere e centralizzare i download dei pacchetti. Per i team che necessitano di assistenza nella revisione di quei percorsi di accesso e dipendenza, AEU-I offre servizi IT, infrastrutturali e di consulenza orientati alla sicurezza che possono aiutare a valutare e rafforzare gli stessi controlli descritti in questo rapporto.

Come Proteggerti

  1. Prima di approvare qualsiasi suggerimento di codice da uno strumento di codifica AI, leggi il nome e la versione del pacchetto suggerito e confrontali con l'elenco del software approvato dalla tua azienda.
  2. Non conservare mai password, chiavi API o token di accesso di lunga durata in codice, note o file che uno strumento di codifica può vedere.
  3. Attiva l'autenticazione a due fattori per il tuo account GitHub o per altri account di hosting del codice, così una password rubata da sola non può accedere ai tuoi progetti.
  4. Scarica i pacchetti software solo dalla libreria ufficiale interna della tua organizzazione, non direttamente da siti internet pubblici.
  5. Chiedi al tuo team IT di impostare avvisi quando un assistente di codifica suggerisce una dipendenza software nuova o insolita.

I Termini Spiegati

  • AI coding assistant Uno strumento software che suggerisce frammenti di codice e pacchetti agli sviluppatori mentre lavorano.
  • repository Un luogo di archiviazione dove gli sviluppatori conservano e gestiscono il codice sorgente di un progetto.
  • PyPI Il Python Package Index, un sito web pubblico dove gli sviluppatori scaricano pacchetti software Python.
  • OAuth tokens Chiavi digitali di lunga durata che permettono a un'app di agire sul tuo account senza richiedere la password ogni volta.
  • infostealer Un malware che raccoglie dati sensibili come password e token di accesso.
  • checksum Un'impronta digitale unica per un file, usata per verificare che il file non sia stato modificato.
  • CI/CD Continuous integration e continuous delivery, la pipeline automatizzata che compila, testa e rilascia il software.
  • allowlist Un elenco di pacchetti approvati considerati sicuri da usare.

Servizi AEU correlati