GlassWorm-skadevare
En ny bølge av GlassWorm-kampanjen retter seg aktivt mot programvareleverandørkjeder ved å utnytte stjålne GitHub-tokens for å injisere skadelig kode i hundrevis av databaser. Denne operasjonen fokuserer primært på Python-baserte prosjekter, inkludert Django-applikasjoner, maskinlæringsforskningskode, Streamlit-dashboards og PyPI-pakker.
Angrepsvektoren er tilsynelatende enkel, men svært effektiv: obfuskert skadelig programvare legges til vanlige filer som setup.py, main.py og app.py. Enhver utvikler som installerer avhengigheter via pip install eller kjører klonet kode fra et kompromittert arkiv, aktiverer uvitende den skadelige nyttelasten.
Innholdsfortegnelse
Stille overtakelser av arkiver: ForceMemo-teknikken
Denne utviklingen av kampanjen, nå omtalt som ForceMemo, introduserer en snikende metode for å kompromittere databaser. Trusselaktører får tilgang til utviklerkontoer og manipulerer databaser uten å etterlate konvensjonelle spor.
Ved å rebasere legitime commits med ondsinnet kode og tvangspushe dem til standardgrenen, bevarer angripere originale commit-metadata, inkludert melding, forfatter og tidsstempel, og maskerer dermed effektivt inntrengingen. Denne tilnærmingen eliminerer synlige indikatorer som pull-forespørsler eller mistenkelige commit-historikker, noe som gjør deteksjon betydelig vanskeligere.
Angrepsutførelseskjede: Fra legitimasjonstyveri til levering av nyttelast
ForceMemo-kampanjen følger en strukturert og flertrinns inntrengingsprosess:
- Utviklermiljøer blir i utgangspunktet kompromittert gjennom skadelig Visual Studio Code og Cursor-utvidelser som inneholder GlassWorm-komponenter som er utviklet for å samle sensitive legitimasjonsopplysninger, inkludert GitHub-tokens.
- Stjålne legitimasjonsdetaljer brukes deretter til å injisere obfuskerte Base64-kodede nyttelaster i Python-filer på tvers av alle databaser som er tilknyttet den kompromitterte kontoen.
- Den innebygde skadelige programvaren utfører miljøkontroller, og unngår spesielt utførelse på systemer konfigurert med russisk språk. Deretter spør den en Solana-blokkjedelommebok for å dynamisk hente URL-adressen for levering av nyttelasten.
- Ytterligere nyttelaster lastes ned, inkludert kryptert JavaScript designet for kryptovalutatyveri og datautvinning.
Blokkjedebasert kommando og kontroll: En robust infrastruktur
Et definerende kjennetegn ved denne kampanjen er dens avhengighet av Solana-blokkjeden som en kommando-og-kontroll-mekanisme (C2). I stedet for tradisjonelle servere lagrer angriperne nyttelast-URL-er i transaksjonsmemo-felt knyttet til spesifikke lommebokadresser.
Analyser viser at aktivitet knyttet til den primære lommeboken startet så tidlig som 27. november 2025, måneder før kompromitterte datalager ble observert. Lommeboken har behandlet dusinvis av transaksjoner, med nyttelastplasseringer oppdatert ofte, noen ganger flere ganger per dag. Denne desentraliserte tilnærmingen forbedrer robustheten og kompliserer fjerningsarbeidet.
Utvidelse av angrepsflaten: npm og infeksjoner på tvers av økosystemer
Kampanjen har utvidet seg utover Python-økosystemer til JavaScript-forsyningskjeder. To React Native npm-pakker, react-native-international-phone-number (versjon 0.11.8) og react-native-country-select (versjon 0.3.91), ble midlertidig kompromittert og distribuert med innebygd skadelig programvare.
Disse ondsinnede versjonene introduserte preinstall-hooks som kjører obfuskert JavaScript, noe som starter en lignende infeksjonskjede. Skadevaren unngår igjen russiske systemer, henter nyttelastinstruksjoner via en Solana-lommebok og distribuerer plattformspesifikke trusler.
Utførelsen skjer utelukkende i minnet ved hjelp av kjøretidsteknikker som eval() eller Node.js sandboxing, noe som gir minimale rettsmedisinske artefakter. I tillegg forhindrer en persistensmekanisme reinfeksjon innen et 48-timers vindu ved å lagre et tidsstempel lokalt.
Avanserte unnvikelses- og distribusjonstaktikker
Nyere iterasjoner av GlassWorm viser økt sofistikasjon i levering og skjuling. Ved å utnytte mekanismene extensionPack og extensionDependencies distribuerer angripere skadelige nyttelaster transitivt gjennom pålitelige utvidelsesøkosystemer.
Tidligere kampanjer knyttet til den samme trusselaktøren kompromitterte over 151 GitHub-lagre ved å bruke usynlige Unicode-tegn for å skjule ondsinnet kode. Til tross for varierte obfuskasjons- og leveringsstrategier, er alle kampanjene konsekvent avhengige av den samme Solana-baserte infrastrukturen, noe som bekrefter et enhetlig operasjonelt rammeverk.
Ondsinnede IDE-utvidelser: Målretting mot utviklermiljøer
Kampanjen har også infiltrert utviklingsverktøy gjennom en falsk utvidelse identifisert som reditorsupporter.r-vscode-2.8.8-universal, som er rettet mot Windsurf IDE. Forkledd som en R-språkstøtteplugin, distribuerer den en Node.js-basert informasjonstyver.
Når utvidelsen er installert, henter den krypterte nyttelaster fra blokkjedetransaksjoner, kjører dem i minnet og distribuerer kompilerte komponenter for å trekke ut sensitive data fra Chromium-baserte nettlesere. Vedvarende data oppnås gjennom planlagte oppgaver og endringer i Windows-registeret, noe som sikrer utførelse ved systemoppstart.
Skadevaren retter seg spesifikt mot utviklermiljøer, mens den ekskluderer russiske systemer, og speiler dermed atferden som er observert på tvers av andre GlassWorm-varianter.
Indikatorer for skala og innvirkning
Sikkerhetsanalyser indikerer at kampanjen har kompromittert en betydelig del av økosystemet med åpen kildekode, og påvirket mer enn 433 prosjekter på tvers av flere plattformer. Disse inkluderer GitHub-repositorier (Python og JavaScript), VS Code-utvidelser og npm-biblioteker.
Alle infeksjonsveier konvergerer til slutt rundt utrullingen av en JavaScript-basert informasjonstyver, noe som fremhever et gjennomgående mål om innhøsting av legitimasjon og datautfiltrering.
- Over 433 bekreftede kompromitterte prosjekter og pakker
- Flere leveringsvektorer, inkludert GitHub, npm og IDE-utvidelser
- Konsekvent bruk av Solana blokkjedeinfrastruktur for levering av nyttelast
- Gjentatt utelukkelse av russiske systemer på tvers av alle varianter
Strategisk vurdering: En ny æra med angrep på forsyningskjeden
ForceMemo-kampanjen representerer en betydelig opptrapping av trusler mot programvareforsyningskjeden. Kombinasjonen av skjult manipulering av Git-historikk, blokkjedebasert C2-infrastruktur og infeksjonsvektorer på tvers av plattformer demonstrerer et høyt nivå av operasjonell modenhet.
Gjenbruk av infrastruktur sammen med utviklende leveringsmekanismer indikerer en adaptiv motstander som er i stand til å skalere angrep samtidig som den opprettholder utholdenhet og unngåelse. Dette skiftet fra isolerte kompromisser til koordinerte, flerøkosysteminntrengninger understreker den økende risikoen moderne utviklingsmiljøer og åpen kildekode-fellesskap står overfor.