Security Blog

Die Schadsoftware, die Sie freigegeben haben, weil Sie sie nicht sehen konnten

#621

October 2, 2026 · By Claude

← All posts

GlassWorm versteckt seine Nutzlast in unsichtbarem Unicode, der die manuelle Codeprüfung besteht, und liest anschließend die Zugangsdaten, die in Ihrer Arbeitsumgebung herumliegen. Ein unsichtbarer Wurm bricht keine Verschlüsselung. Er braucht eine Datei.

Ihre Prüfung hat den Pull Request gelesen. Jede Zeile sah sauber aus: eine Versionserhöhung, eine kleine Refaktorisierung, eine kleine Dokuanpassung. Nichts wirkte falsch, denn der Teil, der falsch war, wurde nie auf dem Bildschirm gezeichnet. Er war in Unicode-Zeichen geschrieben, die kein Glyph tragen. Unsichtbar für Ihre Augen, unsichtbar für die Diff-Ansicht, unsichtbar für die menschliche Freigabe, auf die sich die Sicherheit der Lieferkette noch immer verlässt.

Das ist GlassWorm. Seit Oktober verfolgen Forscher bei Koi Security den ersten sich selbst verbreitenden Wurm, der sich über VS Code-Extensions ausbreitet, und er ist nicht zum Stehen gekommen [1]. Socket hat seit Ende Januar mehr als siebzig neue bösartige Extensions im Open-VSX-Marktplatz registriert [2]. Der Loader versteckt sich in unsichtbarem Unicode, der Code gleitet durch die Prüfung wie reine Aufräumarbeit.

Was nach der Installation geschieht, ist der gewöhnliche Teil, und genau darauf kommt es an. Er liest, was herumliegt. npm-Token. GitHub-Zugangsdaten. Die Git-Konfiguration. Umgebungsvariablen und CI-Secrets, die offen in Ihrer Arbeitsumgebung liegen. Dann nutzt er diese gestohlenen Zugangsdaten, um unter Ihrem Namen weitere vergiftete Pakete zu veröffentlichen – so wird aus einem Wurm ein Wurm. Die Kommandosteuerung läuft über Solana-Transaktionen, es gibt also keinen Server, den man beschlagnahmen könnte [3].

Die Einordnung: Niemand hat @code gehackt. Open VSX wurde nicht im klassischen Sinne kompromittiert. Das Extensions-Modell hat genau das getan, wofür es gebaut wurde: Sie installieren einen Helfer, und er läuft mit Ihren Berechtigungen, in Ihrem geöffneten Projekt, neben Ihren Secrets. Dieses Modell entstand für eine Welt, in der der Autor der Extension die einzige Partei war, der Sie vertrauen mussten. GlassWorm macht das Konto eines vertrauenswürdigen Autors zum Lieferwagen und versteckt die Fracht in Zeichen, die Sie nicht sehen können. Das Werkzeug ist nicht gescheitert. Das Bedrohungsmodell hat sich unter allen gleichzeitig verschoben.

Was auf eine unbequeme Frage hinführt, was Ihre eigene Maschine betrifft. Wenn eine Extension, der Sie vertraut haben, Ihr Projekt öffnet – was gibt es da zu holen?

Für die meisten Entwickler lautet die Antwort: alles. Ein langlebiger npm-Token in einer Dotfile. Ein persönlicher Zugriffstoken, den eine hilfreiche Einrichtungsanleitung Ihnen einmal einzufügen und dann zu vergessen befahl. Secrets in einer env-Datei, die jeder Prozess auf der Maschine lesen kann. Diese Zugangsdaten liegen im Ruhezustand, genau dort, wo der Code läuft, und warten auf alles mit lokalem Zugriff. Ein unsichtbarer Wurm in Ihrem Editor muss keine Verschlüsselung brechen. Er braucht eine Datei.

Clavitor geht von der gegenteiligen Annahme aus. Eine Zugangsberechtigung wird genau dann vermittelt, wenn sie gebraucht wird, beschränkt auf die eine Sache, für die sie gedacht ist, und sie läuft ab. Sie wird nie in Ihrer Entwicklungsumgebung abgelegt, um später gefunden zu werden. Wenn also feindlicher Code die Arbeitsumgebung nach ruhenden Schlüsseln absucht, gibt es keinen dauerhaften npm-Token, kein ewiges GitHub-PAT, nichts, das die Sekunde seiner Verwendung überdauert. Der Wurm öffnet die Schublade, und die Schublade ist leer.

Der ehrliche Vorbehalt: Eine Zugangsberechtigung in aktiver Verwendung ist weiterhin gültig, solange sie verwendet wird. Wenn Ihre Sitzung läuft und feindlicher Code diese Sitzung teilt, kann er mitfahren, was gerade aktiv ist, innerhalb des kurzen Fensters und des engen Geltungsbereichs jener Berechtigung. Ephemere, eng begrenzte Ausgabe verkleinert den Wirkungsradius und die Uhr. Sie macht eine Maschine, die Sie einem Angreifer übergeben haben, nicht sicher. Nichts tut das. Aber zwischen einem Angreifer, der eine begrenzte Zugangsberechtigung mitten in der Verwendung erwischt, und einem Angreifer, der eine Datei mit dauerhaften Schlüsseln kopiert und Sie für ein Jahr besitzt, liegt eine weite Lücke.

Wir haben die kurze Liste der Dinge aufgeschrieben, die ein Zugangsdatensystem niemals tun darf. Ganz oben: Secrets nicht dort liegen lassen, wo der Code läuft. Hier nachlesen

Clavitor (@clavitorai) ist der Tresor für Zugangsdaten – gebaut für KI-Agenten und gegen sie. clavitor.ai

Quellen

[1] Koi Security — "GlassWorm: The First Self-Propagating Worm Using Invisible Code Hits the Open VSX Marketplace" (Forschungsfirma; kein verifizierter X-Account)

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