Open VSX uklonio 77 zlonamernih kopija razvojnih ekstenzija

Open VSX je 3. avgusta 2026. uklonio 77 zlonamernih ekstenzija koje su oponašale legitimne razvojne alate i prenosile podatke o sistemima na kojima su instalirane. Paketi su objavljivani od 26. jula do 1. avgusta, a Manifold Security utvrdio je da je 58 primeraka uglavnom prikupljalo naziv računara, dok je 19 slalo znatno detaljniji opis uređaja, otvorenog repozitorijuma, editora i CI okruženja.
Kako su lažne ekstenzije gradile poverenje
Kampanja je preuzimala nazive, namespace oznake i opise stvarnih Open VSX ekstenzija, ali ih je objavljivala preko nepovezanih naloga i dodeljivala im niske verzije, poput 0.0.1. Ključna izmena bila je zamena sadržaja datoteke extension.js kodom za prikupljanje i slanje podataka, predstavljenim kao anonimna telemetrija.
Nijedan od 77 paketa nije pružao funkcionalnost oglašenu u katalogu. Umesto toga, dodatak bi prikazao stavku u statusnoj traci i poruku da je aktivan, a zatim pokrenuo eksfiltraciju. Oslanjanje na poznata imena uklapa se u obrazac zloupotrebe pozajmljenog digitalnog poverenja kojim napadači koriste već izgrađeno poverenje da bi umanjili sumnju korisnika.
Svi paketi slali su podatke domenu mangorbit.com, registrovanom 15. jula 2026, jedanaest dana pre objavljivanja prvih ekstenzija. Kod i ponašanje dve grupe imali su zajedničke karakteristike, uključujući isti kanal za eksfiltraciju.
Koje podatke je naprednija grupa prikupljala
Devetnaest izviđačkih ekstenzija prikupljalo je lokalni hostname i korisničko ime operativnog sistema, naziv i verziju editora, vrstu hosta, identifikator računara, platformu, arhitekturu, jezik, vremensku zonu i punu putanju otvorenog radnog direktorijuma.
- Pregledale su direktorijum .git radi otkrivanja udaljenih Git hostova, organizacija, domena razvojne e-pošte, aktivne grane i SHA vrednosti HEAD commita.
- Popisivale su do 60 instaliranih ekstenzija i čitale proxy hostname iz okruženja.
- Prikupljale su oznake i vrednosti iz GitHub, GitLab, Azure DevOps, Buildkite, CircleCI, Codespaces i Gitpod okruženja.
- Proveravale su da li je isključena telemetrija editora i slale rezultat te provere.
Rezervni kanal i višednevni pokušaji
Zlonamerni kod mogao je da pročita DNS TXT zapis i dobije rezervnu adresu za eksfiltraciju ako primarni domen bude blokiran ili uklonjen. Izviđačka varijanta ponavljala je pokušaje približno posle 15 i 50 minuta, zatim nakon tri i po sata, pa na svakih sedam ili osam sati. Aktivnost se nastavljala pri svakom ponovnom pokretanju editora i prestajala tek posle sedam dana.
Ekstenzije su takođe proveravale da li njihov ID postoji u datotekama devcontainer.json ili .vscode/extensions.json. Time su razlikovale instalacije izazvane konfiguracijom repozitorijuma od dodataka koje je razvojni inženjer sam izabrao.
Praktičan odgovor razvojnih timova
Organizacije treba da pregledaju izdavača, verziju i ponašanje svake instalirane ekstenzije, čak i kada je naziv poznat. Korisno je proveriti mrežne zahteve ka navedenom domenu, evidentirati dodatke koje nameću projektne konfiguracije i proceniti da li su izloženi podaci o repozitorijumima, CI sistemima ili razvojnim nalozima.
Incident pokazuje da provera naziva paketa nije dovoljna kontrola. Poslovni zaključak je jasan: odobravanje razvojnih dodataka, nadzor njihovog mrežnog pristupa i redovan popis ekstenzija treba da budu deo upravljanja rizikom softverskog lanca snabdevanja.

