CSIRT Toscana

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.

Figura 1-mail di phishing pubblicata da Qix
Figura 1-mail di phishing pubblicata da Qix

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

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