Attacco ChainDrop: compromessi 1.300+ pacchetti npm e miliardi di…


Un worm auto‑propagante chiamato “ChainDrop” ha compromesso oltre 1.300 pacchetti npm, tra cui Keyv e Cacheable, per un totale di circa 2 miliardi di download mensili. Il malware, inserito tramite un account GitHub compromesso, estrae credenziali dai sistemi di sviluppo e pipeline CI/CD. Un evento grave che mette a rischio aziende di ogni dimensione.
Cosa è successo
Il malware ChainDrop è stato iniettato in oltre 1.300 pacchetti npm (come Keyv, Cacheable, flat‑cache, file‑entry‑cache), utilizzati da milioni di progetti. L’attacco è partito dal compromesso dell’account GitHub di un manutentore, che ha permesso ai cybercriminali di pubblicare versioni fasulle tramite i workflow GitHub Actions, mantenendo una validità apparente delle release.
Una volta installati, i pacchetti infetti eseguivano automaticamente uno script (“setup.mjs”) che scaricava un runtime “Bun” per attivare uno script malevolo (“Math_Symbol.js” o “math_init.js”) in grado di estrarre credenziali (token GitHub, npm, AWS, DB, Kubernetes, Vault e altri) e inviarle via rete, anche su npm‑cache.com o un repository pubblico GitHub.
Trattandosi di un worm, il malware si è diffuso in maniera autonoma: ha sfruttato credenziali rinvenute nei sistemi per compromettere altri pacchetti e proseguire la propagazione.
Perché è importante
Questo incidente impatta direttamente chi gestisce siti web, e‑commerce e infrastrutture digitali. L’infezione può avvenire anche durante lo sviluppo o gli aggiornamenti automatici, senza che si noti qualcosa di anomalo.
Se un sistema ha installato uno di questi pacchetti, anche successivamente rimosso, è altamente probabile che si tratti di un ambiente compromesso: dalle workstation agli ambienti CI/CD fino ai server di produzione. Le credenziali trafugate possono permettere accessi non autorizzati e furto di dati sensibili.
Cosa fare adesso
- Verificare se si usano pacchetti compromessi; se sì, rimuoverli e ripristinare da backup sicuri.
- Ricostruire ambienti di sviluppo e CI/CD da zero, non basta rimuovere i pacchetti infetti.
- Ruotare immediatamente tutte le credenziali e token (GitHub, npm, AWS, etc.).
- Bloccare l’esecuzione automatica di script npm nei processi CI (es. configurare `ignore‑scripts=true`).
- Usare lockfile con versioni precise e verificare script “preinstall” sospetti nella vostra dipendenza.
- Monitorare traffico in uscita insolito da workstation o build server, attenendo a domini sospetti come npm‑cache.com.
Come ti aiuta Evo Sistemi
Da Evo Sistemi possiamo supportarti con servizi mirati per proteggere la tua azienda:
- Sicurezza informatica — audit di sicurezza, monitoraggio e protezione proattiva dei tuoi sistemi e dipendenze.
- Realizzazione siti web — costruzione di siti e-commerce sicuri fin dall’inizio, con attenzione a dipendenze e aggiornamenti.
- Compliance e GDPR — gestiamo la conformità e la protezione dati, integrando sicurezza e normative per la tua tranquillità.
Se vuoi capire come rafforzare le difese digitali della tua azienda, contattaci.
Domande frequenti
Un pacchetto rimosso è sufficiente per mettere al sicuro il sistema?
No. Se è stato installato un pacchetto infetto, è molto probabile che il sistema sia compromesso. È necessario ricostruire l’ambiente e ruotare tutte le credenziali.
Come posso sapere se ho usato un pacchetto compromesso?
Controlla la lista di pacchetti come Keyv, Cacheable, flat‑cache e file‑entry‑cache. Verifica script sospetti in “preinstall” o chiamate a runtime esterni durante l’installazione.
Cosa significa worm auto‑propagante nel contesto npm?
Significa che il malware si diffonde in autonomia: una volta eseguito, cerca altri ambienti o pacchetti accessibili usando credenziali rubate per infettarli a sua volta.
Fonte: BleepingComputer.