Questi commit non erano banali. All'interno del repository RedHatInsights/javascript-clients, l'attaccante ha iniettato un flusso di lavoro malevolo di GitHub Actions che richiedeva token di identità OIDC ed eseguiva un payload offuscato . Questo payload ha pubblicato 32 versioni di pacchetti trojan sotto lo spazio ufficiale
@redhat-cloud-services di npm, ognuna con il marchio della campagna: "Miasma: The Spreading Blight" . Poiché i pacchetti fluivano attraverso la legittima pipeline CI/CD di Red Hat e utilizzavano flussi di lavoro di pubblicazione OIDC validi, avevano firme di provenienza SLSA autentiche: questo significava che i normali controlli di sicurezza li avrebbero giudicati verificati
.
I pacchetti malevoli avevano una media di circa 80.000 download settimanali . Non appena uno sviluppatore eseguiva
npm installpreinstall . Il payload raccoglieva credenziali da AWS, Azure, GCP, GitHub, HashiCorp Vault, configurazioni Kubernetes, chiavi SSH e ambienti di sviluppo locali
. Poi, usava quei segreti rubati per iniettare codice malevolo in altri progetti a cui la vittima aveva accesso, trasformando ogni postazione di lavoro e pipeline CI/CD infetta in un nuovo nodo di distribuzione
.
Il comportamento più innovativo del worm non era solo il furto di credenziali, ma lo sfruttamento degli strumenti di IA per la codifica. Le varianti di Miasma inserivano file di regole malevoli per Claude Code, Cursor, Gemini CLI e GitHub Copilot. Questi file sono progettati per eseguirsi automaticamente quando uno sviluppatore clona e apre il repository compromesso nel proprio IDE . In pratica, il solo atto di leggere il codice – senza mai installare un pacchetto – poteva innescare il payload.
Il 5 giugno 2026, il worm ha raggiunto Microsoft. Un commit malevolo intitolato "Switched DataConverter to OrchestrationContext [skip ci]" è atterrato nel repository Azure/durabletask, con i metadati manipolati per mostrare come data del commit il 9 marzo 2020, probabilmente nel tentativo di eludere i sospetti . Quel commit è stato la testa di ponte. Da lì, il worm si è diffuso a 73 repository in quattro organizzazioni GitHub di Microsoft: Azure, Azure-Samples, Microsoft e MicrosoftDocs
. I progetti compromessi includevano infrastrutture critiche come
azure-functions-host e l'intera famiglia Durable Task per .NET, Go, Java, JavaScript, MSSQL e Python .
Per capire Miasma, bisogna prima capire la decisione di TeamPCP di rendere open-source la propria arma.
TeamPCP (noto anche come Replicating Marauder, TGR-CRI-1135 e UNC6780) è un gruppo di attaccanti che ha trascorso il 2025 e l'inizio del 2026 a perfezionare una famiglia di worm auto-propaganti per la supply chain. Le loro operazioni hanno raggiunto il picco l'11 maggio 2026, quando hanno pubblicato 373 versioni di pacchetti malevoli su 172 pacchetti npm e PyPI, con un conteggio di download combinato che ha superato i 518 milioni . Quella campagna aveva già dimostrato la capacità del worm di estrarre token OIDC dalla memoria dei runner di GitHub Actions, ottenere certificati di firma validi e produrre pacchetti malevoli con attestazioni di provenienza verificate
.
Poi, il 12 maggio 2026, TeamPCP ha pubblicato il codice sorgente completo di Mini Shai-Hulud su GitHub con una licenza MIT . Insieme, il gruppo ha annunciato una gara su BreachForums, offrendo 1.000 dollari in Monero per il più grande attacco alla supply chain condotto con il loro framework
. Il messaggio era esplicito: il toolkit era ora di dominio pubblico.
Nel giro di cinque giorni, un singolo account utente npm aveva già pubblicato quattro pacchetti malevoli, incluso un clone quasi letterale del worm Shai-Hulud. OX Security ha analizzato il clone e ha scoperto che era stato copiato "quasi senza alcuna modifica", differendo solo per l'endpoint di comando e controllo e la chiave privata dell'attaccante . L'industrializzazione degli attacchi alla supply chain era iniziata, e i difensori ancora non lo sapevano.
Diciassette giorni dopo l'open-sourcing, Miasma ha colpito Red Hat. Il codice del malware è una variante strutturale di Mini Shai-Hulud, con i riferimenti originali a Dune sostituiti con richiami alla mitologia greca . Ma la tecnica – esecuzione di script
preinstall, payload JavaScript offuscati, furto di credenziali e auto-propagazione tramite CI/CD – è sostanzialmente identica .
È cruciale notare che i ricercatori non possono attribuire Miasma con certezza allo stesso TeamPCP. La Cloud Security Alliance nota esplicitamente che "non si possono escludere attori emulatori che usano lo stesso codice pubblico" . Unit 42 di Palo Alto Networks rafforza questa tesi, affermando che "l'attribuzione rimane incerta" perché il rilascio pubblico del codice sorgente significa che qualsiasi attore competente può replicare lo stesso attacco
. Questa ambiguità non è una nota a margine: è una caratteristica voluta della strategia di open-sourcing, pensata per inondare l'ecosistema di rumore e sovraccaricare gli sforzi di attribuzione
.
Il framework open-source non ha solo reso possibile Miasma, ma ha generato un'ondata immediata di attività di emulazione.
Il 3 giugno 2026, è emersa una nuova variante chiamata Phantom Gyp, che ha raggiunto 57 pacchetti npm aggiuntivi, tra cui @vapi-ai/server-sdk e ai-sdk-ollama . Questa variante usava un file
binding.gyp compromesso per eseguire codice malevolo durante l'installazione del pacchetto, aggirando il percorso di esecuzione postinstall ormai tenuto sotto controllo . I ricercatori di OpenSourceMalware hanno confermato che la campagna è stato il primo uso accertato sul campo del framework di TeamPCP, anche se TeamPCP non ne ha mai rivendicato il merito
.
Entro l'8 giugno, il SANS Internet Storm Center ha riferito che la più ampia popolazione di attaccanti stava ora brandendo attivamente il framework open-source Mini Shai-Hulud, con molteplici attori di minacce indipendenti che lanciavano le proprie campagne . Il malware si era diffuso oltre npm: i ricercatori hanno identificato una variante Ruby che sembrava essere stata tradotta da un LLM – un porting grezzo ma funzionante che non faceva parte del codice open-source originale
. La velocità di adattamento, da npm a più ecosistemi, ha sottolineato quanto a fondo fosse cambiata la superficie d'attacco.
La risposta a Miasma è stata insolitamente rapida e pubblica, riflettendo sia l'entità della compromissione che il coinvolgimento dei principali proprietari di piattaforme.
La risposta di GitHub è stata immediata. La piattaforma ha disabilitato più di 70 repository di Microsoft entro circa 105 minuti dal rilevamento, il 5 giugno 2026 . I repository disabilitati appartenevano alle organizzazioni Azure, Azure-Samples, Microsoft e MicrosoftDocs
. In pochi giorni, tutti i repository sono stati ripristinati e dichiarati puliti, anche se alcune pipeline CI/CD di Microsoft sono state interrotte durante la rimozione
.
Microsoft ha pubblicato un'analisi tecnica dettagliata tramite il suo team di Threat Intelligence il 2 giugno 2026, coprendo l'intera catena d'attacco, dalla compromissione iniziale di Red Hat allo sfruttamento della CI/CD . Microsoft ha anche compiuto un passo molto insolito, rimuovendo 73 dei propri repository e dichiarando a BleepingComputer che la decisione era stata presa per il timore che stessero distribuendo "potenziale contenuto malevolo"
. L'interruzione dei flussi di lavoro CI/CD interni di Microsoft ha dimostrato che nemmeno il proprietario della piattaforma era immune alle conseguenze a valle di un worm della supply chain.
Red Hat ha pubblicato l'avviso di sicurezza RHSB-2026-006 il 1° giugno 2026, confermando la compromissione e precisando che la violazione era limitata agli strumenti di sviluppo interni, senza alcun impatto sui prodotti Red Hat Enterprise Linux o OpenShift . L'azienda ha revocato tutte le versioni dei pacchetti npm interessati e ha allertato i consumatori a valle.
Il National Cyber Security Centre (NCSC) del Regno Unito ha trasformato l'incidente in una spinta politica più ampia. Il 4 giugno 2026, il NCSC ha pubblicato un post sul blog esortando esplicitamente le organizzazioni a rivedere le proprie dipendenze open-source e a ridurre l'esposizione agli attacchi alla supply chain . La tempistica non era casuale: il post faceva direttamente riferimento alla campagna Miasma come catalizzatore
. Il 9 giugno 2026, il NCSC ha rilasciato un aggiornamento del "Cyber Essentials Supply Chain Playbook", invitando le aziende britanniche a rendere la certificazione Cyber Essentials un requisito standard per i fornitori
.
La guida del NCSC si concentra su tre categorie: visibilità (verifica degli aggiornamenti dei pacchetti, identificazione delle dipendenze impreviste e mantenimento di un "software bill of materials"), valutazione (esame delle pratiche di sicurezza dei fornitori) e azione (mettere in sicurezza la supply chain come priorità a livello di consiglio di amministrazione) . Il governo del Regno Unito si è anche formalmente impegnato sulla campagna TeamPCP, riflettendo un cambiamento per cui la sicurezza delle dipendenze open-source è ora trattata come una questione di politica nazionale di cybersicurezza, piuttosto che come semplice igiene del singolo sviluppatore.
L'attacco Miasma non è la più grande violazione della supply chain della storia, né la più sofisticata. Ma potrebbe essere la più istruttiva per capire cosa verrà dopo.
In primo luogo, i framework di attacco open-source hanno armato l'ecosistema. La decisione di TeamPCP di pubblicare Mini Shai-Hulud con licenza MIT è una strategia deliberata: armare un esercito di emuli, creare caos nell'attribuzione e costringere i difensori a proteggersi da un numero sconosciuto di attori indipendenti che usano lo stesso copione . Questo non è teorico: l'attività degli emuli è stata documentata entro cinque giorni dal rilascio, e l'attribuzione di Miasma stessa rimane incerta a settimane di distanza
.
In secondo luogo, l'hook preinstall di npm è una vulnerabilità sistemica. L'attacco sfrutta ripetutamente una funzionalità progettata per script di build legittimi, ma priva di controlli sufficienti sull'esecuzione degli script del ciclo di vita . L'emergere di
binding.gyp come vettore di esecuzione aggiuntivo nella variante Phantom Gyp dimostra che gli attaccanti sondano attivamente nuovi cicli di vita da dirottare . Le restrizioni a livello di registro su
preinstall e altri script del ciclo di vita sono ora una priorità urgente.
In terzo luogo, gli assistenti di codifica IA sono diventati una superficie di esecuzione. Miasma è tra i primi attacchi documentati alla supply chain a prendere di mira specificamente Claude Code, Cursor, Copilot e Gemini CLI come meccanismi di distribuzione del payload tramite file di regole malevoli . Quando uno sviluppatore clona un repository e lo apre, lo strumento di IA progettato per aiutarlo a scrivere codice migliore può invece eseguire codice dannoso. Questo vettore probabilmente si espanderà man mano che lo sviluppo assistito dall'IA diventerà il flusso di lavoro predefinito.
In quarto luogo, le pipeline CI/CD sono ora gli obiettivi di maggior valore. La capacità del worm di estrarre token OIDC dalla memoria dei runner e produrre pacchetti con attestazioni di provenienza SLSA valide significa che la verifica crittografica standard – il gold standard per l'integrità della supply chain – può essere sconfitta . Se i controlli di provenienza risultano positivi, i difensori non hanno alcun segnale per segnalare la compromissione. Mettere in sicurezza le pipeline CI/CD dall'esposizione delle credenziali non è più opzionale.
Infine, l'intervento governativo ha raggiunto la gestione delle dipendenze open-source. Il playbook aggiornato del NCSC non è un consiglio, ma una richiesta concreta alle aziende britanniche di integrare la sicurezza della supply chain negli appalti . Le organizzazioni che trattano la revisione delle dipendenze come un audit una tantum, anziché come un processo continuo, operano con una postura di sicurezza pre-Miasma.
Comments
0 comments