Security Blog

Skadlig koden du godkände för att du inte kunde se den

#597

October 2, 2026 · By Claude

← All posts

GlassWorm gömmer sin nyttolast i osynlig Unicode som passerar mänsklig kodgranskning, och läser sedan inloggningsuppgifterna som ligger och skräpar i din arbetsyta. En osynlig mask bryter inte kryptering. Den behöver en fil.

Din granskare läste pull requesten. Varje rad renderades rent: en versionsuppdatering, en mindre refaktorering, en ändring i dokumentationen. Inget såg fel ut, eftersom den del som var fel aldrig ritades upp på skärmen. Den var skriven med Unicode-tecken som saknar glyf. Osynlig för dina ögon, osynlig i diff-vyn, osynlig för den mänskliga godkännandesignatur som leverantörskedjesäkerhet fortfarande lutar sig mot.

Det är GlassWorm. Sedan oktober har forskare på Koi Security spårat den första självförökande masken som sprids via VS Code-tillägg, och den har inte stannat [1]. Socket har flaggat över sjuttio nya skadliga tillägg på Open VSX-marknaden sedan slutet av januari [2]. Laddaren gömmer sig i osynlig Unicode, så koden glider igenom granskningen och ser ut som städning.

Det den gör efter installationen är den vardagliga delen, och det är just poängen. Den läser det som ligger och skrapar. npm-tokens. GitHub-uppgifter. Git-konfigurationen. Miljövariabler och CI-hemligheter som ligger öppet i din arbetsyta. Sedan använder den stulna uppgifterna för att publicera fler förgiftade paket i ditt namn, och det är så en mask blir en mask. Kommunikation med kontrollservaren sker via Solana-transaktioner, så det finns ingen server att beslagta [3].

Här är omformuleringen. Ingen hackade @code. Open VSX bröts inte på det klassiska sättet. Tilläggsmodellen gjorde exakt vad den var designad för: du installerar ett hjälpverktyg, och det kör med dina behörigheter, inne i ditt öppna projekt, intill dina hemligheter. Den modellen byggdes för en värld där tilläggets författare var den enda part du behövde lita på. GlassWorm förvandlar en betrodd författares konto till en lastbil och gömmer lasten i tecken du inte kan se. Verktyget sviktade inte. Hotbilden flyttade sig under alla på samma gång.

Vilket landar i en obekväm fråga om din egen maskin. När ett tillägg du litade på öppnar ditt projekt, vad finns det där för det att ta?

För de flesta utvecklare är svaret: allt. Ett långlivat npm-token i en dotfile. En personal access token som en hjälpsam installationsguide bad dig klistra in en gång och glömma. Hemligheter i en env-fil som varje process på maskinen kan läsa. Dessa uppgifter ligger i vila, på exakt den plats där koden körs, och väntar på vad som helst med lokal åtkomst. En osynlig mask i din editor behöver inte bryta kryptering. Den behöver en fil.

Clavitor utgår från motsatt antagande. En uppgift förmedlas i ögonblicket den behövs, avgränsad till den enda sak den är till för, och den löper ut. Den skrivs aldrig in i din utvecklingsmiljö för att hittas senare. Så när fientlig kod sveper arbetsyten efter nycklar i vila finns inget stående npm-token, ingen evig GitHub-PAT, inget som överlever sekunden den användes. Masken öppnar lådan, och lådan är tom.

Den ärliga kanten: en uppgift som används aktivt är fortfarande live medan den används. Om din session körs och fientlig kod delar den sessionen kan den åka med på det som är live just då, inom den uppgiftens korta fönster och smala avgränsning. Efemer, avgränsad utfärdning krymper skaderadion och klockan. Den gör inte en maskin du har lämnat till en angripare säker. Inget gör det. Men det finns ett stort gap mellan en angripare som fångar en avgränsad uppgift mitt i användning och en angripare som kopierar en fil med permanenta nycklar och äger dig i ett år.

Vi skrev upp den korta listan över saker ett uppgiftssystem aldrig ska göra. Nära toppen: lämna inte hemligheter liggande där koden körs. Läs dem här

Clavitor (@clavitorai) är valvet för inloggningsuppgifter, byggt för AI-agenter, och mot dem. clavitor.ai

Källor

[1] Koi Security — "GlassWorm: The First Self-Propagating Worm Using Invisible Code Hits the Open VSX Marketplace" (researchföretag; inget verifierat X-konto)

[2] Socket, via @TheHackersNews — "GlassWorm Supply-Chain Attack Abuses 72 Open VSX Extensions to Target Developers" (@SocketSecurity)

[3] @SecurityWeek — "Supply Chain Attack Targets VS Code Extensions With ‘GlassWorm’ Malware"