Axios npm sotto attacco: trojan nordcoreano nella supply chain, esecuzione automatica e backdoor WAVESHAPER.V2
Featured

Axios npm sotto attacco: trojan nordcoreano nella supply chain, esecuzione automatica e backdoor WAVESHAPER.V2

Google ha attribuito un attacco alla supply chain che ha colpito Axios npm, una delle librerie JavaScript più usate per le richieste HTTP, a un cluster di minacce nordcoreano identificato come UNC1069. La compromissione non ha modificato direttamente il codice di Axios, ma ha sfruttato la distribuzione del pacchetto per inserire una dipendenza malevola e ottenere esecuzione automatica sui sistemi degli sviluppatori e delle pipeline di build.

Gli attaccanti hanno preso il controllo dell’account del maintainer su npm e hanno pubblicato due versioni trojanizzate, 1.14.1 e 0.30.4. Queste release includevano una dipendenza chiamata plain crypto js, progettata per attivare un meccanismo postinstall nel file package.json. In pratica, al momento dell’installazione del pacchetto compromesso, npm eseguiva in background codice malevolo senza richiedere azioni aggiuntive, rendendo l’operazione particolarmente insidiosa in ambienti CI/CD e in progetti con aggiornamenti automatici.

La dipendenza plain crypto js agiva come veicolo di consegna del payload tramite un dropper JavaScript offuscato noto come SILKBELL, spesso indicato come setup.js. Il dropper contattava un server remoto e scaricava lo stadio successivo in base al sistema operativo della vittima, con una logica cross-platform.

Payload distribuiti per sistema operativo
  • Windows: veniva distribuito malware PowerShell.
  • macOS: veniva distribuito un binario Mach-O in C++.
  • Linux: veniva distribuito un backdoor in Python.

Per aumentare la stealth, il dropper eseguiva anche una pulizia, rimuovendo le proprie tracce e sostituendo il package.json della dipendenza con una versione apparentemente pulita priva del postinstall hook.

Il backdoor finale è stato associato a WAVESHAPER.V2, evoluzione di WAVESHAPER, già collegato a campagne contro il settore delle criptovalute. Le varianti osservate supportano comandi per terminare l’esecuzione, enumerare directory e metadati dei file, eseguire script e comandi di sistema e decodificare ed eseguire binari arbitrari. La comunicazione con il server di comando e controllo avviene a intervalli regolari e utilizza formati più moderni come JSON, aumentando le capacità di raccolta informazioni e gestione remota.

Mitigazioni consigliate contro supply chain attack su npm
  • Verificare le versioni compromesse: controllare se sono state installate le release 1.14.1 e 0.30.4.
  • Eseguire downgrade a una versione sicura: ripristinare Axios a una versione nota come non compromessa.
  • Bloccare la versione in lockfile: fissare Axios a una versione nota nel package-lock.json.
  • Controllare node_modules: cercare la presenza della dipendenza plain crypto js.
  • Hunting e contenimento: terminare processi sospetti e isolare gli host impattati.
  • Rotazione credenziali: ruotare tutte le credenziali potenzialmente esposte.
  • Blocchi di rete: bloccare domini e indirizzi IP di C2 noti.
  • Audit delle dipendenze: avviare un controllo completo delle dipendenze, includendo eventuali altri registri usati nelle pipeline.