Attacco alla supply chain: milioni di progetti a rischio per la violazione di una libreria JavaScript
La compromissione di una libreria JavaScript ampiamente utilizzata ha messo a rischio milioni di progetti in tutto il mondo. Il pacchetto in questione è un componente fondamentale, ma passato inosservato, dell’ecosistema Node.js per anni. È proprio questa utility leggera per il controllo dei tipi e la convalida dei valori ad essere diventata l’ultima vittima di un attacco alla supply chain, e questa volta le conseguenze sono particolarmente devastanti.
L’incidente è iniziato con una campagna di phishing in cui gli aggressori hanno rubato le credenziali degli sviluppatori per pubblicare pacchetti su NPM. Dopo aver ottenuto l’accesso, hanno silenziosamente cambiato i proprietari del progetto e pubblicato versioni dannose della libreria, dalla 3.3.1 alla 5.0.0. Secondo John Harband, il principale responsabile della manutenzione, le build infette sono rimaste pubblicamente disponibili per circa sei ore, durante le quali avrebbero potuto essere scaricate da migliaia di sviluppatori.
La portata della distribuzione è particolarmente allarmante: “is” viene utilizzato in un’ampia gamma di progetti, dai sistemi di compilazione e strumenti CLI alle librerie di test. Secondo NPM, il pacchetto viene scaricato più di 2,8 milioni di volte a settimana. Gli aggiornamenti automatici e l’assenza di blocchi di versione (lockfile) hanno aumentato significativamente le probabilità di infezione dei progetti finali, soprattutto nei grandi ecosistemi.
L’analisi di Socket ha dimostrato che il codice dannoso in “is” era un generico loader JavaScript. Avviava una connessione WebSocket inversa, raccoglieva dati di sistema (nome host, tipo di sistema operativo, architettura della CPU e tutte le variabili d’ambiente) e li inviava tramite una libreria ws importata dinamicamente. Ogni messaggio in arrivo tramite il socket veniva eseguito come codice JavaScript, consentendo di fatto all’aggressore di accedere in remoto al dispositivo.
Contemporaneamente, altri pacchetti hackerati nella stessa campagna distribuivano un malware incentrato su Windows chiamato Scavanger. Questo spyware raccoglieva le password salvate dai browser e manteneva una comunicazione segreta con il server di comando e controllo. Le sue tecniche di elusione includevano l’uso di chiamate di sistema indirette e canali C2 crittografati. Tuttavia, in alcuni casi, Scavanger poteva attivare avvisi da Chrome a causa di tentativi di manipolarne i flag di sicurezza.
L’elenco dei pacchetti interessati, oltre a “is”, include: eslint-config-prettier, eslint-plugin-prettier, synckit, @pkgr/core, napi-postinstall e got-fetch. Tutti hanno ricevuto aggiornamenti dannosi tra il 18 e il 19 luglio 2025, a indicare un attacco coordinato con uno script preimpostato. Il fulcro della campagna di phishing era il dominio fittizio npnjs[.]com, che gli aggressori hanno utilizzato per indurre gli sviluppatori legittimi a fornire credenziali di accesso e token.
Gli esperti avvertono che l’attacco potrebbe non limitarsi ai casi già noti: gli aggressori hanno probabilmente ottenuto l’accesso ad altre credenziali e potrebbero presto iniziare a distribuire nuove build dannose. Si consiglia vivamente agli sviluppatori di reimpostare immediatamente password e token, disabilitare gli aggiornamenti automatici delle dipendenze, utilizzare file di blocco e congelare temporaneamente le versioni di tutte le librerie pubblicate dopo il 18 luglio.
L’incidente “is” è un’ulteriore conferma della fragilità del modello di fiducia che sostiene l’intero ecosistema open source. Un singolo pacchetto non rilevato può aprire una porta secondaria in migliaia di sistemi aziendali e consumer, e nessuno se ne accorgerà finché non sarà troppo tardi.
L'articolo Attacco alla supply chain: milioni di progetti a rischio per la violazione di una libreria JavaScript proviene da il blog della sicurezza informatica.