Një nga bibliotekat më të njohura të JavaScript është komprometuar nga hakerët paketa Axios u godit në një sulm të zinxhirit të furnizimit që vendosi një RAT ndër-platformë
Një sulmues kompromentoi llogarinë npm të një mirëmbajtësi kryesor të Axios më 30 mars dhe e përdori atë për të publikuar dy versione keqdashëse të bibliotekës së klientëve HTTP JavaScript të përdorur gjerësisht, sipas StepSecurity. Versionet e helmuara, axios@1.14.1 dhe axios@0.30.4, injektuan një varësi të fshehur që instaloi në heshtje një trojan me akses të largët ndër-platformë në makinat zhvilluese që përdorin macOS, Windows dhe Linux. Axios shkarkohet afërsisht 100 milionë herë në javë në npm.

Të dy versionet keqdashëse shtuan një varësi të re në manifestin e paketës: plain-crypto-js@4.2.1, një trojan i ndërtuar posaçërisht i maskuar si biblioteka legjitime crypto-js. Paketa nuk u importua ose u referua askund në kodin burimor të Axios. Funksioni i saj i vetëm ishte të ekzekutonte një skript pas instalimit që kontaktonte një server komande dhe kontrolli në sfrclak.com, shkarkonte një ngarkesë RAT specifike për platformën dhe më pas shkatërronte të gjitha provat e ekzekutimit të vet.

Sulmi u organizua gjatë afërsisht 18 orëve, me një llogari npm të kontrolluar nga sulmuesi që publikoi një version të pastër mashtrues të plain-crypto-js në orën 05:57 UTC më 30 mars për të përcaktuar historikun e publikimit. Versioni me ngarkesë të dëmshme pasoi në orën 23:59 UTC. Llogaria e mirëmbajtësit të kompromentuar të Axios, jasonsaayman, më pas publikoi axios@1.14.1 në orën 00:21 UTC më 31 mars, e ndjekur nga axios@0.30.4 në orën 01:00 UTC, duke mbuluar degët e versionit modern 1.x dhe atë të trashëguar 0.x brenda 39 minutash nga njëra-tjetra.
Analiza e kohës së ekzekutimit e StepSecurity konfirmoi se dropper bëri lidhjen e tij të parë dalëse me serverin C2 vetëm 1.1 sekonda pasi filloi instalimi i npm. Në macOS, binarja RAT u shkrua në /Library/Caches/com.apple.act.mond, duke imituar një proces të sistemit Apple. Në Windows, malware kopjoi PowerShell në %PROGRAMDATA%\wt.exe dhe ekzekutoi një skript të fshehur. Në Linux, ai shkarkoi një RAT të bazuar në Python në /tmp/ld.py.
Pas ekzekutimit, setup.js fshiu veten, hoqi paketën e vet.json që përmbante grepin keqdashës të postinstall dhe e zëvendësoi atë me një stub të pastër të parapërgatitur që raportonte një numër të ndryshëm versioni. Një inspektim mjeko-ligjor i paketës së instaluar më pas nuk do të tregonte asgjë të dyshimtë.
Versionet keqdashëse qëndruan aktive për afërsisht dy deri në tre orë përpara se npm t’i çpublikonte ato dhe të vendoste një bllokim sigurie në plain-crypto-js. Asnjëri version i kompromentuar nuk shfaqet në etiketat e depove GitHub të Axios, duke konfirmuar se ato u publikuan direkt në regjistrin npm jashtë tubacionit normal CI/CD të projektit.
StepSecurity, Snyk, Wiz dhe Vercel kanë publikuar këshilla duke rekomanduar që çdo sistem ku ekzekutohet paketa keqdashëse duhet të trajtohet si plotësisht i kompromentuar, me të gjitha kredencialet e ndërruara menjëherë. Problemi i GitHub që gjurmon incidentin është axios/axios#10604.
