Kompromitovani Joyfill paketi aktiviraju RAT pri učitavanju u Node.js

Kompromitovane verzije i aktiviranje
Beta izdanja @joyfill/layouts 0.1.2-2773.beta.0 i @joyfill/components 4.0.0-rc24-2773-beta.4 kompromitovana su JavaScript implantom koji isporučuje RAT povezan sa porodicom DEV#POPPER. Socket je utvrdio da se kod izvršava čim Node.js učita CommonJS ulaznu tačku.
Za razliku od zlonamernih paketa koji zavise od npm lifecycle hooka, kod ovih verzija dovoljan je uvoz biblioteke. Izloženi su razvojno okruženje, CI runner, test alati, serversko renderovanje i build procesi.
Blockchain isporuka i odvojeni proces
Prva grana koristi transakcije na mrežama Tron, Aptos i BNB Smart Chain. Iz poslednje odlazne transakcije unapred zadate Tron adrese dobija BSC hash; ako to ne uspe, Aptos nalog je rezerva. Iz BSC transakcije potom izvlači, dešifruje i izvršava JavaScript.
Paralelno se pokreće odvojeni Node.js proces koji sa adrese 23.27.13[.]43 preuzima drugi boot payload, dešifruje ga i izvršava. Može ostati aktivan nakon završetka builda, testa ili CLI komande, pa ga Socket opisuje kao redundantnu isporuku, a ne bezazlenu rezervu.
Grana u glavnom procesu vraća JavaScript payload od 77 KB i preuzima drugi stepen, clientCode. Taj zamaskirani Node.js RAT šalje datoteke, preuzima kod, prikuplja podatke o hostu, izvršava komande i čita clipboard.
Podaci pod rizikom i koraci zaštite
Izdvojeni proces povezan je i sa Python infostealerom ocenjenim kao iteracija OmniStealera. Cilja Windows Credential Manager, Linux Secret Service, Chromium i Firefox, skladišta ekstenzija, Git akreditive, GitHub konfiguraciju i Visual Studio Code podatke.
Socket kompromitovanje ovih paketa povezuje sa napadima severnokorejskih aktera kroz npm pakete, ali nije utvrđeno da li je izvorni kod ubačen kompromitovanjem radne stanice, repozitorijuma, CI okruženja ili akreditiva za objavljivanje.
Timovi treba da uklone pogođene verzije iz lockfileova, keša, internih mirrora, build slika i deployment artefakata, zatim vežu zavisnost za proverenu verziju i rotiraju akreditive dostupne pogođenom Node.js procesu.

