Il 18 luglio 2025, una libreria JavaScript affidabile con oltre 31 milioni di download settimanali, eslint-config-prettier
è stato utilizzato come arma in un attacco mirato alla catena di approvvigionamento che mette in evidenza quanto possano essere vulnerabili gli ecosistemi open-source. La violazione è iniziata con un'e-mail di phishing che ha ingannato il manutentore e gli ha fatto perdere il proprio token. Utilizzando la credenziale esposta, l'aggressore ha pubblicato versioni non autorizzate del pacchetto, che contenevano uno script post-installazione che eseguiva una DLL trojan su macchine Windows durante l'installazione.
Ecco cosa è successo, come ha funzionato l'attacco e come le tecnologie OPSWAT possono aiutare a difendersi da minacce simili in futuro.
Riepilogo dell'attacco
Il popolare pacchetto npm linter, eslint-config-prettier
è usato per disabilitare regole ESLint non necessarie o in conflitto quando si usa Prettier. Di solito è incluso come dipendenza di sviluppo negli IDE locali e nelle pipeline CI (non viene fornito nel codice di produzione), ma questo non ha impedito che diventasse un veicolo di malware.
L'attacco si è svolto come segue:
1. Un'e-mail di phishing, che sembrava provenire da support@npmjs.org, ha indotto il manutentore a fare clic su un link dannoso (digitato come npnjs.com). Dopo aver seguito il link, il manutentore ha esposto inconsapevolmente il suo token di accesso a npm, che l'aggressore ha usato per pubblicare versioni dannose del pacchetto.
2. L'aggressore ha quindi utilizzato il token npm rubato per pubblicare versioni dannose del file eslint-config-prettier
pacchetto. In base alle segnalazioni degli sviluppatori, sono state identificate quattro versioni compromesse: 8.10.1, 9.1.1, 10.1.6, versioni 10.1.7
Inoltre, poiché l'attaccante ha avuto accesso al token compromesso, sono stati colpiti anche altri pacchetti gestiti dallo stesso autore, tra cui: eslint-plugin-prettier, synckit, @pkgr/core
, e napi-postinstall
3. L'aggressore ha aggiunto due file sospetti nel codice sorgente: installare.js
e nodo-gyp.dll
.
Quando un utente scarica e installa una delle versioni illegittime del pacchetto, il sistema installare.js
viene eseguito lo script, invocando uno script malevolo nodo-gyp.dll
sui sistemi Windows tramite rundll32
Tecniche di attacco utilizzate
Phishing e ingegneria sociale
L'e-mail spoofata ha aggirato con successo le protezioni e-mail di base (SPF/DKIM/DMARC) e ha impersonato il supporto di npm.
Typosquatting
Un dominio ingannevole(npnjs.com), progettato per assomigliare a npmjs.com, è stato utilizzato per rubare le credenziali. Si tratta di una classica tecnica di typosquatting.
Offuscamento del codice tramite concatenazione di stringhe
La versione malevola del pacchetto includeva uno script di post-installazione (installare.js
) che viene eseguito automaticamente dopo l'installazione.
All'interno, una funzione denominata logDiskSpace()
sembrava innocuo, ma non controllava affatto lo spazio su disco. Invece, usava la concatenazione di stringhe per mettere insieme un comando che eseguiva rundll32.exe
e ha caricato un file DLL (nodo-gyp.dll
) in bundle con il pacchetto.
Secure in modo proattivo il codice sorgente e l'OSS con OPSWAT
MetaDefender Software Supply Chain™ aiuta le organizzazioni a rilevare e bloccare le dipendenze open-source dannose prima che entrino nella pipeline CI/CD.
- Analisi SBOM: Esamina automaticamente le dipendenze e segnala le vulnerabilità note, come CVE-2025-54313, collegate a questo attacco.
- Rilevamento multi-AV: Rileva il malware offuscato come node-gyp.dll utilizzando oltre 30 motori anti-malware integrati tramite MetaScan™ Multiscanning.
- Integrazione dei repository dei sorgenti: Si integra con GitHub, GitLab e JFrog Artifactory per ispezionare e verificare continuamente l'integrità dei pacchetti.
Il vettore di attacco è partito dalla posta elettronica, ed è qui che interviene MetaDefender Email Security ™.
- Sanificazione dei file: Deep CDR™ esegue la scansione e la sanificazione degli allegati e-mail.
- Estrazione dei collegamenti ipertestuali: Tutti i link vengono visualizzati in testo normale, esponendo domini simili come npnjs.com prima che l'utente faccia clic.
Punti di forza
- La sicurezza dei manutentori è sicurezza della catena di approvvigionamento. Un singolo token falsificato ha permesso agli aggressori di dirottare librerie ampiamente utilizzate.
- Gli ecosistemi open-source si basano sulla fiducia, ma un successo di ingegneria sociale può ripercuotersi su milioni di progetti a valle.
- Le misure di sicurezza proattive, come la scansione delle dipendenze e la sanificazione delle e-mail, non sono più facoltative, ma essenziali.
Cosa fare ora
-
Evitare di installare le versioni interessate:
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- synckit: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- Ruotare i segreti utilizzati nelle build interessate
- Abilitare il 2FA per tutti gli account npm
- Condurre una formazione di sensibilizzazione sul phishing
Gli attacchi alla supply chain sono sempre più intelligenti e personali. Con le soluzioni zero-trust di OPSWATper la posta elettronica e le pipeline di sviluppo, potete anticipare il prossimo attacco.
Ulteriori informazioni su MetaDefender Software Supply Chain e MetaDefender Email Security. Contattate uno dei nostri esperti per trovare soluzioni su misura per la vostra organizzazione.