Gli aggressori sono riusciti a compromettere l'account del maintainer e a rilasciare due versioni dannose del pacchetto NPM axios, utilizzato come implementazione del client HTTP per browser e Node.js. Il pacchetto axios registra oltre 100 milioni di download settimanali ed è una dipendenza di 174.000 altri pacchetti. Le modifiche dannose sono state integrate nelle versioni Axios 1.14.1 e 0.30.4 tramite la sostituzione con una dipendenza fittizia plain-crypto-js 4.2.1, contenente codice per caricare componenti che ricevono comandi da un server di controllo degli aggressori. Le versioni dannose sono state rese disponibili per il download il 31 marzo per quasi 3 ore - dalle 03:21 alle 06:15 (MSK).
Le versioni dannose sono state pubblicate su NPM direttamente utilizzando le credenziali dell'admin principale del progetto axios ('jasonsaayman'), bypassando il meccanismo standard per la pubblicazione di nuove versioni basato su GitHub Actions. Si sospetta che gli attaccanti siano riusciti a compromettere il token di accesso a NPM del maintainer, dopo di che hanno effettuato l'accesso all'account e cambiato l'associazione dell'email. Non è specificato come sia stato compromesso il token di accesso.
Il codice dannoso lanciato era contenuto nel pacchetto plain-crypto-js nel file setup.js, attivato dopo il completamento dell'installazione del pacchetto NPM tramite il gestore postinstall (‘postinstall: «node setup.js»‘) e utilizzato per scaricare e installare un trojan che colpiva i sistemi Windows, macOS e Linux. Per nascondere la propria presenza dopo l'avvio, il componente dannoso eliminava il file setup.js e sostituiva package.json con una versione priva del hook postinstall. 
Su macOS, il file eseguibile dannoso veniva scaricato come «/Library/Caches/com.apple.act.mond», su Windows come «%PROGRAMDATA%\wt.exe», su Linux come «/tmp/ld.py,». Dopo l'attivazione su Linux e macOS, ogni 60 secondi veniva inviato un comando esterno all'attaccante per l'esecuzione sul sistema compromesso, che poteva essere utilizzato per scaricare componenti dannosi aggiuntivi, eseguire comandi shell arbitrari e cercare/inviare determinati file. un server L'attività dannosa su Linux e macOS non prevedeva il mantenimento della presenza dopo il riavvio ed era progettata per un rapido recupero di dati sensibili, password, token e chiavi di accesso. Su Windows veniva creato un file «%PROGRAMDATA%\system.bat», che estraeva il componente dannoso con
L'attività dannosa su Linux e macOS non prevedeva la persistenza dopo il riavvio ed era progettata per una rapida raccolta di dati riservati, password, token e chiavi di accesso. Su Windows veniva creato un file "%PROGRAMDATA%\system.bat", che estraeva il componente dannoso con server attaccanti ad ogni accesso al sistema.
Fonte: opennet.ru
