Il malware Shai-Hulud evolve da semplice infostealer a framework worm auto-replicante e scatena una delle più grandi crisi recenti della supply chain software nell’ecosistema npm. La nuova ondata di attacchi compromette oltre 600 versioni malevole di pacchetti JavaScript, colpisce infrastrutture enterprise e genera breach confermati su GitHub e Grafana attraverso credenziali rubate e workflow CI/CD compromessi. L’operazione viene attribuita al gruppo TeamPCP, già emerso nelle settimane precedenti nel contesto degli attacchi contro pacchetti npm e repository AI. La campagna dimostra come un singolo leak di codice sorgente possa trasformarsi rapidamente in una crisi sistemica per l’intero ecosistema open source. Gli attaccanti sfruttano account maintainer compromessi, hook preinstall invisibili, attestazioni Sigstore falsificate e token GitHub rubati per diffondere payload malevoli in migliaia di ambienti di sviluppo. La situazione coinvolge librerie estremamente diffuse nei contesti enterprise, in particolare quelle legate al namespace @antv, utilizzate per grafici, data visualization e dashboard avanzate. Il risultato è una catena di compromissioni che impatta sviluppatori individuali, pipeline DevOps e grandi organizzazioni che dipendono da npm, GitHub Actions e tool CI/CD automatizzati.
Cosa leggere
Shai-Hulud trasforma npm in una piattaforma di propagazione worm-like
La nuova variante di Shai-Hulud rappresenta un salto qualitativo rispetto alle campagne precedenti già osservate da ricercatori e vendor di sicurezza. Come già raccontato nell’analisi dedicata a Shai-Hulud e all’attacco supply-chain contro TanStack su npm, il malware utilizza logiche auto-replicanti che gli permettono di propagarsi automaticamente tra pacchetti mantenuti dallo stesso account compromesso. Gli attaccanti pubblicano più di 600 release trojanizzate in una finestra temporale di appena un’ora, sfruttando l’account npm atool precedentemente violato. Le librerie compromesse appartengono soprattutto all’ecosistema @antv e includono componenti estremamente popolari come @antv/g2, @antv/g6, @antv/x6 e @antv/l7. Anche librerie esterne ad altissimo volume di download come echarts-for-react, timeago.js e jest-canvas-mock risultano infettate. Il payload malevolo aggiunge hook preinstall invisibili che eseguono codice obfuscato durante l’installazione del pacchetto. Il malware utilizza inoltre dipendenze opzionali collegate a commit imposter ospitati su repository GitHub apparentemente legittimi. Questa tecnica permette di bypassare molti controlli tradizionali e rende il codice malevolo difficile da individuare nelle pipeline automatizzate.
TeamPCP sfrutta il leak del codice sorgente per moltiplicare gli attacchi
Il gruppo TeamPCP sfrutta direttamente il leak pubblico del framework Shai-Hulud avvenuto nei giorni precedenti. Il codice sorgente viene pubblicato su GitHub e rilanciato nei circuiti underground legati a BreachForums, generando rapidamente una ondata di copycat e varianti derivate. La versione denominata Mini Shai-Hulud semplifica il processo di compromissione ma mantiene le capacità principali del framework originale. Gli attaccanti automatizzano completamente la catena di attacco: validano token npm, enumerano i pacchetti associati all’utente compromesso, scaricano i tarball originali, iniettano il payload e ripubblicano le nuove versioni malevole incrementando automaticamente il versioning. La caratteristica più pericolosa riguarda però l’abuso di token OIDC freschi provenienti da ambienti CI compromessi per generare attestazioni Sigstore formalmente valide. In pratica i pacchetti malevoli risultano firmati con certificati autentici e diventano quasi indistinguibili da release legittime. Come già evidenziato nel pezzo dedicato a TeamPCP e agli attacchi contro Mistral AI e npm, il gruppo sfrutta la fiducia implicita nell’ecosistema open source per massimizzare l’impatto della campagna e aumentare la superficie di compromissione.
Il payload ruba credential cloud, token CI/CD e accessi enterprise
Il cuore operativo di Shai-Hulud rimane il furto massivo di credential e segreti operativi. Il malware è progettato per estrarre più di venti categorie differenti di credenziali da workstation developer e ambienti CI/CD. Tra gli obiettivi figurano token AWS, Google Cloud, Microsoft Azure, chiavi GitHub, accessi npm, secret Kubernetes, token Vault, credential Stripe e stringhe di connessione database. Il payload tenta anche di identificare socket Docker per eseguire tecniche di container escape e ottenere privilegi più elevati sull’host. I dati rubati vengono serializzati, compressi tramite Gzip, cifrati con AES-256-GCM e successivamente protetti con wrapping RSA-OAEP prima dell’esfiltrazione. La comunicazione avviene verso domini controllati dagli attaccanti oppure tramite la rete decentralizzata Session P2P. Quando l’esfiltrazione diretta fallisce, il malware crea automaticamente repository GitHub pubblici sotto l’account della vittima e carica file JSON contenenti le informazioni rubate. Sono già stati identificati migliaia di repository creati con questa tecnica. La capacità di usare piattaforme legittime come GitHub per l’esfiltrazione rende il traffico estremamente difficile da distinguere da normali attività di sviluppo.
Grafana subisce una violazione attraverso il compromesso TanStack
L’impatto della campagna supera rapidamente il perimetro degli sviluppatori individuali e raggiunge infrastrutture enterprise. Grafana conferma infatti una violazione collegata direttamente all’attacco contro i pacchetti TanStack. Come spiegato nell’articolo dedicato al breach GitHub e Grafana collegato all’estensione VS Code malevola, un pacchetto npm infetto viene accidentalmente integrato nella pipeline CI/CD dell’azienda e attiva l’esfiltrazione di token GitHub utilizzati nei workflow interni. Il team di sicurezza di Grafana rileva rapidamente l’attività sospetta e avvia il piano di risposta, ruotando la maggior parte dei token compromessi. Tuttavia un token GitHub non viene revocato e permette agli attaccanti di mantenere l’accesso a repository privati contenenti codice sorgente e informazioni operative interne. Grafana precisa che non risultano compromessi dati di produzione cliente né infrastrutture Grafana Cloud, ma l’incidente dimostra quanto un singolo secret non ruotato possa trasformare una compromissione supply-chain in una breccia persistente e difficile da contenere.
GitHub conferma il breach di 3800 repository interni
Anche GitHub conferma una compromissione interna direttamente collegata alla stessa catena di attacco. Il vettore iniziale riguarda una versione trojanizzata dell’estensione Nx Console pubblicata sul marketplace ufficiale di Visual Studio Code. L’estensione malevola rimane online solo per pochi minuti ma questo basta a compromettere un dipendente GitHub. Il payload scarica automaticamente codice aggiuntivo da un commit imposter ospitato sul repository nrwl/nx e inizia il furto di credential da strumenti come 1Password, GitHub CLI, npm e servizi cloud. Gli attaccanti sfruttano quindi credential GitHub rubate a uno sviluppatore Nx precedentemente compromesso dall’attacco TanStack. Questo accesso consente l’esecuzione di workflow interni e porta alla compromissione di circa 3800 repository interni di GitHub. TeamPCP rivendica pubblicamente il possesso del codice sorgente e di migliaia di repository privati. GitHub ruota immediatamente i secret più critici e avvia monitoraggio continuo dell’infrastruttura. Alcuni repository contenevano estratti di interazioni di supporto cliente, motivo per cui l’azienda avvia notifiche mirate agli utenti coinvolti. L’incidente evidenzia rischi enormi legati agli auto-update delle estensioni VS Code e all’assenza di periodi di review sufficienti prima della distribuzione pubblica.
Il malware evolve in botnet e piattaforma multi-funzione
Le varianti più recenti di Shai-Hulud aggiungono anche funzionalità botnet. Alcuni payload, distribuiti attraverso pacchetti come axois-utils, trasformano i sistemi infetti in nodi capaci di eseguire attacchi DDoS via HTTP, TCP e UDP. Il malware installa inoltre meccanismi di persistenza all’interno di configurazioni VS Code e Claude Code, garantendo accesso continuativo agli ambienti developer compromessi. Il leak pubblico del codice sorgente accelera ulteriormente la proliferazione di cloni e pacchetti typosquatting. Ricercatori identificano account che pubblicano varianti quasi identiche del malware con nomi modificati e funzionalità di esfiltrazione semplificate. Questo fenomeno moltiplica il numero di attori coinvolti e amplia enormemente la superficie d’attacco. Come già osservato nel caso dei pacchetti npm malevoli collegati a Shai-Hulud, il malware sfrutta la velocità dell’ecosistema open source e la fiducia implicita nei package manager moderni per propagarsi in modo estremamente rapido.
La crisi obbliga aziende e sviluppatori a rivedere la sicurezza della supply chain
La campagna Shai-Hulud rappresenta una escalation significativa nella minaccia supply-chain moderna. Gli esperti di sicurezza raccomandano downgrade immediato di tutti i pacchetti pubblicati dopo il 18 maggio 2026 nei namespace compromessi, revoca totale dei token esposti e verifica completa delle pipeline CI/CD. Le organizzazioni più mature stanno già introducendo approcci zero-trust anche negli ambienti di sviluppo, limitando privilegi dei token automatici e separando rigidamente ambienti CI, repository e produzione. Diventa inoltre fondamentale verificare manualmente provenance e attestazioni Sigstore invece di considerarle automaticamente affidabili. La crisi mostra anche quanto l’automazione spinta nel mondo DevOps possa diventare un moltiplicatore di rischio quando un singolo componente viene compromesso. TeamPCP dimostra infatti come sia possibile trasformare un piccolo leak iniziale in una campagna globale capace di coinvolgere GitHub, Grafana, npm, Visual Studio Code e migliaia di organizzazioni downstream. L’intera comunità developer è ora costretta a ripensare profondamente il rapporto tra velocità di sviluppo, automazione e sicurezza della supply chain software.
Iscriviti alla Newsletter
Non perdere le analisi settimanali: Entra nella Matrice Digitale.
Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.









