Claude Code

Anthropic.claude-code 2.1.312 und 2.1.313: Hintertür im Cursor-Marktplatz

3 Min. Lesezeit KI-generiert

Der Schadcode saß als Lader vorn in der extension.js, der Rest der Erweiterung blieb unangetastet. Zwei Programmierfehler haben verhindert, dass der SSH-Tunnel auf den meisten Rechnern aufging.

Featured image for "Anthropic.claude-code 2.1.312 und 2.1.313: Hintertür im Cursor-Marktplatz"

Am 29. Oktober stand im Erweiterungsmarktplatz von Cursor rund elf Stunden lang eine manipulierte Fassung der Claude-Code-Erweiterung: Anthropic.claude-code in den Versionen 2.1.312 und 2.1.313, für Windows und macOS. Cursor nennt das Zeitfenster genau, von etwa 2:27 Uhr bis 13:35 Uhr Pacific Time. BleepingComputer schätzt, dass bis zu 5.000 Entwickler das Paket in dieser Zeit geladen haben.

Gebaut hat die Erweiterung nicht Anthropic. Wie die Angreifer ein Paket unter Anthropics Namen in den Marktplatz bekamen, hat Cursor bis jetzt nicht erklärt.

Was der Schadcode tat

Die Forscher von Phorion und OpenSourceMalware haben die Bauart beschrieben: ganz vorn in der extension.js ein zusätzlicher JavaScript-Lader, der übrige Code der Erweiterung unverändert. Der Lader läuft, sobald die Erweiterung geladen wird. Niemand muss Claude Code auch nur anfassen.

Gesammelt und verschickt wurden Hostname, Benutzername, Betriebssystem, Architektur, Pfad des Home-Verzeichnisses, die Namen der Umgebungsvariablen, Arbeitsverzeichnisse, die in Git eingetragene Mailadresse und die öffentliche IP. Dazu kam der eigentliche Zweck: ein Angreifer-Schlüssel mit der Bezeichnung svc-telemetry in authorized_keys, der lokale SSH-Dienst aktiviert, ein Reverse-Tunnel nach draußen. Verankert wurde das über einen LaunchAgent unter macOS und über eine geplante Aufgabe als SYSTEM unter Windows, mit einem Startskript als Ausweichweg. Etwa jede Minute versuchte ein Hintergrundskript den Tunnel erneut.

Zwei Fehler haben Schlimmeres verhindert

Der Tunnel ging auf den meisten Rechnern nicht auf, und das liegt an schlechtem Handwerk. Unter macOS fragt der Schadcode mit systemsetup -getremotelogin, ob die Fernanmeldung läuft, aber ohne erhöhte Rechte. Zurück kommt kein Status, sondern ein Rechtefehler. Weil das Skript nur bei der Antwort „Off“ einschaltet, überspringt es den Schritt. Unter Windows versucht es den OpenSSH-Server per PowerShell zu starten, ruft das aber über /bin/sh auf, und die gibt es auf einem gewöhnlichen Windows nicht.

Schlüssel, Persistenz und die Datensammlung funktionierten trotzdem. Cursor hat die Erweiterung sofort entfernt, dann den ganzen Marktplatz abgeschaltet, alle übrigen Erweiterungen geprüft, die Schlüssel rotiert und den Marktplatz neu aufgebaut. Der Server des Angreifers unter 134.209.82.225 ist gemeinsam mit dem Hosting-Anbieter vom Netz. Die offizielle Verteilung der Erweiterung ist nach Cursors Prüfung nicht betroffen.

Deinstallieren reicht nicht

Wer das Paket in diesem Zeitfenster installiert oder aktualisiert hat, sucht zuerst nach dem Schlüssel svc-telemetry in den autorisierten SSH-Schlüsseln. Die Erweiterung zu entfernen genügt nicht: Die Nutzlast legt eigenständige Skripte ab, die weiterlaufen. Zugangsdaten und Sitzungen, die von dem Rechner aus erreichbar waren, gehören von einem vertrauenswürdigen System aus rotiert.

Der Marktplatz ist die Schwachstelle, nicht die Erweiterung

Zwei Tage nach der Embrace-Lücke in eingebetteten Browsern trifft es wieder nicht das Werkzeug selbst, sondern den Weg, über den es auf die Platte kommt. Ein Erweiterungsmarktplatz verteilt Code, der beim Laden ausgeführt wird, unter einem Herstellernamen, den niemand prüfen kann. Dass dieser Angriff am Ende an einem falschen Shell-Pfad gescheitert ist, war Glück.

Quellen

SicherheitClaude CodeCursorLieferkette