Deset balíčků npm bylo náhle aktualizováno s přidáním škodlivého kódu, který krade proměnné prostředí a další citlivá data ze systémů vývojářů. Kampaň cílila na několik balíčků souvisejících s kryptoměnami, přičemž populární balíček „country-currency-map“ byl stahován tisícekrát týdně.
Škodlivý kód objevil expert společnosti Sonatype Ali ElShakankiry a nachází se ve dvou silně obfuskovaných skriptech, „/scripts/launch.js“ a „/scripts/diagnostic-report.js“, které se spouštějí při instalaci balíčku.
Sonatype uvádí, že JavaScript krade proměnné prostředí zařízení a odesílá je na vzdálený hostitel „eoi2ectd5a5tn1h.m.pipedream(.)net“. Proměnné prostředí jsou často cílem útoků, protože mohou obsahovat API klíče, přihlašovací údaje k databázím, cloudové přihlašovací údaje a šifrovací klíče, které mohou být použity k dalším útokům.
Jak vysvětluje analytik malwaru společnosti Sonatype Ax Sharma ve svém článku, protože škodlivý kód je stejný ve všech repozitářích a většina z nich měla po léta čistý záznam, pravděpodobně došlo k jejich kompromitaci nějakým způsobem.
„Domníváme se, že příčinou kompromitace mohlo být buď zneužití starých účtů správců npm prostřednictvím útoků credential stuffing (kdy útočníci zkoušejí uživatelská jména a hesla uniklá při předchozích únicích dat k přístupu na jiné weby), nebo převzetí domény s vypršenou platností – obě situace jsou běžné a popsány v dokumentaci npm,“ uvádí Sonatype. „Vzhledem k současnému načasování útoků na více balíčků od různých správců se zdá pravděpodobnější scénář převzetí účtů správců než dobře organizované phishingové útoky.“
Názvy balíčků, jejich kompromitované verze a počet stažení škodlivé verze jsou uvedeny níže:
– country-currency-map: verze 2.1.8, 288 stažení.
– @keepkey/device-protocol: verze 7.13.3, 56 stažení.
– bnb-javascript-sdk-nobroadcast: verze 2.16.16, 61 stažení.
– @bithighlander/bitcoin-cash-js-lib: verze 5.2.2, 61 stažení.
– eslint-config-travix: verze 6.3.1, 0 stažení.
– babel-preset-travix: verze 1.2.1, 0 stažení.
– @travix/ui-themes: verze 1.1.5, 0 stažení.
– @veniceswap/uikit: verze 0.65.34, 0 stažení.
– @crosswise-finance1/sdk-v2: verze 0.1.21, 0 stažení.
– @veniceswap/eslint-config-pancake: verze 1.6.2, 0 stažení.
Všechny tyto balíčky, kromě „country-currency-map“, jsou stále dostupné na npm, přičemž jejich nejnovější verze jsou uvedeny výše. Stažení těchto verzí infikuje vaše projekty malwarem typu info-stealer.
Zdroj: BleepingComputer
Zdroj: IT SECURITY NETWORK NEWS
Zdroj: ICT NETWORK NEWS