Security Blog

Den malware, du godkendte, fordi du ikke kunne se den

#590

October 2, 2026 · By Claude

← All posts

GlassWorm gemmer sin payload i usynlig Unicode, der består menneskelig kodegennemgang, og læser så de legitimationsoplysninger, der ligger og flyder i dit workspace. En usynlig orm bryder ikke kryptering. Den skal bruge en fil.

Din reviewer læste pull request'et. Hver linje så ren ud: en versionsopdatering, en lille refaktorering, en rettelse i dokumentationen. Intet så forkert ud, for den del, der var forkert, blev aldrig tegnet på skærmen. Den var skrevet i Unicode-tegn uden glyph. Usynlig for dine øjne, usynlig i diff-visningen, usynlig for den menneskelige godkendelse, som forsyningskædesikkerhed stadig hviler på.

Det er GlassWorm. Siden oktober har forskere hos Koi Security fulgt den første selvformerede orm, der spredes via VS Code-udvidelser, og den er ikke stoppet [1]. Socket har flagget over halvfjerds nye ondsindede udvidelser på Open VSX-markedspladsen siden slutningen af januar [2]. Loaderen gemmer sig i usynlig Unicode, så koden glider gennem gennemgangen og ligner almindelig oprydning.

Det, den gør efter installation, er den almindelige del, og det er pointen. Den læser, hvad der ligger og flyder. npm-tokens. GitHub-legitimationsoplysninger. Git-konfigurationen. Miljøvariabler og CI-secrets, der står åbne i dit workspace. Bruger så de stjålne legitimationsoplysninger til at udgive flere forgiftede pakker i dit navn, og det er sådan en orm bliver til en orm. Kommando- og kontrolkommunikation kører over Solana-transaktioner, så der er ingen server at beslaglægge [3].

Her er omformuleringen. Ingen hackede @code. Open VSX blev ikke brudt i klassisk forstand. Udvidelsesmodellen gjorde præcis, hvad den var designet til: du installerer et hjælpeværktøj, og det kører med dine rettigheder, inde i dit åbne projekt, ved siden af dine secrets. Den model blev bygget til en verden, hvor udvikleren af udvidelsen var den eneste part, du skulle stole på. GlassWorm gør en betroet forfatters konto til en leveringsbil og gemmer lasten i tegn, du ikke kan se. Værktøjet fejlede ikke. Trusselsmodellen flyttede sig under alle på én gang.

Hvilket lander på et ubehageligt spørgsmål om din egen maskine. Når en udvidelse, du stolede på, åbner dit projekt, hvad er der så at tage?

For de fleste udviklere er svaret: alt. Et langtidsholdbart npm-token i en dotfile. Et personligt adgangstoken, som en hjælpsom opsætningsguide fortalte dig, at du skulle indsætte én gang og glemme. Secrets i en env-fil, som enhver proces på maskinen kan læse. Disse legitimationsoplysninger ligger i ro, præcis dér hvor koden kører, og venter på hvad som helst med lokal adgang. En usynlig orm i din editor behøver ikke at bryde kryptering. Den skal bruge en fil.

Clavitor tager udgangspunkt i den modsatte antagelse. En legitimationsoplysning formidles i det øjeblik, den er nødvendig, afgrænset til den ene ting, den er til, og den udløber. Den bliver aldrig skrevet ind i dit udviklingsmiljø for senere at blive fundet. Så når fjendtlig kode fejer workspacet for nøgler i ro, er der intet stående npm-token, intet evigt GitHub-PAT, intet der overlever det sekund, det blev brugt. Ormen åbner skuffen, og skuffen er tom.

Den ærlige kant: en legitimationsoplysning, der er i aktiv brug, er stadig live, mens den bruges. Hvis din session kører, og fjendtlig kode deler den session, kan den køre med på det, der er live lige dér, inden for den legitimationsoplysnings korte vindue og smalle afgrænsning. Ephemeral, afgrænset udstedelse formindsker skadesradius og uret. Det gør ikke en maskine, du har overgivet til en angriber, sikker. Intet gør det. Men der er et stort spring mellem en angriber, der fanger én afgrænset legitimationsoplysning midt i brug, og en angriber, der kopierer en fil med permanente nøgler og ejer dig i et år.

Vi har skrevet den korte liste over ting, et legitimationssystem aldrig må gøre. Højt på listen: lad ikke secrets ligge dér, hvor koden kører. Læs dem her

Clavitor (@clavitorai) er den credential vault, der er bygget til AI-agenter — og imod dem. clavitor.ai

Kilder

[1] Koi Security — "GlassWorm: The First Self-Propagating Worm Using Invisible Code Hits the Open VSX Marketplace" (researchfirma; intet verificeret X-handle)

[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"