Infractorii au reușit să intercepteze contul curatorului și să lanseze două versiuni malițioase ale pachetului NPM axios, care oferă o implementare a clientului HTTP pentru browsere și Node.js. Pachetul axios are peste 100 milioane de descărcări pe săptămână și este utilizat ca dependență de 174.000 de alte pachete. Modificările malițioase au fost integrate în versiunile Axios 1.14.1 și 0.30.4 prin introducerea unei dependențe false plain-crypto-js 4.2.1, care conține cod pentru descărcarea componentelor ce primesc comenzi de la serverul de comandă al infractorilor. Versiunile malițioase au fost disponibile pentru descărcare pe 31 martie timp de aproape 3 ore — de la 03:21 la 06:15 (MSK).
Versiunile malițioase au fost încărcate în NPM direct folosind acreditivele curatorului principal al proiectului axios („jasonsaayman”) ocolind mecanismul standard de publicare a noilor versiuni bazat pe GitHub Actions. Se presupune că atacatorii au reușit să intercepteze un token de acces la NPM, după care s-au conectat la cont și au schimbat asocierea cu emailul. Cum a fost interceptat tokenul de acces nu este precizat.
Codul malițios activat era plasat în pachetul plain-crypto-js în fișierul setup.js, se activa după finalizarea instalării pachetului NPM printr-un handler postinstall (‘postinstall: „node setup.js”‘) și era folosit pentru a descărca și instala un troian, infectând sisteme cu Windows, macOS și Linux. Pentru a-și ascunde prezența, după activare, componenta malițioasă ștergea fișierul setup.js și înlocuia package.json cu o variantă fără hook postinstall. 
În macOS, fișierul executabil malițios era descărcat ca „/Library/Caches/com.apple.act.mond”, în Windows — „%PROGRAMDATA%\wt.exe”, iar în Linux — „/tmp/ld.py,”. După activare, în Linux și macOS, la fiecare 60 de secunde se trimitea o solicitare către atacatori pentru execuția pe sistemul infectat, care putea fi folosită pentru a descărca componente malițioase suplimentare, pentru a executa comenzi shell arbitrare și pentru a căuta/trimite anumite fișiere. serverul Activitatea malițioasă în Linux și macOS nu prevedea păstrarea prezenței după o repornire și era proiectată pentru a colecta rapid date confidențiale, parole, tokenuri și chei de acces. În Windows, era creat un fișier „%PROGRAMDATA%\system.bat”, care extrăgea componenta malițioasă de la atacatori la fiecare conectare la sistem.
Prezența malițioasă în Linux și macOS nu era menținută după repornire și era destinată unei colectări rapide de date confidențiale, parole, tokenuri și chei de acces. În Windows se crea un fișier „%PROGRAMDATA%\system.bat”, care extrăgea componenta malițioasă de la atacatori la fiecare logare în sistem. server Atacatorii aveau acces la acest fișier la fiecare intrare în sistem.
Sursa: opennet.ro
