Incubo npm: l’attacco alla supply chain Shai-Hulud 2.0 mette a nudo allarmanti debolezze nella fiducia degli sviluppatori
Una sofisticata campagna malware arma codice affidabile per infiltrarsi nel cuore dell’ecosistema software cloud-native.
Il mondo dello sviluppo software è stato scosso questo mese quando Microsoft ha lanciato l’allarme su un attacco alla supply chain di portata e astuzia senza precedenti. Ribattezzata “Shai-Hulud 2.0”, questa campagna non ha preso di mira una singola azienda o prodotto - ha invece dirottato i meccanismi di fiducia che alimentano l’internet moderno. Mentre gli aggressori si insinuavano nei flussi di lavoro di amati progetti open-source, il settore si è trovato costretto ad affrontare una domanda inquietante: quanto è sicuro il codice su cui facciamo affidamento ogni giorno?
Come si è svolto l’attacco
Shai-Hulud 2.0 segna una drammatica escalation negli attacchi alla supply chain. Gli attori della minaccia sono penetrati nell’ecosistema npm iniettando codice malevolo nella fase di preinstall di centinaia di pacchetti. Questa tattica ha permesso ai loro script - soprattutto setup_bun.js - di essere eseguiti prima di qualsiasi controllo di sicurezza, rendendo quasi impossibile la rilevazione nelle fasi iniziali.
I pacchetti compromessi installavano il runtime JavaScript Bun (un concorrente di Node.js), che poi eseguiva ulteriori payload come bun_environment.js. Questi script distribuivano runner GitHub Actions mascherati da processi legittimi (“SHA1HULUD”) e sfruttavano strumenti di scansione delle credenziali come TruffleHog per setacciare i sistemi alla ricerca di segreti. Le credenziali rubate venivano rapidamente esfiltrate verso repository GitHub controllati dagli aggressori, preparando il terreno per ulteriori violazioni ed escalation dei privilegi.
Gli aggressori non si sono fermati ai soli trucchi tecnici - hanno anche giocato sul piano psicologico. Imitando sviluppatori affidabili, persino usando nomi come “Linus Torvalds” nei commit, hanno cercato di eludere i sospetti e aggirare le revisioni manuali. Questo evidenzia l’urgente necessità di verificare crittograficamente la firma dei commit nei flussi di lavoro open-source.
Il piano di difesa multilivello di Microsoft
I team di sicurezza Microsoft hanno rilevato la campagna tempestivamente, emettendo allerte per la distruzione sospetta di file e l’esfiltrazione di credenziali. La risposta è stata rapida: alle organizzazioni è stato consigliato di revocare e ruotare immediatamente le credenziali esposte, isolare gli agenti CI/CD compromessi e verificare gli accessi a vault e pipeline critici. Le linee guida sottolineano anche la necessità di rafforzare le pratiche di pubblicazione npm - passando a trusted publishing, imponendo l’autenticazione a due fattori (preferibilmente tramite WebAuthn) e attivando regole di riduzione della superficie d’attacco per bloccare script non affidabili.
I clienti Defender for Cloud e Defender XDR ora beneficiano di query avanzate di hunting e risposta automatizzata agli incidenti, specificamente adattate a Shai-Hulud 2.0. Le integrazioni con GitHub, GitLab e Azure DevOps consentono la mappatura dei repository, facilitando il tracciamento e il contenimento del raggio d’azione di una compromissione riuscita.
La lezione è chiara: le difese di rete tradizionali non sono all’altezza di minacce annidate nelle supply chain di codice affidabile. Solo una strategia multilivello, defense-in-depth - che abbracci sicurezza del codice, gestione delle identità e monitoraggio attento in fase di esecuzione - può reggere l’urto.