// 4 CVE · 3 EXPLOIT · 1 ADVISORY NELLE ULTIME 24H
Unit 42 documenta campagne sistematiche di supply chain npm con propagazione automatica, SLSA bypassato e accesso senza credenziali rubate.
Npm sotto assedio: il worm Shai-Hulud ha cambiato le regole

Il 2 giugno 2026 Unit 42 di Palo Alto Networks ha pubblicato un aggiornamento che ridefinisce il threat landscape di npm. L'ecosistema JavaScript ha attraversato un punto di inflessione critico nel settembre 2025 con l'emergere del worm Shai-Hulud, evolvendo da attacchi isolati a campagne sistematiche capaci di persistenza infrastrutturale, propagazione automatica e compromissione di pipeline CI/CD con generazione di provenance SLSA tecnicamente valida. La novità fondamentale è l'accesso iniziale senza credenziali rubate, ottenuto sfruttando vulnerabilità nella meccanica stessa delle GitHub Actions.

Punti chiave
  • L'11 maggio 2026 TeamPCP ha compromesso la pipeline CI di TanStack, pubblicando 84 artefatti malevoli in 6 minuti e generando pacchetti con provenance SLSA valida perché il certificato era accurato e la pipeline legittima, sebbene infettata.
  • Il 1 giugno 2026 un attacco ha compromesso 32 pacchetti @redhat-cloud-services con circa 80.000 download settimanali medi, sfruttando un account GitHub dipendente Red Hat e piazzando commit orfani che bypassavano il code review.
  • Il worm ruba token npm, GitHub PAT, credenziali cloud AWS/GCP/Azure, token Kubernetes, secret HashiCorp Vault e secret CI/CD, trasformando ogni compromissione in vettore di propagazione enterprise-wide.
  • Il codice sorgente di Mini Shai-Hulud è stato rilasciato pubblicamente il 12 maggio 2026, rendendo l'attribution delle campagne successive esplicitamente incerta nonostante TTPs consistenti.

Da settembre 2025 a giugno 2026: la cronaca di un'escalation

Unit 42 colloca l'inflessione a settembre 2025, quando il worm Shai-Hulud ha segnato "la fine dell'era dei 'fastidi' e l'inizio di un threat landscape ad alta conseguenza". Da allora la frequenza e la sofisticazione delle campagne sono cresciute in modo documentato.

A novembre 2025 è emersa la variante Shai-Hulud 2.0, con esecuzione in fase pre-install e meccanismo di fallback distruttivo per la home directory della vittima. Unit 42 valuta con confidenza moderata l'uso di LLM per generare script bash malevoli, basandosi sull'inclusione di commenti ed emoji nel codice.

Ad aprile 2026 si sono verificate due campagne Mini Shai-Hulud: "Shai-Hulud: The Third Coming" il 22 aprile e "Mini Shai-Hulud" il 29 aprile. A maggio TeamPCP ha lanciato due nuove ondate con la più alta velocità di pubblicazione di pacchetti malevoli mai registrata in un'ora. Il 12 maggio 2026 il gruppo ha reso pubblico il codice sorgente di Mini Shai-Hulud, complicando irrevocabilmente l'attribution.

"The security of the npm ecosystem reached a critical inflection point in September 2025. The Shai-Hulud worm...marked the end of the 'nuisance' era of npm attacks and the beginning of a high-consequence threat landscape." — Unit 42

L'attacco TanStack: quando la pipeline è legittima ma il risultato è malevolo

L'11 maggio 2026 l'attacco a TanStack ha dimostrato una tecnica di accesso iniziale che non richiede credenziali rubate. Secondo Unit 42, "ogni ondata Shai-Hulud precedente iniziava con credenziali rubate o phishate. L'attacco TanStack non ha avuto bisogno di nessuna delle due". La catena ha sfruttato tre vulnerabilità GitHub Actions: fork nascosto, commit spoofato con identità "claude ", e pull_request_target con checkout del merge ref.

Il risultato è stato la pubblicazione di 84 artefatti malevoli in 6 minuti su 42 pacchetti @tanstack/*, con espansione a 373 versioni malevole su 169 pacchetti npm entro fine giornata. Unit 42 stima circa 520 milioni di download cumulativi nella finestra di esposizione per @tanstack/react-router e pacchetti correlati; il solo @tanstack/react-router conta circa 12,7 milioni di download settimanali.

Il bypass SLSA è particolarmente significativo. I pacchetti generati disponevano di provenance valida: "Il certificato era accurato, i pacchetti erano realmente costruiti da quella pipeline. Semplicemente quella pipeline aveva anche malware iniettato al momento", come documenta Unit 42. La validità crittografica non ha offerto protezione contro la compromissione del processo.

Miasma e il pattern Red Hat: l'evoluzione di giugno

Il 1 giugno 2026 un attacco ha compromesso almeno 32 pacchetti pubblicati sotto il namespace @redhat-cloud-services, con versioni malevole che cumulativamente raggiungevano circa 80.000 download settimanali medi. L'accesso è avvenuto tramite account GitHub di un dipendente Red Hat compromesso, con piazzamento di commit orfani su repository RedHatInsights che bypassavano completamente il code review.

Il payload, denominato Miasma, sostituisce un file index.js di circa 200 KB con un payload offuscato di 4,29 MB: un incremento dimensionale di 25 volte che Unit 42 identifica come "segnale di rilevamento affidabile" sul piano teorico, sebbene il dossier non documenti rilevamento effettivo basato su questo indicatore. Miasma deriva da Mini Shai-Hulud con "sostanzialmente identico tradecraft", ma il rilascio pubblico del codice sorgente rende incerta l'attribution a TeamPCP nonostante la consistenza delle TTPs.

La meccanica di propagazione segue un pattern ormai consolidato. Come osserva Unit 42: "Ciò che è certo è il trend, per cui un account compromesso e una pipeline CI hanno consegnato 32 pacchetti trojanizzati automaticamente a ogni sviluppatore che ha eseguito npm install. Poi il registro fa il resto". Il worm ruba token npm, GitHub PAT, credenziali cloud multi-provider, token Kubernetes, secret HashiCorp Vault e secret CI/CD, trasformando ogni installazione in potenziale punto di pivot verso l'infrastruttura aziendale.

Perche è importante

Il dossier non specifica misure correttive in grado di neutralizzare autonomamente il vettore di accesso senza credenziali. La fonte non documenta patch disponibili per le vulnerabilità GitHub Actions sfruttate nella catena TanStack, né timeline per la loro risoluzione.

La generazione di provenance SLSA valida da pipeline compromessa rappresenta un problema strutturale che il dossier non risolve: il certificato attestava correttamente l'origine, fallendo nel non verificare l'integrità del processo pre-build. Il brief non elenca controlli in grado di intercettare questo specifico bypass.

Il rilascio pubblico del codice sorgente di Mini Shai-Hulud il 12 maggio 2026 ha modificato irreversibilmente il threat model. L'attribution delle campagne successive è esplicitamente incerta, e il dossier non fornisce criteri per discriminare tra riuso da parte di TeamPCP, emulatori indipendenti o attori distinti.

Il numero totale di vittime effettive resta sconosciuto: i download sono metrica di esposizione, non di compromissione confermata. Il dossier non quantifica il tasso di successo delle tecniche di evasione contro scanner automatici, né l'incidenza dell'attivazione condizionale dei payload "sleeper".

Axios e il RAT cross-platform: il quadro più ampio

La campagna Axios di marzo 2026, documentata in un report Unit 42 separato, conferma la sistematicità del fenomeno. L'attacco ha utilizzato la dipendenza nascosta plain-crypto-js come RAT cross-platform, con beacon ogni 60 secondi verso il server C2 sfrclak[.]com:8000. Il RAT implementa lo stesso framework in tre linguaggi: C++ compilato per macOS, PowerShell per Windows, Python per Linux. Il tempo totale da installazione a compromissione completa è stimato in circa 15 secondi secondo Unit 42.

Questa campagna è monitorata con interruzione al 19 maggio 2026; le informazioni non sono aggiornate rispetto alla campagna Miasma di giugno. Il dossier principale non stabilisce sovrapposizioni infrastrutturali tra Axios e le campagne Shai-Hulud, né conferma o esclude collusione tra TeamPCP e attori associati alla campagna Axios.

Lettura: la supply chain mangia la propria coda

Il caso documentato da Unit 42 non è una serie di incidenti correlati ma l'emergere di un modello di minaccia maturo. La supply chain open source si è costruita un'infrastruttura di trust — provenance, firme, pipeline automatizzate — che gli attori malevoli ora sfruttano come vettore di compromissione. La validità crittografica diventa camuffamento, non garanzia.

La transizione da credenziali rubate a vulnerabilità di piattaforma come vettore di accesso iniziale è particolarmente significativa. Rimuove il collo di bottiglia operativo della raccolta iniziale, rendendo le campagne scalabili e ripetibili. Il rilascio pubblico del codice sorgente accelera questa democratizzazione della minaccia.

L'asimmetria è strutturale: un singolo account compromesso e una pipeline manipolata possono propagarsi attraverso milioni di installazioni prima che qualsiasi rilevamento intervenga. Il registro npm, progettato per la distribuzione rapida e l'accesso aperto, funziona esattamente come previsto — anche quando il contenuto è malevolo.

Le informazioni sono basate sull'advisory citato e aggiornate al momento della pubblicazione.

Fonti

Le informazioni sono basate sulla fonte citata e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. unit42.paloaltonetworks.com