CrowdStrike: il ladro npm PhantomRaven probabilmente scritto dall'IA
L'attacco alla catena di fornitura npm dietro il ladro di informazioni PhantomRaven è stato molto probabilmente scritto con l'aiuto di un modello linguistico di grandi dimensioni, secondo un'analisi delle Counter Adversary Operations di CrowdStrike pubblicata questa settimana. npm è la libreria pubblica dove gli sviluppatori JavaScript scaricano pezzi di codice già pronti, chiamati pacchetti, e un attacco attraverso di essa abusa della fiducia che gli sviluppatori ripongono in quella libreria. CrowdStrike ha affermato di essere giunta a questa valutazione con alta fiducia, citando commenti prolissi, codice segnaposto (sezioni di un programma lasciate incomplete) e pattern di analisi statistica dei token, che esaminano come è stato scritto il codice piuttosto che cosa fa. L'azienda descrive l'operazione come motivata finanziariamente.
Un ladro di informazioni è un tipo di malware che copia dati privati come password, chiavi di accesso e informazioni di sessione da un computer e li invia a chi lo controlla. PhantomRaven è stato segnalato per la prima volta da Koi Security e DCODX alla fine di ottobre 2025, quando hanno richiamato l'attenzione su una campagna in cui più di 100 pacchetti malevoli sono stati caricati su npm per rubare token di autenticazione, segreti CI/CD e credenziali GitHub dalle macchine degli sviluppatori. Secondo CrowdStrike, la campagna ha combinato lo slopsquatting con il typosquatting. Il typosquatting significa pubblicare un pacchetto il cui nome sembra quasi identico a uno popolare, così uno sviluppatore installa la cosa sbagliata per errore. Lo slopsquatting significa registrare un nome che uno strumento di codifica IA potrebbe inventare quando suggerisce un pacchetto che in realtà non esiste.
I pacchetti stessi erano solo la copertura. Invece di contenere il codice di furto, recuperavano una dipendenza dinamica remota, ovvero codice scaricato da un server esterno dopo l'installazione, in modo che le librerie presenti nel registro non venissero segnalate dagli strumenti di sicurezza. Una volta in esecuzione, quel codice remoto scansionava l'ambiente dello sviluppatore alla ricerca di indirizzi email, raccoglieva informazioni sull'ambiente CI/CD (la pipeline automatizzata che costruisce, testa e rilascia software) e raccoglieva un'impronta del sistema che includeva l'indirizzo IP pubblico. Poi trasmetteva i risultati a un server controllato dall'attaccante. Il malware era anche progettato per raccogliere dettagli di runtime, la data e l'ora correnti, il nome utente e gli indirizzi email memorizzati nelle configurazioni Git e npm, e le variabili d'ambiente CI/CD utilizzate da GitHub Actions, GitLab CI, Jenkins e CircleCI. Queste variabili spesso contengono le chiavi e i token che consentono a un sistema di build di pubblicare codice, distribuire un sito o raggiungere un account cloud.
Le ultime scoperte di CrowdStrike affermano che l'attore dietro l'operazione è attivo da novembre 2022 e sostiene di essere un cacciatore di bug bounty che ha raccolto ricompense da almeno nove organizzazioni nei settori tecnologico, retail e ospitalità. I programmi di bug bounty pagano le persone che segnalano responsabilmente difetti di sicurezza. L'azienda ha affermato di non aver osservato informazioni rubate da questo malware comparire nei negozi di log di ladri, i mercati dove vengono scambiate le credenziali rubate, il che a suo avviso suggerisce che l'operatore utilizza probabilmente il ladro di informazioni solo per identificare opportunità di bug bounty. CrowdStrike ha contrastato ciò con il modello abituale, in cui attori criminali noleggiano strumenti pronti all'uso o eseguono il proprio malware, e ha affermato che questo attore sembra aver costruito PhantomRaven stesso per compromettere risorse aziendali e poi ha usato tali compromissioni come leva quando richiedeva ricompense da programmi di divulgazione consolidati.
Almeno due account npm mantenuti dall'operatore sono stati osservati spingere pacchetti che contenevano PhantomRaven: jpdhellonpm1, collegato a un pacchetto chiamato transform-jsbi-to-bigint, e jpd15, collegato a uno chiamato sort-imports-es6-autofix. Entrambi gli account npm non sono più accessibili. Altre identità online collegate alla stessa operazione includono jpd12, jpd13, npmhell, npmpackagejpd, npmtestdharsh, jpdhackerone11 e packagedharsh.
La ricercatrice di sicurezza Maddie Stewart ha anche notato che nell'agosto 2025 l'attore ha affermato di aver scoperto una vulnerabilità di esecuzione di codice in modalità remota (RCE) attraverso un pacchetto npm malevolo che aveva pubblicato. RCE significa essere in grado di eseguire i propri comandi sulla macchina di qualcun altro. Secondo quel resoconto, l'attore ha detto di aver compromesso la macchina target ed eseguito il proprio script preinstall, un piccolo pezzo di codice che viene eseguito automaticamente durante l'installazione, il che, secondo lui, gli ha permesso di ottenere RCE.
C'è dell'altro. Sono emerse prove che lo stesso attore ha tentato di spingere pacchetti sul Python Package Index (PyPI), l'equivalente Python di npm, contenenti codice per un ladro di informazioni che mostra somiglianze con PhantomRaven. CrowdStrike osserva che il probabile uso di un modello linguistico di grandi dimensioni sottolinea come gli attori delle minacce stiano adottando sempre più questa tecnologia, comprimendo il tempo e lo sforzo che tali campagne richiedono. Per i proprietari di siti web e i team IT, la domanda pratica è dove risiede il rischio. Il codice che viene eseguito durante l'installazione può raggiungere gli stessi segreti che una pipeline di build utilizza per pubblicare un sito, quindi anche la copia di un progetto che non tocca mai la produzione merita attenzione.
Ecco perché vale la pena una revisione periodica di come il software viene costruito e distribuito. AEU-I, il nostro servizio di IT, infrastruttura e consulenza incentrato sulla sicurezza, è un punto da cui iniziare per i team che desiderano aiuto per esaminare esattamente questo. Fino ad allora valgono le basi: sappi da cosa dipende il tuo progetto e sostituisci le chiavi che utilizza se qualcosa si rivela essere stato manomesso.