Shai-Hulud: quando un incidente nella catena di approvvigionamento si trasforma in un Worm

26 novembre 2025
Lucie Cardiet
Responsabile della ricerca sulle minacce informatiche
Shai-Hulud: quando un incidente nella catena di approvvigionamento si trasforma in un Worm

A settembre ho pubblicato un articolo sull'incidente NPM e sul perché l'exploit iniziale sia solo il punto di partenza di un attacco.

Quell'attacco era mirato e piuttosto semplice. Un manutentore è stato vittima di phishing, alcuni pacchetti sono stati compromessi e l'obiettivo era limitato al furto di criptovalute.

Shai-Hulud adotta un approccio molto diverso. Non si basa sul fatto che la vittima clicchi su qualcosa e non si ferma alla prima macchina su cui atterra. Al contrario, sfrutta la fiducia insita nell'ecosistema software per passare da un ambiente all'altro. In questo modo, trasforma la catena di approvvigionamento stessa in una rete di distribuzione.

Un Worm in bella vista

Wiz Research ha appena pubblicato un'eccellente analisi dei comportamenti tecnici alla base di Shai-Hulud. Ecco una breve sintesi di come worm questo worm nella pratica:

1. L'installazione diventa esecuzione

Nel momento in cui uno sviluppatore o una pipeline CI installa un pacchetto infetto, il payload viene eseguito automaticamente. Non vi è alcun messaggio o indicatore evidente che qualcosa di insolito stia accadendo. Il worm all'interno delle fasi di compilazione di routine, motivo per cui l'esecuzione iniziale passa inosservata.

2. Aggira i comuni controlli di sicurezza cambiando i runtime

La maggior parte dello sviluppo JavaScript si basa su Node.js, il motore alla base di npm e quello monitorato dalla maggior parte dei team. Gli strumenti di sicurezza, la registrazione e la scansione sono costruiti attorno a Node.

Shai-Hulud evita questo problema scaricando ed eseguendo il proprio payload con Bun, un runtime più recente e ad alte prestazioni che non viene comunemente monitorato. Per il sistema, Bun appare come un altro strumento di sviluppo. Per l'autore dell'attacco, è una via tranquilla con molti meno controlli.

Questo semplice spostamento del runtime aiuta il worm a bypassare molte delle protezioni su cui i team contano.

3. Raccoglie tutti gli accessi che riesce a trovare

Una volta in esecuzione, il malware cerca sistematicamente di ottenere l'accesso. Cerca:

  • Token NPM
  • Credenziali GitHub
  • Segreti CI/CD
  • Chiavi API
  • Cloud dai servizi di metadati

I laptop degli sviluppatori, i server di compilazione e cloud vengono trattati allo stesso modo. Se un sistema ha accesso, il worm lo worm .

4. Rende pubblici i dati rubati in modo intenzionale

Invece di inviare i dati a un server di comando e controllo, il worm crea repository GitHub pubblici sotto l'account della vittima e carica lì i segreti rubati. Questo elimina la necessità di un'infrastruttura nascosta e lascia le credenziali sensibili esposte a chiunque sappia dove cercare.

Come ha affermato Dmitriy durante il podcast che abbiamo registrato su Shai Hulud: "È come trasmettere informazioni riservate rubate alla radio pubblica".

5. Si diffonde sfruttando la fiducia già esistente della vittima

Se un manutentore compromesso gestisce diversi pacchetti, Shai-Hulud ripubblica versioni dannose su tutti loro. Se un token GitHub dà accesso a più repository, questi repository diventano i prossimi punti di iniezione. Il worm sfruttando la fiducia che la vittima ha già nell'ecosistema. È così che passa da una manciata di pacchetti a centinaia.

6. Installa una backdoor persistente tramite GitHub Actions.

Il malware installa un runner GitHub Actions self-hosted sul computer della vittima e rilascia un flusso di lavoro che si attiva ogni volta che qualcuno apre una discussione GitHub. Ciò garantisce all'autore dell'attacco un punto d'appoggio silenzioso e duraturo.

I comandi eseguiti tramite un thread di discussione vengono eseguiti direttamente sul sistema compromesso, integrandosi con la normale automazione.

7. È dotato di un tergicristallo per il fallback distruttivo.

In determinate condizioni, il malware cancellare i file dall'host. Non tutti gli ambienti lo attivano, ma questa capacità aggiunge un ulteriore livello di rischio: l'attacco non si limita al furto, ma ha anche il potenziale di interrompere completamente lo sviluppo.

Il problema più profondo: le catene di approvvigionamento diffondono la fiducia più rapidamente di quanto i difensori riescano a monitorarla

Tutto ciò che Shai-Hulud fa è in linea con i normali flussi di lavoro di sviluppo e automazione:

  • installazione delle dipendenze
  • esecuzione di script
  • pacchetti editoriali
  • parlando con GitHub
  • interrogazione cloud

Nessuno di questi comportamenti è sospetto di per sé. Si tratta di operazioni quotidiane.

Questo è ciò che rende worm il worm . Non si comporta come malware. Si comporta come uno strumento di sviluppo e fa affidamento sulla fiducia che i flussi di lavoro di sviluppo ereditano per impostazione predefinita:

  • Le macchine degli sviluppatori conservano token a lunga durata
  • Le pipeline CI eseguono il codice automaticamente
  • Cloud comportano autorizzazioni di ampia portata
  • Il controllo del codice sorgente funge sia da piattaforma di collaborazione che da motore di automazione.

Shai-Hulud segue semplicemente la fiducia.

Vedere il Worm il comportamento, non le firme

Gli attacchi moderni alla catena di approvvigionamento si rivelano attraverso modelli di attività piuttosto che indicatori statici. Shai-Hulud lascia segnali quali:

  • Un token GitHub che crea decine di repository dal nulla
  • Un CI runner che legge cloud a un volume che non corrisponde al suo lavoro
  • Una workstation che improvvisamente esegue un nuovo runner di automazione
  • Una cloud che utilizza servizi che non ha mai toccato
  • Una macchina che carica grandi quantità di dati su GitHub

Ogni azione è normale. La sequenza non lo è. È qui che Vectra AI in gioco. La piattaforma non cerca di bloccare l'installazione dei pacchetti. Osserva ciò che accade dopo l'esecuzione del codice, attraverso i sistemi di identità, le reti e cloud . Mette in correlazione attività insolite degli account, movimenti di dati imprevisti e cloud che non corrispondono ai modelli stabiliti. Questo contesto aiuta i team di sicurezza a vedere l'intera catena di attacchi invece di una serie di eventi isolati. E in incidenti della catena di fornitura come Shai-Hulud, il contesto è tutto.

Se vuoi vedere come funziona la funzionaVectra AI funziona nella pratica, puoi esplorarla nella nostra demo autoguidata.

Domande frequenti