Supply chain attack: colpiti 19 pacchetti npm chiave dello sviluppo open source

Un sofisticato attacco alla supply chain ha infettato 19 pacchetti npm diffusi globalmente, minacciando la sicurezza e l’integrità dei progetti software open source.

Autore: Redazione SecurityOpenLab

Un attacco supply chain senza precedenti ha colpito npm, il gestore di pacchetti predefinito per l’ambiente Node.js, su cui si basa gran parte dello sviluppo software open source moderno. La compromissione coordinata e diffusa è stata rilevata dagli analisti di OX Security lo scorso 8 settembre e ha interessato 19 pacchetti npm tra i più usati a livello globale, che collezionano complessivamente oltre 2 miliardi di download a settimana e sono integrati in innumerevoli dipendenze di progetti open source e commerciali.

Tutto è iniziato con un attacco di social engineering ai danni di uno dei maintainer di pacchetti npm noti e largamente diffusi. Gli attaccanti hanno ottenuto l’accesso alle credenziali e al secondo fattore del maintainer, che è stato raggirato affinché inserisse i dati su una pagina fake del registry npm abilmente imitata. Una volta acquisito il controllo dell’account, i cyber criminali hanno caricato nei 19 pacchetti sopraccitati (tra cui ansi-styles, debug, chalk, supports-color, strip-ansi e altri) lo stesso payload malevolo.

Il cuore dell’attacco è proprio il codice inserito dagli attaccanti, che viene indicato dagli esperti come uno dei Web3 drainer più sofisticati in circolazione. Il suo obiettivo primario è il furto di wallet, che avviene mediante un attacco di tipo man-in-the-browser. In sostanza, il payload interferisce con qualsiasi browser che gestisca o interagisca con wallet di criptovalute (Ethereum, Bitcoin, Solana, Tron, Litecoin, Bitcoin Cash e altri), intercettando in tempo reale qualsiasi interazione relativa a transazioni di criptovalute, senza destare sospetti né nell’utente né nelle soluzioni di difesa tradizionali.

I pacchetti coinvolti nell'attacco al momento della pubblicazione del report di OX Security

Tecnicamente, il codice malevolo si aggancia alle API standard del browser e a chiamate Web3 come per esempio window.ethereum. La caratteristica più subdola dell’attacco è la manipolazione in tempo reale di indirizzi e dati transazionali: sia i campi di immissione che i QR code generati per spostare fondi vengono alterati in modo che risorse, token e autorizzazioni vengano deviate istantaneamente verso indirizzi controllati dagli attaccanti.

A destare maggiore preoccupazione sono le molteplici vie attraverso cui un’azienda può ritrovarsi a utilizzare una versione compromessa di un pacchetto. Se in un ambiente di sviluppo o produzione si fa ricorso a uno dei pacchetti infetti e, durante una nuova installazione o la ricostruzione di un container, non viene adottato un file di lock per bloccare le versioni, c’è il rischio concreto che venga scaricata automaticamente la release malevola presente su npm.

Anche operazioni abituali come l’aggiornamento delle dipendenze, se non supervisionate, possono portare all’introduzione delle versioni infette negli ambienti di produzione. Per rimuovere la minaccia, una volta scoperta la compromissione, la raccomandazione tecnica è quella di ricostruire gli artefatti, così da forzare npm a recuperare esclusivamente le versioni sane e neutralizzare di fatto la vulnerabilità.


Visualizza la versione completa sul sito

Informativa
Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento ed utili alle finalità illustrate nella cookie policy. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, consulta la cookie policy. Chiudendo questo banner, acconsenti all’uso dei cookie.