GlassWorm-skadlig programvara
En ny våg av GlassWorm-kampanjen riktar sig aktivt mot mjukvaruleveranskedjor genom att utnyttja stulna GitHub-tokens för att injicera skadlig kod i hundratals databaser. Denna operation fokuserar främst på Python-baserade projekt, inklusive Django-applikationer, maskininlärningskod för forskningsprojekt, Streamlit-instrumentpaneler och PyPI-paket.
Attackvektorn är bedrägligt enkel men ändå mycket effektiv: obfuskerad skadlig kod läggs till i vanliga filer som setup.py, main.py och app.py. Alla utvecklare som installerar beroenden via pip install eller kör klonad kod från ett komprometterat arkiv aktiverar omedvetet den skadliga nyttolasten.
Innehållsförteckning
Tysta övertaganden av arkiv: ForceMemo-tekniken
Denna utveckling av kampanjen, numera kallad ForceMemo, introducerar en smygande metod för att kompromettera databaser. Hotaktörer får tillgång till utvecklarkonton och manipulerar databaser utan att lämna konventionella spår.
Genom att ombasera legitima commits med skadlig kod och tvinga dem till standardgrenen bevarar angripare ursprungliga commit-metadata, inklusive meddelande, författare och tidsstämpel, vilket effektivt maskerar intrånget. Denna metod eliminerar synliga indikatorer som pull requests eller misstänkta commit-historiker, vilket gör upptäckt betydligt svårare.
Attackutförandekedja: Från stöld av autentiseringsuppgifter till leverans av nyttolaster
ForceMemo-kampanjen följer en strukturerad intrångsprocess i flera steg:
- Utvecklarmiljöer komprometteras initialt genom skadlig Visual Studio Code och Cursor-tillägg som innehåller GlassWorm-komponenter utformade för att samla in känsliga autentiseringsuppgifter, inklusive GitHub-tokens.
- Stulna inloggningsuppgifter används sedan för att injicera obfuskerade Base64-kodade nyttolaster i Python-filer över alla databaser som är kopplade till det komprometterade kontot.
- Den inbäddade skadliga programvaran utför miljökontroller, bland annat genom att undvika körning på system konfigurerade med en rysk språkinställning. Den frågar sedan en Solana blockchain-plånbok för att dynamiskt hämta leverans-URL:en för nyttolasten.
- Ytterligare nyttolaster laddas ner, inklusive krypterad JavaScript utformad för kryptovalutastöld och datautmätning.
Blockkedjebaserad kommando- och kontrollteknik: En motståndskraftig infrastruktur
Ett utmärkande kännetecken för denna kampanj är dess beroende av Solana-blockkedjan som en kommando-och-kontrollmekanism (C2). Istället för traditionella servrar lagrar angriparna nyttolast-URL:er i transaktionsmemo-fält kopplade till specifika plånboksadresser.
Analysen visar att aktivitet kopplad till den primära plånboken började så tidigt som den 27 november 2025, månader innan komprometterade databasdata observerades. Plånboken har bearbetat dussintals transaktioner, med nyttolastplatser uppdaterade ofta, ibland flera gånger per dag. Denna decentraliserade metod ökar motståndskraften och komplicerar nedtagningsarbetet.
Utöka attackytan: npm och infektioner över ekosystem
Kampanjen har sträckt sig bortom Python-ekosystem till JavaScript-leveranskedjor. Två React Native npm-paket, react-native-international-phone-number (version 0.11.8) och react-native-country-select (version 0.3.91), komprometterades tillfälligt och distribuerades med inbäddad skadlig kod.
Dessa skadliga versioner introducerade förinstallationshooks som körde obfuskerat JavaScript vilket initierade en liknande infektionskedja. Den skadliga programvaran undviker återigen ryska system, hämtar nyttolastinstruktioner via en Solana-plånbok och distribuerar plattformsspecifika hot.
Exekveringen sker helt i minnet med hjälp av runtime-tekniker som eval() eller Node.js sandboxing, vilket lämnar minimala forensiska artefakter. Dessutom förhindrar en persistensmekanism återinfektion inom ett 48-timmarsfönster genom att lagra en tidsstämpel lokalt.
Avancerade undanflykts- och distributionstaktik
Nyligen genomförda iterationer av GlassWorm visar ökad sofistikering i leverans och döljning. Genom att utnyttja mekanismerna extensionPack och extensionDependencies distribuerar angripare skadliga nyttolaster transitivt genom betrodda tilläggsekosystem.
Tidigare kampanjer kopplade till samma hotaktör komprometterade över 151 GitHub-arkiv med hjälp av osynliga Unicode-tecken för att dölja skadlig kod. Trots olika förvrängnings- och leveransstrategier förlitar sig alla kampanjer konsekvent på samma Solana-baserade infrastruktur, vilket bekräftar ett enhetligt operativt ramverk.
Skadliga IDE-tillägg: Inriktade på utvecklarmiljöer
Kampanjen har också infiltrerat utvecklingsverktyg genom ett falskt tillägg identifierat som reditorsupporter.r-vscode-2.8.8-universal, som riktar sig mot Windsurf IDE. Förklädd till ett R-språkstöd-plugin, använder den en Node.js-baserad informationstjuv.
När tillägget är installerat hämtar det krypterade nyttolaster från blockkedjetransaktioner, kör dem i minnet och distribuerar kompilerade komponenter för att extrahera känslig data från Chromium-baserade webbläsare. Persistens uppnås genom schemalagda uppgifter och ändringar i Windows-registret, vilket säkerställer körning vid systemstart.
Den skadliga programvaran riktar sig specifikt mot utvecklarmiljöer men exkluderar ryska system, vilket speglar beteendet som observerats i andra GlassWorm-varianter.
Indikatorer för skala och påverkan
Säkerhetsanalyser visar att kampanjen har komprometterat en betydande del av ekosystemet med öppen källkod, vilket påverkar fler än 433 projekt på flera plattformar. Dessa inkluderar GitHub-repositorier (Python och JavaScript), VS Code-tillägg och npm-bibliotek.
Alla infektionsvägar konvergerar slutligen kring distributionen av en JavaScript-baserad informationstjuv, vilket belyser ett konsekvent slutmål med insamling av autentiseringsuppgifter och dataexfiltrering.
- Över 433 bekräftade komprometterade projekt och paket
- Flera leveransvektorer inklusive GitHub, npm och IDE-tillägg
- Konsekvent användning av Solanas blockkedjeinfrastruktur för leverans av nyttolast
- Upprepad uteslutning av ryska system i alla varianter
Strategisk bedömning: En ny era av attacker i leveranskedjan
ForceMemo-kampanjen representerar en betydande eskalering av hot mot mjukvaruleveranskedjan. Dess kombination av smygande manipulation av Git-historik, blockkedjebaserad C2-infrastruktur och plattformsoberoende infektionsvektorer visar på en hög nivå av operativ mognad.
Återanvändningen av infrastruktur tillsammans med utvecklande leveransmekanismer indikerar en adaptiv motståndare som kan skala upp attacker samtidigt som den bibehåller uthållighet och undvikande. Denna förskjutning från isolerade kompromisser till samordnade intrång som täcker flera ekosystem understryker den växande risken som moderna utvecklingsmiljöer och öppen källkodsgemenskaper står inför.