Teknik

GlassWorm gömde sig ett år i VS Code-tillägg innan det slogs ut

Susan Hill

I över ett år arbetade några av utvecklarna som bygger apparna i din telefon, utan att veta om det, åt någon annan. En skadlig kod kallad GlassWorm satt i tillägg till Visual Studio Code, världens mest använda kodredigerare, och i de öppna källkodspaket som dessa utvecklare drar in i sina projekt varje dag. Den samlade in deras lösenord, kapade deras konton och använde dem för att plantera sig i ännu mer programvara. CrowdStrike, Google och Shadowserver Foundation har nu klippt dess trådar.

Det angår även den som aldrig öppnat en kodredigerare, för mjukvarans leveranskedja är just det, en kedja. Meddelandeappen i telefonen, bankappen, spelet på konsolen vilar alla på tusentals små byggstenar med öppen källkod som andra skriver och underhåller. Förgifta en av dessa byggstenar och giftet kan rinna nedströms ända in i färdiga produkter som miljoner använder. GlassWorm byggdes för att rida på den strömmen utan att synas.

Det som skilde den från mängden var sättet att gömma sig. Operatörerna skrev de skadliga instruktionerna med osynliga Unicode-tecken, kod som visas som tomt utrymme i redigeraren, så att en utvecklare som granskade filen inte såg något konstigt. Forskarna på Koi Security, som först identifierade kampanjen, kallade den den första masken som sprider sig själv via tillägg till kodredigerare. Varje infekterad maskin blev startpunkten för nästa.

De flesta angrepp mot leveranskedjan är snabba rån: ett förgiftat paket upptäcks, dras tillbaka och rättas inom dagar. GlassWorm var byggd för att hålla. Eftersom den själv stal de uppgifter den behövde för att sprida sig kunde den plantera om sig långt efter att ett enskilt tillägg tagits bort, och så nådde en enda operation hundratals projekt och tiotusentals nedladdningar under mer än ett år.

Infektionsvägarna var det vanliga rörmokeriet i modernt mjukvaruarbete. Operatörerna laddade upp riggade tillägg till Open VSX, marknadsplatsen som matar VS Code och dess kusiner Cursor, Windsurf, Positron och VSCodium, förklädda till oskyldiga verktyg som tidtagare eller kodformaterare. De smög in manipulerad kod i npm-paket och i Pythons paketindex via installationsskript som körs av sig själva, och med uppgifter tagna från tidigare offer tvingade de in skadliga ändringar i huvudgrenarna på över 300 GitHub-arkiv. Väl inne i en maskin jagade GlassWorm nycklar: npm-token, GitHub-inloggningar, de publiceringstoken som låter en utvecklare lägga upp tillägg, och kryptoplånböcker. Den gjorde infekterade datorer till reläservrar för annan kriminell trafik och installerade i vissa fall dold fjärrstyrningsprogramvara som gav operatörerna en livebild av skärmen.

Att slå ut den krävde att man gick på sättet operatörerna höll kontakt med sina maskiner, och här var GlassWorm byggd för att överleva. I stället för att förlita sig på en enda kommandoserver som gick att dra ur sladden använde den fyra kanaler samtidigt. En kodade sina instruktioner i transaktioner på blockkedjan Solana, ett offentligt register tänkt att vara permanent och utom räckhåll. En annan gömde konfigurationen i fildelningsnätet BitTorrent. En tredje stoppade in kodade webbadresser i titlarna på Google Calendar-händelser. Den fjärde var en helt vanlig hyrd server. CrowdStrikes Counter Adversary Operations-team kapade tillsammans med Google och Shadowserver hela uppsättningen i en enda samordnad insats.

Att klippa trådarna är inte detsamma som att rengöra såret. Att kapa kanalerna hindrar operatörerna från att skicka nya order och nya laddningar, men tar inte bort GlassWorm från de maskiner den redan styr, och varje lösenord den redan tagit förblir taget. Det är inte heller kampanjens första störning. Sedan Koi Security avslöjat den kom GlassWorm tillbaka, en gång med två dussin nya skadliga tillägg och månader senare med dussintals till. Blockkedjekanalen som forskarna beskrev som omöjlig att slå ut har nu slagits ut, men de bakom har gång på gång visat att de bygger upp igen.

Utredarna tror att operatörerna troligen finns i Ryssland. Koden kontrollerar datorns språk- och tidszonsinställningar vid start och avslutar sig tyst om den hamnar på ett system i Ryssland eller ett grannland från det forna sovjetiska området, ett välbekant kännetecken för kriminella grupper som arbetar från regionen och undviker lokala offer. CrowdStrike sammanfattade förskjutningen rakt på sak: angriparna går inte längre bara på produkterna, de går på utvecklarna som bygger dem. Shadowserver Foundation har börjat meddela drabbade organisationer så att de kan sanera sina system och byta varje uppgift som kan ha läckt, och för alla längre ned i kedjan börjar det riktiga arbetet nu, när team granskar vilka tillägg och paket de installerat sedan början av 2025. Infrastrukturen är släckt. Saneringen har knappt börjat.

Diskussion

Det finns 0 kommentarer.