Supply Chain Attack NPM: Come un virus si infila nel sistema

La sicurezza è un processo, non un prodotto. — Bruce Schneier.

Negli ultimi mesi, il mondo della cybersecurity ha visto un attacco senza precedenti all'interno del cosiddetto "ecosistema npm", la rete di librerie JavaScript più usata al mondo. Non si tratta di una semplice violazione: è come se un virus si fosse infiltrato nei circuiti di un'azienda, sfruttando le sue stesse regole per propagarsi in modo invisibile. Questo attacco, noto come Sha1-Hulud, ha messo a nudo le fragilità di un sistema che sembra sicuro ma è in realtà pieno di buchi.

La cosa più preoccupante non è la tecnologia usata (script automatici, GitHub Actions, script automatici), ma il modo in cui l'attaccante ha sfruttato la stessa logica del sistema per farlo funzionare a suo favore. È come se un monaco taoista avesse capito che il fiume scorre sempre verso il punto più basso, e si fosse messo a guidarlo con una bussola invisibile. L'attacco ha sfruttato la fiducia dei programmatori nei confronti delle dipendenze automatiche, trasformando l'ecosistema npm in un terreno fertile per la diffusione di malware.

supply chain attack npm

Come funziona un attacco supply chain

L’idea base è semplice: un attaccante si infila nel sistema da dentro, sfruttando le sue stesse regole per spostarsi senza essere notato. Nel caso di Sha1-Hul, l'attentatore ha compromesso account di mantenitori di pacchetti popolari (come Postman o Zapier) e pubblicato versioni "trojanizzate" con script malevoli nascosti in file come setup_bun.js. Questi script si attivano durante l’installazione, eseguendo codice che non è mai stato visto prima.

È come se un virus si fosse insinuato nel sistema operativo: non si vede subito, ma ogni volta che qualcuno apre una finestra o scarica un file, il virus si riproduce. L’attacco ha sfruttato la stessa logica del sistema per diffondersi automaticamente, incrementando le versioni dei pacchetti e rilasciandone nuove con codice malevolo. Questo processo è stato così rapido che in pochi minuti si è arrivati a migliaia di pacchetti contaminati.

Le conseguenze: credenziali rubate, sistemi compromessi

L’obiettivo finale non era solo danneggiare il sistema, ma rubare informazioni sensibili. L’attacco ha sfruttato le credenziali di GitHub, AWS, GCP e Azure per accedere a repository privati, esfiltrando dati in modo invisibile. È come se un ladro si fosse infiltrato in una casa usando la stessa chiave che gli è stata data per aprire la porta.

In alcuni casi, l’attacco ha anche incluso funzionalità distruttive: ad esempio, un "dead man’s switch" che eliminava file o sovrascriveva dati se il malware perse accesso alle risorse necessarie. Questa caratteristica rende l'attacco ancora più pericoloso, perché non si limita a rubare informazioni, ma può danneggiare fisicamente il sistema.

Cosa fare per proteggersi

La soluzione non è solo tecnica, ma anche culturale. Occorre ridurre la fiducia cieca nei confronti delle dipendenze automatiche e sfruttare le stesse regole del sistema per farlo funzionare a nostro vantaggio.

  • Controlla le credenziali: Usa strumenti come GitHub Actions o Snyk per monitorare l’accesso ai repository e identificare eventuali accessi anomali.
  • Verifica i pacchetti: Prima di installare un nuovo pacchetto, verifica la sua provenienza e il numero di dipendenze che potrebbe richiedere.
  • Aggiorna regolarmente: Mantieni sempre aggiornati i sistemi e le applicazioni per ridurre il rischio di vulnerabilità non corrette.

La sicurezza è un processo, non un prodotto. Come dice Bruce Schneier: "La sicurezza è un processo, non un prodotto." Questo concetto si applica perfettamente al mondo delle supply chain attacks: non esiste una soluzione definitiva, ma una serie di azioni che possono ridurre il rischio e aumentare la resilienza del sistema.

Domande frequenti

Qual è la differenza tra Sha1-Hulud e altri attacchi supply chain?

Sha1-Hulud si distingue per la sua capacità di propagarsi autonomamente, sfruttando le dipendenze npm per espandersi rapidamente. Molti attacchi tradizionali richiedono intervento manuale.

Come rilevare un attacco come Sha1-Hulud?

Monitora i log di installazione e cerca script preinstall sospetti, repository anomali, o commit con autori falsi. Strumenti come Snyk o GitHub Advanced Security possono aiutarti nel rilevamento.

Quali pacchetti sono stati compromessi?

Pacchetti come angulartics2, ngx-toastr, e @ctrl/tinycolor sono stati colpiti, con oltre 187 package interessati in totale.


Fonti

Supply Chain Attack NPM: Il rischio del "fiume che scorre"

La sicurezza è un processo, non un prodotto. — Bruce Schneier.


supply chain attack npm

Introduzione

La supply chain attack NPM Sha1-Hulud rappresenta una delle minacce più complesse e diffuse negli ultimi mesi. Questo attacco ha sfruttato la fiducia implicita degli sviluppatori nei pacchetti di terze parti, trasformando il flusso automatico di installazione in un veicolo per il furto di credenziali e la diffusione di malware. Il suo impatto è stato enorme: oltre 187 pacchetti hanno subito modifiche maliziose, con conseguenze su migliaia di ambienti di sviluppo e CI/CD.


Metodologia dell'attacco

Compromissione dei maintainer

L’attacco ha iniziato con la sottrazione delle credenziali degli account mantainer, spesso tramite phishing mirato o sfruttando vulnerabilità nei workflow GitHub. Gli aggressori hanno pubblicato versioni "trojanizzate" di pacchetti popolari, come @postman/tunnel-agent e posthog-node, integrando script preinstall che eseguivano codice dannoso durante l’installazione.

Propagazione automatica

Il malware ha sfruttato la struttura del registry npm per replicarsi autonomamente: modificando i file package.json e riconfigurando le dipendenze, ha creato una cascata di pacchetti infetti. Questo meccanismo ha permesso al malware di espandersi rapidamente, con un tasso di diffusione che raggiungeva centinaia di repository ogni 30 minuti in punta.

Furto e esfiltrazione

Le tecniche utilizzate includevano lo sfruttamento di endpoint cloud (come quelli di AWS, GCP) per rubare credenziali, e l’uso di strumenti come TruffleHog per scansionare il sistema in cerca di segreti esposti. I dati furono archiviati in repository pubblici con nomi falsi (es. "Shai-Hulud") o in GitHub Actions, rendendo la tracciabilità estremamente difficile.


Impatto e rischi

Vulnerabilità del modello di trust

L’attacco ha messo in luce le fragilità del sistema di fiducia attuale nel registry npm: la mancanza di firma obbligatoria, la dipendenza da autenticazione a singolo fattore (MFA), e il rischio di single points of failure nei maintainer.

Danni concreti

Le credenziali rubate hanno compromesso migliaia di CI/CD pipelines, permettendo agli aggressori di accedere a dati sensibili o di modificare codice in produzione. Alcuni varianti del malware incluso un "dead man’s switch", che cancellava i file se l’accesso ai repository veniva interrotto.


Come difendersi

Monitoraggio e rilevamento

  • Analisi dei log: Controllare le attività di installazione e le modifiche a package.json per identificare anomalie.
  • Strumenti di rilevamento: Utilizzare tool come Snyk, OWASP Dependency-Check, o GitHub Advanced Security per monitorare le dipendenze.
  • IOC (Indicators of Compromise): Ricerca di script preinstall anomali, repository "Shai-Hulud", o commit con autori falsi (es. "Linus Torvalds").

Misure preventive

  • Firma dei pacchetti: Implementare la firma digitale per verificare l’autenticità delle dipendenze.
  • MFA obbligatorio: Abilitare sempre il Multi-Factor Authentication per gli account mantainer.
  • Privatizzazione: Mantenere repository sensibili privati e limitare l’accesso alle chiavi di credenziali.

Domande frequenti

Qual è la differenza tra Sha1-Hulud e altri attacchi supply chain?

Sha1-Hulud si distingue per la sua capacità di propagarsi autonomamente, sfruttando le dipendenze npm per espandersi rapidamente. Molti attacchi tradizionali richiedono intervento manuale.

Come rilevare un attacco come Sha1-Hulud?

Monitora i log di installazione e cerca script preinstall sospetti, repository anomali, o commit con autori falsi. Strumenti come Snyk o GitHub Advanced Security possono aiutarti nel rilevamento.

Quali pacchetti sono stati compromessi?

Pacchetti come angulartics2, ngx-toastr, e @ctrl/tinycolor sono stati colpiti, con oltre 187 package interessati in totale.


Fonti

Supply chain attack npm: come un fiume segue il cammino più facile

La sicurezza è un processo, non un prodotto. — Bruce Schneier.

Quando parliamo di supply chain attacks su npm, siamo di fronte a una realtà che sembra esistere da sempre, ma in modo invisibile: come un fiume che scorre senza rumore, il malware si muove nel sistema, trovando i punti più deboli. Sha1-Hulud è stato uno dei casi più estesi mai registrati, con centinaia di pacchetti compromessi e migliaia di credenziali rubate. Non un attacco improvvisato, ma una strategia che segue il principio taoista del "fiume che non si scontra con le rocce".

supply chain attack npm

Nota 1: Cosa è successo

Sha1-Hulud (noto anche come Shai-Hulud 2.0) ha colpito l'ecosistema npm a novembre 2025, segnando la seconda ondata di una campagna che aveva iniziato nel settembre dello stesso anno. Gli attaccanti hanno sfruttato account mantenitori compromessi per pubblicare versioni "trojanizzate" con script preinstall. Questi script hanno eseguito malware durante l'installazione, trasformando macchine sviluppatori e ambienti CI/CD in runner GitHub Actions.

La diffusione è stata rapida: il malware ha sfruttato credenziali rubate per infettare altri pacchetti, incrementando i numeri di versione e ripubblicandoli con codice malevolo in file come setup_bun.js. Questo ha creato un ambiente eseguibile nascosto, a volte mimando l'installazione di Bun, un runtime JavaScript legittimo.

Nota 2: Perché funziona

Il taoismo ci dice che il fiume non lotta con le rocce: segue il percorso più facile. Gli attaccanti hanno fatto esattamente questo, sfruttando la fiducia dei sviluppatori nei pacchetti npm e la mancanza di controllo sui maintainer. Non c'è stato bisogno di forzare nulla: il malware si è propagato da solo, come un virus che si replica in silenzio.

Nota 3: Cosa ha colpito

Più di 600 pacchetti npm hanno subito l'infezione, tra cui progetti noti come Zapier, PostHog e Postman. Le credenziali rubate sono state esfiltrate in repository pubblici GitHub, con un ritmo impressionante: fino a 1.000 nuovi repository ogni 30 minuti. Il malware ha incluso anche funzionalità distruttive, come un "dead man's switch" che eliminava file o sovrascriveva dischi se non aveva accesso ai servizi cloud.

Nota 4: Cosa fare

La risposta deve essere veloce: ruotare credenziali, rimuovere pacchetti compromessi e privatizzare repository GitHub. Gli strumenti come Microsoft Defender for Cloud o Snyk hanno aiutato a rilevare l'attacco, ma la lezione è chiara: il sistema npm non è sicuro per default.

Vedi anche

Domande frequenti

Qual è la differenza tra Sha1-Hulud e altri attacchi supply chain?

Sha1-Hulud si distingue per la sua capacità di propagarsi autonomamente, sfruttando le dipendenze npm per espandersi rapidamente. Molti attacchi tradizionali richiedono intervento manuale.

Come rilevare un attacco come Sha1-Hulud?

Monitora i log di installazione e cerca script preinstall sospetti, repository anomali, o commit con autori falsi. Strumenti come Snyk o GitHub Advanced Security possono aiutarti nel rilevamento.

Quali pacchetti sono stati compromessi?

Pacchetti come angulartics2, ngx-toastr, e @ctrl/tinycolor sono stati colpiti, con oltre 187 package interessati in totale.


Fonti

Supply Chain Attack Npm: La Ricerca di Vulnerabilità nel Registro JavaScript

La sicurezza è un processo, non un prodotto. — Bruce Schneier.

L’attacco al registro npm denominato Sha1-Hulud rappresenta una delle minacce più complesse mai registrate nell’ecosistema open-source. Tra novembre 2025 e settembre dello stesso anno, il malware si è propagato autonomamente attraverso migliaia di pacchetti npm, sfruttando la fiducia implicita dei sviluppatori nei confronti delle dipendenze esterne. L’incidenza ha colpito oltre 187 pacchetti popolari, tra cui angulartics2, ngx-toastr e @ctrl/tinycolor, con conseguenze significative per le infrastrutture di sviluppo e i sistemi CI/CD.


supply chain attack npm

L’Esecuzione dell’Attacco: Da Mantainer a Malware

L’attacco ha iniziato con la compromissione delle credenziali dei maintainer di pacchetti npm, un passo chiave per infiltrarsi nell’ecosistema. Gli aggressori hanno pubblicato versioni "trojanizzate" con script preinstall che eseguivano malware durante l’installazione. Queste versioni sono state replicate automaticamente, incrementando i numeri di versione e integrando codice malizioso in file come setup_bun.js o bun_environment.js, che creavano un ambiente eseguibile per il payload.

L’automatizzazione ha permesso al malware di propagarsi rapidamente: in pochi minuti, centinaia di repository GitHub sono stati infettati, con credenziali rubate (come token GitHub, chiavi AWS/GCP/Azure) scaricate e archiviate in repository pubblici. L’attacco ha raggiunto un picco di 1.000 nuovi repository ogni 30 minuti, dimostrando l’efficienza del modello di attacco.


Le Vulnerabilità dell’Ecosistema Npm

L’ecosistema npm è stato progettato per essere aperto e collaborativo, ma questa caratteristica ha creato una vulnerabilità. La fede implicita dei sviluppatori nei confronti delle dipendenze esterne ha permesso agli aggressori di sfruttare la fiducia per infiltrarsi. L’assenza di meccanismi obbligatori come la firma dei pacchetti o la verifica della provenienza ha reso più semplice il rilascio di aggiornamenti maliziosi senza rilevamento.

Tra i vettori d’attacco, account takeovers e typosquatting (o dependency confusion) sono stati utilizzati per indirizzare gli sviluppatori verso pacchetti falsi. L’esempio storico di event-stream nel 2018 mostra come un attacco simile potesse compromettere milioni di download, sfruttando la fiducia nei confronti di dipendenze legittime.


Le Consequenze: Un Ecosistema in Pericolo

L’attacco ha esposto oltre 25.000 repository GitHub, con migliaia di credenziali rubate e utilizzate per compromettere pipeline CI/CD su sistemi Linux, Windows e macOS. L’impatto è stato amplificato dal fatto che il malware non solo rubava dati, ma anche eseguiva "dead man’s switch" per cancellare file o sovrascrivere dischi se si perseguiva accesso a GitHub o npm.

Le aziende come Zapier, PostHog e Postman hanno subito danni significativi, con pacchetti popolari infettati e processi di sviluppo compromessi. La reazione degli esperti ha incluso la rotazione rapida delle credenziali, il rimozione dei package dannosi e l’aggiornamento dei tool come Microsoft Defender for Cloud per rilevare le attività sospette.


Come Proteggersi: Da Monitoraggio a Gestione del Rischio

La difesa richiede un approccio multifattoriale:
1. Monitoraggio attivo: utilizzare strumenti come Snyk o Wiz per rilevare script sospetti o modifiche anomale ai pacchetti.
2. Verifica delle provenienze: implementare controlli su chi firma i pacchetti e verificare la validità dei repository.
3. Automazione della risposta: configurare processi di rotazione automatica delle credenziali e isolamento di sistemi compromessi.

L’esperienza del Sha1-Hulud dimostra che le minacce supply chain non sono più un problema marginale, ma una realtà che richiede strategie proattive e una cultura della sicurezza integrata nel ciclo di sviluppo.


Vedi Anche


Domande frequenti

Qual è la differenza tra Sha1-Hulud e altri attacchi supply chain?

Sha1-Hulud si distingue per la sua capacità di propagarsi autonomamente, sfruttando le dipendenze npm per espandersi rapidamente. Molti attacchi tradizionali richiedono intervento manuale.

Come rilevare un attacco come Sha1-Hulud?

Monitora i log di installazione e cerca script preinstall sospetti, repository anomali, o commit con autori falsi. Strumenti come Snyk o GitHub Advanced Security possono aiutarti nel rilevamento.

Quali pacchetti sono stati compromessi?

Pacchetti come angulartics2, ngx-toastr, e @ctrl/tinycolor sono stati colpiti, con oltre 187 package interessati in totale.


Fonti

Supply Chain Attack NPM: Come un virus si infila nel sistema

La sicurezza è un processo, non un prodotto. — Bruce Schneier.

Negli ultimi mesi, il mondo della cybersecurity ha visto un attacco senza precedenti all'interno del cosiddetto "ecosistema npm", la rete di librerie JavaScript più usata al mondo. Non si tratta di una semplice violazione: è come se un virus si fosse infiltrato nei circuiti di un'azienda, sfruttando le sue stesse regole per propagarsi in modo invisibile. Questo attacco, noto come Sha1-Hulud, ha messo a nudo le fragilità di un sistema che sembra sicuro ma è in realtà pieno di buchi.

La cosa più preoccupante non è la tecnologia usata (criptovalute, GitHub Actions, script automatici), ma il modo in cui l'attaccante ha sfruttato la stessa logica del sistema per farlo funzionare a suo favore. È come se un monaco taoista avesse capito che il fiume scorre sempre verso il punto più basso, e si fosse messo a guidarlo con una bussola invisibile. L'attacco ha sfruttato la fiducia dei programmatori nei confronti delle dipendenze automatiche, trasformando l'ecosistema npm in un terreno fertile per la diffusione di malware.

supply chain attack npm

Come funziona un attacco supply chain

L’idea base è semplice: un attaccante si infila nel sistema da dentro, sfruttando le sue stesse regole per spostarsi senza essere notato. Nel caso di Sha1-Hulud, l'attentatore ha compromesso account di mantenitori di pacchetti popolari (come Postman o Zapier) e pubblicato versioni "trojanizzate" con script malevoli nascosti in file come setup_bun.js. Questi script si attivano durante l’installazione, eseguendo codice che non è mai stato visto prima.

È come se un virus si fosse insinuato nel sistema operativo: non si vede subito, ma ogni volta che qualcuno apre una finestra o scarica un file, il virus si riproduce. L’attacco ha sfruttato la stessa logica del sistema per diffondersi automaticamente, incrementando le versioni dei pacchetti e rilasciandone nuove con codice malevolo. Questo processo è stato così rapido che in pochi minuti si è arrivati a migliaia di pacchetti contaminati.

Le conseguenze: credenziali rubate, sistemi compromessi

L’obiettivo finale non era solo danneggiare il sistema, ma rubare informazioni sensibili. L’attacco ha sfruttato le credenziali di GitHub, AWS, GCP e Azure per accedere a repository privati, esfiltrando dati in modo invisibile. È come se un ladro si fosse infiltrato in una casa usando la stessa chiave che gli è stata data per aprire la porta.

In alcuni casi, l’attacco ha anche incluso funzionalità distruttive: ad esempio, un "dead man’s switch" che eliminava file o sovrascriveva dati se il malware perse accesso alle risorse necessarie. Questa caratteristica rende l'attacco ancora più pericoloso, perché non si limita a rubare informazioni, ma può danneggiare fisicamente il sistema.

Cosa fare per proteggersi

La soluzione non è solo tecnica, ma anche culturale. Occorre ridurre la fiducia cieca nei confronti delle dipendenze automatiche e sfruttare le stesse regole del sistema per farlo funzionare a nostro vantaggio.

  • Controlla le credenziali: Usa strumenti come GitHub Actions o Snyk per monitorare l’accesso ai repository e identificare eventuali accessi anomali.
  • Verifica i pacchetti: Prima di installare un nuovo pacchetto, verifica la sua provenienza e il numero di dipendenze che potrebbe richiedere.
  • Aggiorna regolarmente: Mantieni sempre aggiornati i sistemi e le applicazioni per ridurre il rischio di vulnerabilità non corrette.

La sicurezza è un processo, non un prodotto. Come dice Bruce Schneier: "La sicurezza è un processo, non un prodotto." Questo concetto si applica perfettamente al mondo delle supply chain attacks: non esiste una soluzione definitiva, ma una serie di azioni che possono ridurre il rischio e aumentare la resilienza del sistema.

Come la vedo io

Su supply chain attack npm il quadro che uso nel playbook quotidiano è lineare: osservo i log, accetto il flusso degli incidenti senza dramma da manuale. La consapevolezza qui è operativa — come curare un giardino: controlli, correggi, ripeti.

Domande frequenti

Qual è la differenza tra Sha1-Hulud e altri attacchi supply chain?

Sha1-Hulud si distingue per la sua capacità di propagarsi autonomamente, sfruttando le dipendenze npm per espandersi rapidamente. Molti attacchi tradizionali richiedono intervento manuale.

Come rilevare un attacco come Sha1-Hulud?

Monitora i log di installazione e cerca script preinstall sospetti, repository anomali, o commit con autori falsi. Strumenti come Snyk o GitHub Advanced Security possono aiutarti nel rilevamento.

Quali pacchetti sono stati compromessi?

Pacchetti come angulartics2, ngx-toastr, e @ctrl/tinycolor sono stati colpiti, con oltre 187 package interessati in totale.


Fonti