Attacco alla supply chain NPM: pacchetti compromessi con miliardi di download settimanali

Nell’8 settembre 2025, diversi pacchetti npm estremamente popolari — tra cui chalk, debug, ansi-styles, color-convert, strip-ansi e supports-color — sono stati compromessi e ripubblicati con codice dannoso.
Questi pacchetti rappresentano dipendenze fondamentali nell’ecosistema JavaScript e, insieme, contano miliardi di download settimanali. Le versioni malevole sono rimaste online sul registry npm per circa 2,5 ore prima di essere rimosse.
A causa della popolarità di questi pacchetti e del loro utilizzo come dipendenze transitive, l’esposizione potenziale è estremamente ampia, colpendo sia gli sviluppatori di applicazioni che i consumatori a valle.

Data 2025-09-09 13:17:45

Riassunto tecnico

La compromissione ha avuto origine da una campagna di phishing mirata contro il maintainer dei pacchetti. Gli attaccanti hanno inviato email che imitavano il supporto npm, utilizzando un dominio falso (npmjs.help) per ingannare il maintainer e ottenere le sue credenziali. Una volta compromesso l’accesso all’account, gli attaccanti hanno potuto pubblicare versioni malevole dei pacchetti interessati direttamente sul registry npm.

I pacchetti compromessi contenevano codice dannoso offuscato che intercettava sia il traffico di rete che le API delle applicazioni, prendendo principalmente di mira operazioni legate alle criptovalute, tramite:

  • Hook delle API legate alle criptovalute;
  • Rilevamento di indirizzi di wallet e dettagli di transazione;
  • Sostituzione delle destinazioni legittime dei wallet con indirizzi controllati dagli attaccanti;

Pacchetti compromessi e relative versioni:

| Nome | Versione |
|———————–|———–|
| ansi-regex | 6.2.1 |
| ansi-styles | 6.2.2 |
| backslash | 0.2.1 |
| chalk | 5.6.1 |
| chalk-template | 1.1.1 |
| color-convert | 3.1.1 |
| color-name | 2.0.1 |
| color-string | 2.1.1 |
| debug | 4.4.2 |
| error-ex | 1.3.3 |
| has-ansi | 6.0.1 |
| is-arrayish | 0.3.3 |
| simple-swizzle | 0.2.3 |
| slice-ansi | 7.1.1 |
| strip-ansi | 7.1.1 |
| supports-color | 10.2.1 |
| supports-hyperlinks | 4.1.1 |
| wrap-ansi | 9.0.1 |

Raccomandazioni

  1. Identificare e rimuovere le versioni compromesse: Scansionare la presenza dei pacchetti e delle versioni elencate sopra e svuotare le cache di npm/yarn/pnpm.
  2. Applicare l’uso dei file di lock: Bloccare le versioni (package-lock.json, yarn.lock, pnpm-lock.yaml) per garantire versioni consistenti e verificate delle dipendenze tra ambienti ed evitare installazioni accidentali di aggiornamenti dannosi.
  3. Rafforzare la sicurezza della supply chain: Implementare un monitoraggio rigoroso delle dipendenze, usare SBOM per tracciare eventuali esposizioni e implementare l’autenticazione a due fattori (2FA) con chiavi hardware per gli account dei maintainer.

Vuoi garantire la massima sicurezza informatica alla tua azienda? ISGroup SRL è qui per aiutarti con soluzioni di cyber security su misura per la tua azienda.

Vuoi che gestiamo tutto noi per te? Il servizi di Virtual CISO e di gestione delle vulnerabilità sono perfetti per la tua organizzazione.

Hai già le idee chiare su quello che ti serve? Esplora i nostri servizi di:

E molto altro. Proteggi la tua azienda con i migliori esperti di cybersecurity!