GitHub Actions Riemergono con il Malware Mini Shai-Hulud
Immagine generata con IA

GitHub Actions Riemergono con il Malware Mini Shai-Hulud

Due GitHub Actions precedentemente compromesse sono state riabilitate e hanno distribuito lo stesso payload malevolo per oltre una settimana, mettendo a rischio i workflow a valle.

La scorsa settimana gli attaccanti hanno fatto brevemente resuscitare una minaccia alla catena di fornitura quando due GitHub Actions di terze parti, precedentemente sequestrate in una campagna malware di maggio, sono state riabilitate con lo stesso codice malevolo ancora collegato ai loro tag di rilascio. Le actions, actions-cool/issues-helper e actions-cool/maintain-one-comment, sono diventate di nuovo accessibili il 16 settembre e sono rimaste attive fino al 25 settembre, consentendo a qualsiasi workflow che le richiamasse tramite un tag di versione di scaricare ed eseguire silenziosamente il vecchio payload.

Questo incidente, scoperto dai ricercatori dell'azienda di sicurezza applicativa Socket, risale all'attacco alla catena di fornitura Mini Shai-Hulud che a maggio ha infettato 323 pacchetti e 639 versioni di pacchetti nell'indice Node Package Manager (npm). Quella campagna aveva come obiettivo token di sviluppatore, credenziali e segreti di integrazione continua e distribuzione continua (CI/CD). Il team di sicurezza di GitHub aveva rimosso entrambe le actions dopo il compromesso iniziale del 18 maggio, ritenendo la minaccia neutralizzata. Tuttavia, in seguito il manutentore ha riabilitato i repository senza prima pulire i tag, che puntavano ancora a un commit contenente un payload offuscato all'interno del file index.js.

La cronologia di Socket mostra che l'esposizione è iniziata tra le 11:09 e le 18:16 GMT+2 del 16 settembre. Per nove giorni, qualsiasi progetto a valle che utilizzasse le actions tramite un tag di versione mutabile, anziché un commit hash bloccato, avrebbe scaricato il codice contaminato alla successiva esecuzione. Le actions sono comunemente impiegate per la gestione automatica delle issue, il che significa che in molti repository vengono eseguite quasi ogni giorno. Il grafico delle dipendenze di GitHub stesso elenca circa 15.000 repository che dipendono da issues-helper soltanto, sebbene il numero effettivo di quelli che hanno scaricato la versione malevola sia sconosciuto perché i ricercatori non sono riusciti a determinare quanti progetti facciano riferimento alle actions tramite tag piuttosto che a un commit bloccato.

Il payload in questione è lo stesso script offuscato di maggio, progettato per rubare segreti dalla pipeline CI/CD. Nello sviluppo software moderno, una pipeline CI/CD costruisce, testa e distribuisce automaticamente il codice, spesso con accesso a credenziali sensibili come chiavi API e password di database. Quando un'action malevola viene eseguita all'interno di quella pipeline, può silenziosamente drenare quei segreti verso un server controllato dall'attaccante. La riabilitazione, anche senza un nuovo codice d'attacco, ha effettivamente riaperto la backdoor per qualsiasi workflow che non fosse stato aggiornato o rivisto dalla pulizia iniziale.

Il 25 settembre entrambe le actions sono state nuovamente disabilitate su GitHub, causando il fallimento completo dei workflow che ancora le richiamano anziché l'esecuzione del malware. Sebbene un build fallito sia dirompente, è più sicuro dell'esfiltrazione silenziosa di credenziali. L'avviso di Socket esorta gli sviluppatori a verificare tutti i riferimenti a entrambe le actions, rimuoverli o fissare un commit verificato come pulito, rivedere le esecuzioni dei workflow avvenute tra il 16 e il 25 settembre e ruotare immediatamente tutti i segreti a cui quei workflow potevano accedere. Per i proprietari di siti web che si affidano a queste integrazioni automatizzate, un ambiente di hosting gestito come AEU Hosting offre scansione malware continua e rafforzamento della sicurezza, contribuendo a limitare il raggio di impatto quando le dipendenze esterne vengono compromesse.

L'attacco Mini Shai-Hulud illustra come i rischi della catena di fornitura possano riemergere molto tempo dopo il contenimento iniziale se i manutentori non sanitizzano a fondo i repository. L'ecosistema npm, ampiamente utilizzato dagli sviluppatori JavaScript, è un bersaglio frequente perché un singolo pacchetto infetto può propagarsi a migliaia di progetti. Questo caso ricorda che disabilitare un'action non è sufficiente; i tag e i commit stessi devono essere ripuliti dal contenuto malevolo. Si consiglia inoltre ai difensori di adottare la pratica di fissare le actions di terze parti a un commit hash specifico e verificato piuttosto che a un tag mobile, una misura che avrebbe impedito il ridispiegamento automatico del malware.

Come Proteggerti

  1. Chiedi al tuo sviluppatore di verificare tutti i workflow automatizzati per eventuali usi di actions-cool/issues-helper o actions-cool/maintain-one-comment.
  2. Se quelle actions sono state usate, cambia immediatamente ogni password, chiave API o segreto a cui quei workflow avevano il permesso di accedere.
  3. Esamina i log di distribuzione e attività del tuo sito per eventuali comportamenti insoliti tra il 16 e il 25 settembre 2026.
  4. Istruisci il tuo team a collegarsi sempre a un commit hash specifico quando si usano GitHub Actions di terze parti, invece di un tag di versione che può cambiare.
  5. Elimina o blocca qualsiasi token o chiave esposta al pubblico che potrebbe essere stata esposta durante il periodo in cui il malware era attivo.

I Termini Spiegati

  • GitHub Actions Una funzionalità che permette agli sviluppatori di eseguire automaticamente compiti, come testare il codice o distribuire un sito web, quando si verificano determinati eventi.
  • supply-chain attack Un attacco informatico che prende di mira uno strumento o servizio di terze parti fidato e usato da molti, in modo che il malware si diffonda quando tale strumento viene aggiornato o installato.
  • npm (Node Package Manager) Una grande libreria online dove gli sviluppatori condividono e scaricano pezzi di codice già pronti per progetti JavaScript.
  • CI/CD secrets Informazioni sensibili come password e chiavi di accesso che i sistemi automatizzati di costruzione e distribuzione usano per accedere a servizi sicuri.
  • mutable version tag Un'etichetta che punta all'ultima versione di un pezzo di codice, che può essere modificata per fare riferimento a codice diverso senza che l'utente lo sappia.
  • commit hash Un'impronta digitale unica e immutabile per una specifica versione del codice, usata per bloccare il software a un'istantanea fidata.
  • obfuscated payload Codice malevolo che è stato intenzionalmente offuscato per renderne più difficile il rilevamento e la comprensione.

Servizi AEU correlati

  • AEU-I Consulenza IT e sicurezza