Supply Chain Attack: rilevata compromissione di pacchetti NPM (BL01/250909/CSIRT-ITA)
Data:
9 Settembre 2025
Sintesi
È stata recentemente rilevata la compromissione di numerosi pacchetti NPM largamente diffusi al fine di distribuire codice malevolo, a seguito dell’accesso non autorizzato all’account di un noto manutentore vittima di phishing.
Descrizione
È stata recentemente rilevata la compromissione di numerosi pacchetti NPM largamente diffusi al fine di distribuire codice malevolo.

L’attacco è stato possibile grazie ad una mail di phishing ai danni di Josh Junon (alias Qix), uno dei manutentori di pacchetti interessati: tramite un’email opprotunamente predisposta (Figura 1), apparentemente inviata da npm, la vittima è stata indotta a fornire le proprie credenziali e il codice di autenticazione multifattore (2FA) al fine di evitare un presunto ed imminente blocco del proprio account.
Tramite tale raggiro, l’attaccante è riuscito a iniettare codice malevolo nei file index.js e a distribuire versioni compromesse dei relativi pacchetti ampiamente utilizzati nello sviluppo di applicazioni JavaScript e Node.js.

Il malware, progettato per intercettare e manipolare transazioni di criptovalute ( quali Ethereum (ETH), Bitcoin (BTC), Solana (SOL), Tron (TRX), Litecoin (LTC), Bitcoin Cash (BCH)) e attività Web3 nei browser, redirigendo fondi verso indirizzi controllati dall’attaccante, è stato prontamente individuato dalla comunità. Grazie ad analisi approfondite e segnalazioni su GitHub, i pacchetti compromessi sono stati rimossi nell’arco di circa due ore.
Azioni di mitigazione
Gli utenti e le organizzazioni possono far fronte a questa tipologia di attacchi verificando scrupolosamente che i pacchetti NPM da installare corrispondano alle versioni lecite.
Nel dettaglio, per quanto esposto, si raccomanda quanto segue:
- Controllare le versioni dei pacchetti in uso:
- assicurarsi di non utilizzare versioni compromesse dei pacchetti riportati in tabella;
- eventuali pacchetti malevoli potrebbero essere stati prelevati dalle 15:16 alle 17:20 CEST del 08/09/2025.
- Pulire la cache npm:
- comando: npm cache clean –force per evitare che versioni malevole vengano riutilizzate.
- Reinstallare tutte le dipendenze:
- eliminare node_modules e reinstallare i pacchetti da zero.
- Usare un package lock e versioni pinned:
- bloccare le versioni delle dipendenze ( package-lock.json o yarn.lock ) per evitare aggiornamenti automatici a versioni compromesse.
- Version pinning:
- specificare puntualmente la versione dei pacchetti critici per impedire aggiornamenti non verificati.
- Audit regolare delle dipendenze:
- utilizzare strumenti come npm audit , yarn audit o semgrep per individuare pacchetti vulnerabili o compromessi.
- Protezione degli account:
- abilitare l’autenticazione a più fattori (2FA);
- monitorare login sospetti o non autorizzati.
Si consiglia infine di valutare l’utilizzo del tool riportato al link nella sezione Riferimenti per verificare l’eventuale compromissione dei propri sistemi.
Riferimenti
- https://github.com/Cyb3r-Monk/Threat-Hunting-and-Detection/blob/main/Uncategorized/NPM%20debug%20and%20chalk%20compromise%2009-2025.md
- https://thehackernews.com/2025/09/20-popular-npm-packages-with-2-billion.html
- https://www.linkedin.com/posts/advocatemack_malware-npm-supplychain-activity-7370829639537291264-jxZD/
- https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised
- https://www.reversinglabs.com/blog/osspocalypse-what-to-know-about-the-hacks-of-leading-open-source-packages
Change log
Versione | Note | Data |
---|---|---|
1.0 | Pubblicato il 09-09-2025 | 09/09/2025 |
Il presente articolo è un prodotto originale di csirt.gov.it, riproposto qui a solo scopo di aumentarne la visibilità. Può essere visualizzato in versione originale al seguente link
Ultimo aggiornamento
9 Settembre 2025, 19:00