Zlonamjerni softver GlassWorm
Novi val kampanje zlonamjernog softvera GlassWorm aktivno cilja lance opskrbe softverom iskorištavajući ukradene GitHub tokene za ubrizgavanje zlonamjernog koda u stotine repozitorija. Ova operacija prvenstveno se fokusira na projekte temeljene na Pythonu, uključujući Django aplikacije, istraživački kod za strojno učenje, Streamlit nadzorne ploče i PyPI pakete.
Vektor napada je varljivo jednostavan, ali vrlo učinkovit: maskirani zlonamjerni softver dodaje se često izvršavanim datotekama kao što su setup.py, main.py i app.py. Svaki programer koji instalira ovisnosti putem pip install-a ili izvršava klonirani kod iz kompromitiranog repozitorija nesvjesno aktivira zlonamjerni teret.
Sadržaj
Tiho preuzimanje repozitorija: Tehnika ForceMemo
Ova evolucija kampanje, sada poznata kao ForceMemo, uvodi prikrivenu metodu kompromitiranja repozitorija. Akteri prijetnji dobivaju pristup računima programera i manipuliraju repozitorijima bez ostavljanja konvencionalnih tragova.
Preusmjeravanjem legitimnih commitova (izvršavanja) zlonamjernim kodom i njihovim prisilnim premještanjem na zadanu granu, napadači čuvaju izvorne metapodatke commita, uključujući poruku, autora i vremensku oznaku, učinkovito maskirajući upad. Ovaj pristup eliminira vidljive indikatore poput zahtjeva za povlačenjem ili sumnjive povijesti commita, što znatno otežava otkrivanje.
Lanac izvršenja napada: od krađe vjerodajnica do isporuke korisnog tereta
Kampanja ForceMemo slijedi strukturiran i višestupanjski proces upada:
- Razvojna okruženja su inicijalno kompromitirana putem zlonamjernog Visual Studio Codea i Cursor ekstenzija koje nose GlassWorm komponente dizajnirane za prikupljanje osjetljivih vjerodajnica, uključujući GitHub tokene.
- Ukradeni podaci se zatim koriste za ubrizgavanje obfusciranih Base64-kodiranih korisnih podataka u Python datoteke u svim repozitorijima povezanim s kompromitiranim računom.
- Ugrađeni zlonamjerni softver provodi provjere okruženja, posebno izbjegavajući izvršavanje na sustavima konfiguriranim s ruskom lokacijom. Zatim šalje upit Solana blockchain novčaniku kako bi dinamički dohvatio URL za isporuku sadržaja.
- Preuzimaju se dodatni korisni sadržaji, uključujući šifrirani JavaScript dizajniran za krađu kriptovaluta i izvlačenje podataka.
Zapovijedanje i upravljanje temeljeno na blockchainu: Otporna infrastruktura
Karakteristična karakteristika ove kampanje je oslanjanje na Solana blockchain kao mehanizam zapovijedanja i upravljanja (C2). Umjesto tradicionalnih poslužitelja, napadači pohranjuju URL-ove korisnog tereta unutar polja za memorandume transakcija povezanih s određenim adresama novčanika.
Analiza otkriva da je aktivnost povezana s primarnim novčanikom započela već 27. studenog 2025., mjesecima prije nego što su uočeni kompromitirani repozitorij. Novčanik je obradio desetke transakcija, a lokacije sadržaja ažurirane su često, ponekad i više puta dnevno. Ovaj decentralizirani pristup povećava otpornost i komplicira napore uklanjanja.
Proširivanje površine napada: npm i infekcije među ekosustavima
Kampanja se proširila izvan Python ekosustava na JavaScript lance opskrbe. Dva React Native npm paketa, react-native-international-phone-number (verzija 0.11.8) i react-native-country-select (verzija 0.3.91), privremeno su kompromitirana i distribuirana s ugrađenim zlonamjernim softverom.
Ove zlonamjerne verzije uvele su preinstalacijske hooke koji izvršavaju obfusirani JavaScript koji pokreće sličan lanac zaraze. Zlonamjerni softver ponovno izbjegava ruske sustave, dohvaća upute za teret putem Solana novčanika i postavlja prijetnje specifične za platformu.
Izvršavanje se u potpunosti odvija u memoriji korištenjem tehnika izvođenja kao što su eval() ili Node.js sandboxing, ostavljajući minimalne forenzičke artefakte. Osim toga, mehanizam perzistencije sprječava ponovnu infekciju unutar 48-satnog prozora pohranjivanjem vremenske oznake lokalno.
Napredne taktike izbjegavanja i distribucije
Nedavne iteracije GlassWorma pokazuju povećanu sofisticiranost u isporuci i prikrivanju. Iskorištavanjem mehanizama extensionPack i extensionDependencies, napadači tranzitivno distribuiraju zlonamjerne sadržaje kroz pouzdane ekosustave proširenja.
Ranije kampanje povezane s istim akterom prijetnje kompromitirale su preko 151 GitHub repozitorija koristeći nevidljive Unicode znakove za skrivanje zlonamjernog koda. Unatoč različitim strategijama maskiranja i isporuke, sve kampanje dosljedno se oslanjaju na istu infrastrukturu temeljenu na Solani, što potvrđuje jedinstveni operativni okvir.
Zlonamjerna IDE proširenja: Ciljanje razvojnih okruženja
Kampanja je također infiltrirala razvojne alate putem lažnog proširenja identificiranog kao reditorsupporter.r-vscode-2.8.8-universal, ciljajući Windsurf IDE. Prerušen u dodatak za podršku R jeziku, koristi kradljivca informacija temeljenog na Node.js-u.
Nakon instalacije, ekstenzija dohvaća šifrirane podatke iz blockchain transakcija, izvršava ih u memoriji i implementira kompilirane komponente za izdvajanje osjetljivih podataka iz preglednika temeljenih na Chromiumu. Trajnost se postiže planiranim zadacima i izmjenama Windows registra, osiguravajući izvršavanje nakon pokretanja sustava.
Zlonamjerni softver posebno cilja razvojna okruženja, dok isključuje ruske sustave, odražavajući ponašanje uočeno kod drugih varijanti GlassWorma.
Pokazatelji razmjera i utjecaja
Sigurnosna analiza pokazuje da je kampanja ugrozila značajan dio ekosustava otvorenog koda, utječući na više od 433 projekta na više platformi. To uključuje GitHub repozitorije (Python i JavaScript), VS Code ekstenzije i npm biblioteke.
Svi putevi infekcije u konačnici se svode na primjenu JavaScript kradljivca informacija, što naglašava dosljedan krajnji cilj prikupljanja vjerodajnica i krađe podataka.
- Preko 433 potvrđenih kompromitiranih projekata i paketa
- Višestruki vektori isporuke, uključujući GitHub, npm i IDE ekstenzije
- Dosljedna upotreba Solana blockchain infrastrukture za isporuku korisnog sadržaja
- Ponavljano isključivanje ruskih sustava u svim varijantama
Strateška procjena: Novo doba napada na lanac opskrbe
Kampanja ForceMemo predstavlja značajnu eskalaciju prijetnji lancu opskrbe softverom. Njena kombinacija prikrivene manipulacije povijesti Gita, C2 infrastrukture temeljene na blockchainu i vektora infekcije na više platformi pokazuje visoku razinu operativne zrelosti.
Ponovna upotreba infrastrukture uz razvoj mehanizama isporuke ukazuje na prilagodljivog protivnika sposobnog za skaliranje napada uz održavanje upornosti i izbjegavanja. Ovaj pomak od izoliranih kompromisa do koordiniranih upada u više ekosustava naglašava rastući rizik s kojim se suočavaju moderna razvojna okruženja i zajednice otvorenog koda.