Angriff auf VS-Code-Erweiterung

Spionage im Entwicklerstudio: Nx-Console-Erweiterung mit Trojaner infiziert

Cybersicherheit, Cyber Security, Cybervorfälle, Cyberrisiken

Ein kompromittiertes VS-Code-Plugin mit über zwei Millionen Downloads schleuste Schadcode in eine Nx-Console-Erweiterung ein, um Passwörter zu stehlen.

IT-Sicherheitsanalysten haben einen gezielten Lieferkettenangriff (Supply Chain Attack) auf die Entwickler-Community aufgedreht. Im Zentrum des Vorfalls steht die populäre Erweiterung „Nx Console“ (Registrierungsname: rwl.angular-console), die im offiziellen Microsoft Visual Studio Code (VS Code) Marketplace bereitgestellt wird. Über ein kompromittiertes Entwicklerkonto gelang es Angreifern, eine manipulierte Version des Plugins mit der Versionsnummer 18.95.0 zu veröffentlichen. Da die Erweiterung plattformübergreifend in Editoren wie VS Code, Cursor und den Entwicklungsumgebungen von JetBrains zum Einsatz kommt und über 2,2 Millionen Installationen aufweist, ist das potenzielle Schadensausmaß für Softwareunternehmen erheblich. Die auf der alternativen Plattform Open VSX bereitgestellte Version ist nach aktuellen Erkenntnissen nicht von dem Vorfall betroffen.

Anzeige

Infektionskette über verwaiste GitHub-Commits

Die Experten des Sicherheitsunternehmens StepSecurity rekonstruierten den präzisen Ablauf der Infektion. Der Angriff wurde ausgelöst, sobald ein Softwareentwickler ein beliebiges Projektverzeichnis (Workspace) in seinem präparierten Editor öffnete. Innerhalb weniger Sekunden im Hintergrund lud die manipulierte Erweiterung einen 498 Kilobyte (KB) großen, stark verschleierten Payload nach und führte diesen autonom aus.

Der Schadcode war dabei strategisch tief im offiziellen GitHub-Repository von nrwl/nx versteckt. Die Angreifer nutzten einen sogenannten verwaisten, unvollständigen und nicht digital signierten Commit (Orphaned Commit). Diese Art von Commits existiert zwar in der internen Datenbank des Repositorys, taucht jedoch nicht in der regulären, für die Verwalter sichtbaren Commit-Historie des Hauptzweigs auf. Um eine Entdeckung während der Analyse zu erschweren, integrierten die Entwickler der Schadsoftware eine Geofencing-Abfrage: Systeme, deren Zeitzoneneinstellungen auf Russland oder die Gemeinschaft Unabhängiger Staaten (GUS) hinwiesen, wurden von der Infektion ausgeschlossen. Auf allen anderen Systemen startete die Schadsoftware als losgelöster Hintergrundprozess. Für die Ausführung des verschleierten Codes index.js installierte die Malware eigenständig die JavaScript-Laufzeitumgebung „Bun“.

Kryptografische Signaturfälschung und Datenexfiltration

Bei dem nachgeladenen Payload handelt es sich um ein kombiniertes Werkzeug zur lokalen Rechteausweitung, zum Datendiebstahl (Credential Stealer) und zur weiteren Vergiftung von Software-Lieferketten. Die Software durchsuchte die infizierten Entwickler-Rechner systematisch nach sensiblen Zugangsdaten. Im Fokus standen Tresore des Passwortmanagers 1Password, Konfigurationsdateien des KI-Assistenten Anthropic Claude Code sowie geheime Token und API-Schlüssel für npm, GitHub und die Amazon Web Services (AWS). Die Exfiltration der gestohlenen Daten erfolgte über verschlüsselte HTTPS-Verbindungen, die offizielle GitHub-API sowie über DNS-Tunneling, um klassische Netzwerk-Sicherheitsfilter zu umgehen.

Anzeige

Besorgnis erregt bei Sicherheitsforschern eine hochentwickelte Funktion des Trojaners: Die Schadsoftware verfügt über eine vollständige Integration des Sicherheits-Frameworks Sigstore. Dies beinhaltet die automatisierte Ausstellung von Fulcio-Zertifikaten und die Generierung von SLSA-Provenienz-Zertifikaten (Supply-chain Levels for Software Artifacts). In Kombination mit den ebenfalls entwendeten npm-OIDC-Tokens (OpenID Connect) versetzte diese Funktion die Angreifer in die Lage, nachgelagerte, eigene bösartige npm-Pakete im globalen Registry zu veröffentlichen. Diese manipulierten Pakete wiesen kryptografisch valide Herkunftsnachweise auf. Für automatisierte Schutzsysteme und Entwickler erschienen die Schadprogramme dadurch als legitime, verifizierte und sichere Software-Builds.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Sofortmaßnahmen für Betroffene der Nx-Console-Erweiterung

Das Entwicklerteam von Nx bestätigte den Vorfall und erklärte, dass eine geringe Anzahl von Anwendern während des kritischen Zeitfensters nachweislich kompromittiert wurde. Das Expositionsfenster war zeitlich eng begrenzt und erstreckte sich am Montag, den 18. Mai 2026, über lediglich elf Minuten zwischen 14:36 Uhr und 14:47 Uhr MESZ. Allen Entwicklern wird dringend empfohlen, die Erweiterung unverzüglich auf die fehlerbereinigte Version 18.100.0 oder neuer zu aktualisieren.

Zur Feststellung einer aktiven Infektion wurden spezifische Indikatoren (Indicators of Compromise, IoCs) veröffentlicht. Administratoren sollten Systeme auf folgende Artefakte überprüfen:

  • Dateipfade: ~/.local/share/kitty/cat.py, ~/Library/LaunchAgents/com.user.kitty-monitor.plist, /var/tmp/.gh_update_state oder /tmp/kitty-*.
  • Prozesse: Ein aktiver Python-Prozess, der das Skript cat.py ausführt, sowie laufende Hintergrundprozesse, die die Umgebungsvariable __DAEMONIZED=1 aufweisen.

Auf macOS-Systemen installierte die Malware über diese LaunchAgents eine permanente Python-Hintertür, welche die offizielle GitHub-Such-API als sogenannten Dead-Drop-Resolver missbrauchte, um unbemerkt neue Steuerungsbefehle der Angreifer zu empfangen. Betroffene Anwender müssen laufende Prozesse stoppen, die Dateien löschen und sämtliche auf dem System erreichbaren Passwörter, Cloud-Schlüssel und SSH-Tokens widerrufen.

Parallele Welle bösartiger npm-Pakete im Ökosystem

Der Vorfall bei Nx Console steht im Kontext einer umfassenden Angriffswelle auf Open-Source-Infrastrukturen im Mai 2026. Zeitgleich identifizierten Analysten mehrere manipulierte Pakete im npm-Registry, die ähnliche Zielsetzungen verfolgten:

  • Claude-Code-Spionage: Die Pakete iceberg-javascript, supabase-javascript, auth-javascript, microsoft-applicationinsights-common und ms-graph-types enthielten eine versteckte ELF-Binärdatei, die gezielt Claude-Code-Sitzungen manipulierte, um Anmeldedaten zu entwenden.
  • Infrastruktur-Diebstahl: Das Paket noon-contracts täuschte ein offizielles Smart-Contract-SDK vor, stahl jedoch SSH-Schlüssel, private Krypto-Wallet-Schlüssel, AWS-Daten, Kubernetes-Secrets, .env-Konfigurationsdateien sowie die Shell-Historie der Entwickler.
  • Windows-Fernzugriffstrojaner: Das Paket martinez-polygon-clipping-tony schleuste über einen Postinstall-Hook einen 17 Megabyte großen, mit PyInstaller gepackten Windows-RAT ein, der via Telegram-Steuerung Bildschirminhalte abgriff und Befehle ausführte.
  • Gefälschte Dienste und Proxys: Während common-tg-service auf die Übernahme von Telegram-Konten abzielte, installierten die Pakete k8s-pod-checker, dev-env-setup und node-perf-utils einen unbefugten LLM-Proxy-Dienst, um KI-Traffic über die Server der Opfer umzuleiten.

Zudem deckten Forscher eine koordinierte Kampagne eines indonesischsprachigen Akteurs auf, der über 38 npm-Pakete mittels „Dependency Confusion“ Schadcode in die Pipelines von Großkonzernen wie Apple, Google und Alibaba einschleusen wollte. Die Vorfälle verdeutlichen, dass Entwicklungsumgebungen ein primäres Angriffsziel für Spionageoperationen bilden.

Autorenbild Lisa Löw

Lisa

Löw

Junior Online-Redakteurin

IT-Verlag

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.