Šta se desilo?

Istraživači bezbednosti otkrili su da su napadači kompromitovali dva npm paketa i grupu od 16 Go paketa kako bi distribuirali Python malver za krađu podataka. Malver se krije u VS Code taskovima koji mogu automatski da se pokrenu kada razvojni inženjer otvori projekat kao workspace i dozvoli automatsko izvršavanje zadataka. Na taj način napadači pokušavaju da ukradu kredencijale, pristupne tokene, API ključeve, podatke iz browsera, kripto-novčanike i druge osetljive informacije sa zaraženih računara.

Koga pogađa?

Rizik je posebno visok za softverske inženjere, developere i druge tehničke korisnike koji koriste npm pakete, Go biblioteke, VS Code ili Cursor IDE u svakodnevnom radu. Napadači ciljaju podatke koji developerima često stoje lokalno na računarima: GitHub kredencijale, Git konfiguraciju, SSH ključeve, cloud pristupe, API tokene, podatke iz browsera, lozinke iz password managera i kripto-novčanike. Korisnici Windows, Linux i macOS sistema mogu biti pogođeni ako su instalirali zaražene pakete ili otvorili kompromitovani projekat u razvojnom okruženju.

Kako se zaštititi?

  • Odmah uklonite zaražene npm pakete: html-to-gutenberg i fetch-page-assets
  • Proverite .vscode/tasks.json fajlove na svim razvojnim mašinama i uklonite sve nepoznate zadatke, posebno one sa "runOn: 'folderOpen'" opcijom
  • Resetujte sve pristupne tokene, API ključeve, GitHub kredencijale i kredencijale za cloud servise (AWS, Google Cloud, Azure)
  • Obnovite lozinke u upravnicima lozinki, autentifikatorima i novčanicima za kriptovalute
  • Pregledate pretraživačke kredencijale i izvozite/resetujte podatke ako je potrebno
  • Provjerite pristupne logove za GitHub, cloud servise i druge kritične alate na znake neovlašćenog pristupa
  • Koristite samo provere pakete iz zvaničnog npm registra i redovno pratite preporuke bezbednosti

Tehnički detalji

Napadi započinju sa skrivenim VS Code zadatkom nazvanim "eslint-check" koji je postavljen da se pokrene automatski kada se mapa otvori u VS Code ili Cursor IDE-u, označena kao poverljiva. Malver koristi blockchain infrastrukturu (TronGrid i Aptos) kao sistem za pronalaženje komandnog centra, čineći ga otpornim na gašenje. JavaScript payload se maskira kao font fajl (public/fonts/fa-solid-400.woff2). Kampanja koristi Socket.io backdoor za omogućavanje udaljene kontrole, što uključuje izvršavanje shell komandi, prikupljanje clipboard sadržaja, rad sa fajl sistemom i upravljanje procesima. Python infostealer komponenta prikuplja kredencijale iz Chromium i Firefox pretraživača, upravnika lozinki, autentifikatora, novčanika za kriptovalute, Git kredencijala, GitHub logova, VS Code fajlova i podataka iz Windows Credential Manager, Linux Secret Service, KDE Wallet, macOS Keychain i metapodataka cloud servisa (Dropbox, Google Drive, OneDrive, iCloud, Box, Mega, pCloud).

Zašto je važno za region

Balkan ima snažnu i rastuću zajednicu softverskih inženjera, freelancera i IT kompanija koje svakodnevno koriste npm, Go, VS Code, Cursor, GitHub i cloud servise. Ovakve kampanje su posebno opasne jer ne ciljaju samo krajnje korisnike, već direktno razvojna okruženja. Kompromitovan developerski računar može otvoriti put ka GitHub repozitorijumima, CI/CD sistemima, cloud okruženjima, produkcionim tajnama i internim alatima kompanije. Drugim rečima, ovo nije samo problem jednog zaraženog laptopa. U lošem scenariju, kompromitovan developerski uređaj može postati ulazna tačka za širi supply chain incident.

Preporuka Sajber Radara

Ako ste developer, odmah proverite da li ste koristili pogođene pakete i da li u projektima postoje sumnjivi VS Code taskovi. Ako postoji i najmanja sumnja da je paket bio pokrenut, nemojte samo obrisati paket i nastaviti dalje. Tretirajte uređaj kao potencijalno kompromitovan, resetujte sve osetljive kredencijale i proverite logove za GitHub, cloud servise, CI/CD alate i registre paketa. Zaključak je jednostavan: razvojna okruženja više nisu samo alat za rad- ona su direktna meta napadača.