Sito web npm falso utilizzato per diffondere malware tramite token rubato

Una campagna di phishing rivolta agli sviluppatori JavaScript ha portato alla compromissione di diversi pacchetti npm popolari, tra cui eslint-config-prettier
. La violazione è iniziata quando un aggressore ha ingannato un manutentore utilizzando una pagina di login falsa ospitata su un dominio simile, npnjs.com
.
Una volta che l'aggressore è entrato in possesso del token npm del manutentore, ha inserito versioni dannose dei pacchetti chiave direttamente nel registro, bypassando completamente i repository GitHub .
Secondo Socket, una piattaforma di sicurezza incentrata sugli sviluppatori, che per prima ha individuato la truffa, quattro versioni di eslint-config-prettier
(8.10.1, 9.1.1, 10.1.6, 10.1.7) contenevano uno script che viene eseguito durante l'installazione, prendendo di mira i computer Windows. Lo script tenta di avviare un file node-gyp.dll
utilizzando rundll32
, che potrebbe consentire all'aggressore di eseguire codice arbitrario sui sistemi interessati. I ricercatori di sicurezza hanno assegnato al problema un punteggio CVSS di 7,5 e hanno confermato che è stato tracciato un nuovo CVE ( CVE-2025-54313 ).
Il post del blog di Socket condiviso con Hackread.com ha rivelato che l'attacco è passato inosservato per un po' di tempo, poiché non c'erano commit o richieste di pull nel repository GitHub collegati alle nuove versioni.
L'aggressore si è invece affidato alle proprie credenziali npm per pubblicare direttamente, evitando di essere rilevato finché gli utenti non hanno iniziato a notare attività sospette. Tra gli altri pacchetti interessati scoperti dai ricercatori figurano i seguenti:
synckit
: 0.11.9-
@pkgr/core
: 0.2.8 -
napi-postinstall
: 0.3.1 -
eslint-plugin-prettier
: 4.2.2 e 4.2.3
Questi pacchetti sono ampiamente utilizzati nei progetti front-end e Node.js. Poiché molti sviluppatori si affidano a strumenti automatizzati come Dependabot o Renovate, versioni compromesse potrebbero essere state introdotte nei progetti senza che nessuno se ne accorgesse. Una volta installato, il payload potrebbe fornire accesso remoto ai computer Windows che eseguono le build interessate.
La buona notizia è che il responsabile del token compromesso ha agito rapidamente dopo aver appreso della violazione. Le versioni dannose sono state deprecate e rimosse, le credenziali sono state ruotate e il supporto npm è stato coinvolto per assistere nella pulizia.
Socket ha monitorato la situazione e continua a scansionare il registro npm alla ricerca di altre attività sospette. I suoi strumenti segnalano eventuali nuove versioni con script di installazione o payload binari inaspettati, il che potrebbe aiutare gli sviluppatori a individuare tempestivamente i problemi, prima che il codice dannoso si diffonda.
Nigel Douglas , responsabile delle relazioni con gli sviluppatori di Cloudsmith, ha commentato le implicazioni più ampie. Ha sottolineato che questo è un altro esempio di come le catene di dipendenze possano trasformarsi in vettori di attacco. "Le pipeline CI/CD attingono di default centinaia di dipendenze transitive, ognuna con i propri manutentori, cicli di aggiornamento e cronologia di esposizione", ha affermato. "Senza processi sicuri di recupero delle dipendenze, basta una sola violazione a monte per causare caos in produzione".
Douglas ha anche sottolineato che è irragionevole aspettarsi che gli sviluppatori individuino ogni vulnerabilità da soli. "Se un singolo token di manutenzione rubato può infiltrare codice dannoso in uno degli strumenti di linting più utilizzati su npm, questo dovrebbe dirci qualcosa. Non si può risolvere il problema concentrandosi solo sui singoli pacchetti", ha aggiunto.
Ha auspicato pratiche di manutenzione più efficaci, come token con ambito e 2FA, insieme a misure di sicurezza a livello di registro e sistemi di gestione degli artefatti sicuri che supportino elementi come l'immutabilità della versione e la verifica dell'affidabilità delle fonti.
HackRead