Negli ultimi mesi la sicurezza della supply chain software è stata nuovamente minacciata da una massiccia campagna di attacco che ha preso di mira il registry npm, uno dei principali ecosistemi per pacchetti JavaScript. I ricercatori hanno individuato oltre 100 pacchetti npm malevoli che, una volta installati, rubano token di autenticazione, segreti CI/CD e credenziali GitHub direttamente dai dispositivi degli sviluppatori. L’attacco, denominato PhantomRaven, ha avuto inizio ad agosto 2025 ed è rapidamente cresciuto fino a coinvolgere ben 126 librerie, totalizzando più di 86000 installazioni.
Pacchetti coinvolti e tecniche di occultamento
Tra i pacchetti coinvolti, alcuni sono stati prontamente segnalati dalla comunità DevSecOps, tra cui op-cli-installer, unused-imports, badgekit-api-client, polyfill-corejs3 ed eslint-comments, con centinaia o migliaia di download ciascuno. La particolarità di questa campagna sta nella modalità di occultamento del codice malevolo: i cybercriminali hanno sfruttato la possibilità di dichiarare dipendenze remote non ufficiali, indirizzando npm a scaricare codice da un server esterno controllato dagli attaccanti invece che dal repository ufficiale. Questo stratagemma elude la maggior parte dei sistemi di analisi automatica, che non seguono i link a dipendenze HTTP esterne e quindi classificano tali pacchetti come privi di dipendenze sospette.
Rischi e dinamica dell'attacco
Il rischio è amplificato dal fatto che il server remoto può modificare in qualsiasi momento il payload distribuito, rilasciando inizialmente codice innocuo e solo in seguito, una volta ottenuta fiducia e diffusione, attivare la componente malevola. Il meccanismo di infezione parte quando uno sviluppatore installa uno di questi pacchetti apparentemente innocui; viene così eseguito uno script preinstall che scarica il payload principale dal server esterno. Il malware risultante esegue una scansione dell’ambiente di sviluppo, raccoglie indirizzi email, informazioni sul sistema e dettagli sull’ambiente di integrazione continua, esfiltrando tutto verso l’infrastruttura degli attaccanti.
Slopsquatting e inganno degli sviluppatori
La scelta dei nomi dei pacchetti è studiata per sfruttare la cosiddetta tecnica dello slopsquatting, ossia la registrazione di nomi plausibili generati anche da modelli di linguaggio AI che suggeriscono dipendenze verosimili ma inesistenti. In questo modo gli sviluppatori, fidandosi di nomi familiari o suggeriti da strumenti di intelligenza artificiale, rischiano di installare inconsapevolmente il malware.
Lezioni per la sicurezza della supply chain
Questo episodio evidenzia ancora una volta come il modello open-source e gli automatismi dell’ecosistema npm, come l’esecuzione automatica di script lifecycle all’installazione, rappresentino un terreno fertile per attacchi supply chain sofisticati e difficili da rilevare. Gli sviluppatori devono prestare massima attenzione alle fonti dei pacchetti e alle loro dipendenze, adottando soluzioni di analisi avanzata e monitoraggio costante dell’integrità dei propri ambienti di sviluppo.

