Kurz gesagt: Laut den Analysen von OpenSourceMalware und Phorion vom 30. Oktober enthielt die auf Open VSX veröffentlichte Erweiterung Claude Code for VS Code anthropic.claude-code@2.1.313 eine Hintertür. Sie hinterlässt einen SSH-Schlüssel des Angreifers, einen Reverse-Tunnel zu 134.209.82.225 und Persistenz beim Systemstart. Laut Phorion hat Anthropic 2.1.313 von Open VSX, npm und dem VS Code Marketplace entfernt; laut Sesame Disk ist die aktuelle Open-VSX-Version 2.1.314.
Die Erweiterung zu deinstallieren entfernt die Hintertür nicht. Wenn Sie Cursor, VSCodium, Windsurf oder einen anderen Editor nutzen, der Erweiterungen von Open VSX bezieht, und die Claude-Code-Erweiterung heute installiert oder automatisch aktualisiert haben, gehen Sie die 5 Schritte unten durch.
Wir haben alle Prüfbefehle auf einem Linux-Rechner ausgeführt. Der gesamte Durchlauf dauerte unter 1 Sekunde, die Ausgabe war normal. Die schädliche Version haben wir auf keinem Rechner installiert.
Was passiert ist
Laut OpenSourceMalware:
- Der schädliche Build gibt sich als
anthropic.claude-code2.1.313 aus. Entpackt entspricht er der normalen Version und enthält das offizielle Binary. Nurextension.jsist anders: Vor dem echten Erweiterungscode steht eine 66-zeilige, sofort ausgeführte Funktion. - Sie müssen kein Gespräch mit Claude beginnen. Das Laden des Erweiterungsmoduls genügt. Das Paket hat keine install- oder postinstall-Skripte, die Ausführung erfolgt zur Laufzeit.
- Fast alle Fehler werden verschluckt, die Erweiterung funktioniert weiter und wirkt unauffällig.
Laut RuntimeWire hat der Sicherheitsforscher Adnan Khan (@adnanthekhan) den Fall zuerst auf X öffentlich gemacht. Siehe auch den Beitrag von @mattjay auf X.
Was die Hintertür tut
Laut OpenSourceMalware und Phorion macht der Loader Folgendes:
- Schlüssel eintragen: legt
~/.sshan und hängt einen Ed25519-Public-Key mit dem Kommentarsvc-telemetryund dem FingerprintSHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htkan~/.ssh/authorized_keysan. Wer den passenden privaten Schlüssel hat, kann sich als Sie anmelden. - SSH aktivieren: unter Linux per
systemctlund Ausweichwegen; unter macOS persudo -n systemsetup -setremotelogin on; unter Windows per PowerShell Installation und Start von OpenSSH Server. - Reverse-Tunnel: schreibt einen zweiten eingebetteten privaten Schlüssel (Kommentar
svc-telemetry-tun) in eine.stk_*-Datei im Temp-Verzeichnis und verbindet sich als Benutzertunnelmit134.209.82.225:22über-R '*:0:localhost:22', mit neuem Versuch alle 60 Sekunden und bevorzugt überautossh. - Persistenz: unter macOS
~/.config/.smt,~/.config/.smtkund~/Library/LaunchAgents/com.apple.sysmond.plist(klingt nach Apple, ist es aber nicht); unter Linux dieselben zwei Dateien plus eine@reboot-Zeile in der crontab; unter Windows.config\smt.cmd,.config\smtk, eine geplante AufgabeSysMonoder ersatzweisesysmon.cmdim Autostart-Ordner. - Beacon: nach 1,5 Sekunden sendet er per unverschlüsseltem HTTP an
134.209.82.225:8099/beaconHostname, Benutzer, System, Architektur, Verzeichnisse, Git-E-Mail und bis zu 40 Namen von Umgebungsvariablen mit KEY/TOKEN/SECRET/PASS/AWS/GCP. Laut beiden Analysen werden Namen gesendet, keine Werte.
Laut Phorion gibt es unter macOS einen Bug: Als normaler Benutzer liefert systemsetup -getremotelogin nie Off, daher überspringt das Skript das Aktivieren der Entfernten Anmeldung. Schlüssel und Persistenz werden trotzdem geschrieben, und die Hintertür funktioniert, sobald die Entfernte Anmeldung aktiv ist. Auch Mac-Nutzer sollten also prüfen.
Was noch offen ist
- Wie der schädliche Build veröffentlicht wurde: Öffentliche Berichte haben das bisher nicht geklärt. Laut OpenSourceMalware gehört die Open-VSX-Erweiterung einem Anthropic-Mitarbeiter; ob dessen Konto oder ein anderer Teil des Veröffentlichungsprozesses kompromittiert wurde, haben öffentliche Berichte bisher nicht geklärt.
- Ob Microsofts VS Code Marketplace diese Version ausgeliefert hat: Öffentliche Berichte haben das bisher nicht geklärt. Laut Sesame Disk taucht 2.1.313 im öffentlichen Versionsverlauf des Marketplace nicht auf; OpenSourceMalware hat vorsorglich trotzdem einen Bedrohungsbericht angelegt.
- Wer der Angreifer ist und wer
134.209.82.225kontrolliert: Öffentliche Berichte haben das bisher nicht geklärt.
API Key erstellen und nach dem Check einen neuen Claude-Code-/Codex-Schlüssel einsetzen →
Schritt 1: Version prüfen und auf 2.1.314 oder neuer wechseln
Terminal unter macOS / Linux:
code --list-extensions --show-versions | grep -i anthropic.claude-code
cursor --list-extensions --show-versions | grep -i anthropic.claude-code
codium --list-extensions --show-versions | grep -i anthropic.claude-code
ls -d ~/.vscode/extensions/anthropic.claude-code-* \
~/.cursor/extensions/anthropic.claude-code-* \
~/.vscode-oss/extensions/anthropic.claude-code-* \
~/.windsurf/extensions/anthropic.claude-code-* 2>/dev/null
Windows PowerShell:
Get-ChildItem "$env:USERPROFILE\.vscode\extensions","$env:USERPROFILE\.cursor\extensions","$env:USERPROFILE\.vscode-oss\extensions" -Filter "anthropic.claude-code-*" -ErrorAction SilentlyContinue | Select-Object Name
Sehen Sie anthropic.claude-code@2.1.313 oder ein Verzeichnis mit 2.1.313 im Namen, war diese Version installiert. Nicht einfach löschen: Gehen Sie Schritt 2 bis 4 durch und dann Schritt 5. Auch ohne 2.1.313 sollten Sie die Erweiterung auf 2.1.314 festlegen:
code --install-extension anthropic.claude-code@2.1.314 --force
cursor --install-extension anthropic.claude-code@2.1.314 --force
codium --install-extension anthropic.claude-code@2.1.314 --force
claude --version
Die letzte Zeile zeigt die Version der Claude-Code-CLI. Laut Phorion wurde 2.1.313 auch von npm entfernt; erscheint 2.1.313, aktualisieren Sie auch hier.
Schritt 2: authorized_keys per Fingerprint prüfen, nicht nur per Kommentar
grep -n "svc-telemetry" ~/.ssh/authorized_keys
ssh-keygen -lf ~/.ssh/authorized_keys
ssh-keygen -lf ~/.ssh/authorized_keys | grep "0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk"
Die erste Zeile sucht nach dem Kommentar, die zweite und dritte nach dem Fingerprint. Laut Phorion prüft die Malware nur, ob der Kommentar svc-telemetry existiert. Verlassen Sie sich auf den Fingerprint, Kommentare lassen sich leicht ändern. In einer Demo-Datei haben wir einen eigenen Schlüssel und den Angreiferschlüssel mit dem Kommentar renamed abgelegt: grep svc-telemetry fand 0 Zeilen, ssh-keygen -lf zeigte den Fingerprint trotzdem:
256 SHA256:fcpk2HR713pxnLll4jbnb7Bu9k5gvtf8n7UREAQe1dI me@laptop (ED25519)
256 SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk renamed (ED25519)
Jede Zeile, die ssh-keygen -lf ausgibt, sollten Sie kennen. Unbekannte Einträge sind verdächtig. Unter Windows:
Select-String -Path "$env:USERPROFILE\.ssh\authorized_keys" -Pattern "svc-telemetry"
ssh-keygen -lf "$env:USERPROFILE\.ssh\authorized_keys"
Schritt 3: Verbindungen zu 134.209.82.225 und Tunnelprozesse suchen
# macOS
lsof -nP -i @134.209.82.225
pgrep -fl 'localhost:22|\.smtk|\.stk_'
# Linux
ss -tnp | grep 134.209.82.225
pgrep -af 'localhost:22|\.smtk|\.stk_'
Windows:
Get-NetTCPConnection -RemoteAddress 134.209.82.225 -ErrorAction SilentlyContinue
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'localhost:22|smtk' } | Select-Object ProcessId,CommandLine
Eine Verbindung zu 134.209.82.225 oder ein ssh- / autossh-Prozess mit localhost:22, .smtk oder .stk_ in der Befehlszeile bedeutet fast sicher einen Befall. Laut Phorion läuft der Tunnel losgelöst, das Schließen des Editors beendet ihn nicht.
Schritt 4: Persistenz und SSH-Status prüfen
macOS:
ls -la ~/Library/LaunchAgents/com.apple.sysmond.plist ~/.config/.smt ~/.config/.smtk "$TMPDIR"/.stk_* 2>/dev/null
launchctl list | grep sysmond
sudo systemsetup -getremotelogin
Linux:
crontab -l | grep -n smt
ls -la ~/.config/.smt ~/.config/.smtk /tmp/.stk_* 2>/dev/null
systemctl is-enabled ssh sshd 2>/dev/null
systemctl is-active ssh sshd 2>/dev/null
Windows:
Get-ScheduledTask -TaskName SysMon -ErrorAction SilentlyContinue
Test-Path "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd"
Get-ChildItem "$env:USERPROFILE\.config" -Force -ErrorAction SilentlyContinue | Where-Object Name -match 'smt'
Get-Service sshd -ErrorAction SilentlyContinue
Existiert com.apple.sysmond.plist, ~/.config/.smt, eine @reboot-Zeile mit .smt, eine Aufgabe SysMon oder sysmon.cmd im Autostart, gilt der Rechner als befallen. Prüfen Sie auch SSH: Ist es aktiv, obwohl Sie es nie eingeschaltet haben, ist das ebenfalls verdächtig.
Schritt 5: Wenn Sie betroffen sind
Nach den Empfehlungen von OpenSourceMalware und Phorion:
- Zuerst vom Netz trennen und
134.209.82.225auf den Ports 22 und 8099 in Firewall oder Router sperren. - Beweise sichern, bevor Sie aufräumen:
mkdir -p ~/ir-evidence
cp -p ~/.ssh/authorized_keys ~/ir-evidence/ 2>/dev/null
cp -p ~/.config/.smt ~/Library/LaunchAgents/com.apple.sysmond.plist ~/ir-evidence/ 2>/dev/null
crontab -l > ~/ir-evidence/crontab.txt 2>/dev/null
ps auxww > ~/ir-evidence/ps.txt
- Tunnel stoppen, Persistenz und Schlüssel entfernen (macOS / Linux):
pkill -f '\.config/\.smt'
pkill -f 'localhost:22'
# macOS
launchctl unload -w ~/Library/LaunchAgents/com.apple.sysmond.plist
rm -f ~/Library/LaunchAgents/com.apple.sysmond.plist
# Linux
crontab -l | grep -v '\.smt' | crontab -
# macOS + Linux
rm -f ~/.config/.smt ~/.config/.smtk "${TMPDIR:-/tmp}"/.stk_*
sed -i.bak '/svc-telemetry/d' ~/.ssh/authorized_keys
ssh-keygen -lf ~/.ssh/authorized_keys
sed entfernt nur nach Kommentar. Hat Schritt 2 eine umbenannte Zeile per Fingerprint gefunden, öffnen Sie ~/.ssh/authorized_keys und löschen Sie sie von Hand. Windows:
Unregister-ScheduledTask -TaskName SysMon -Confirm:$false -ErrorAction SilentlyContinue
Remove-Item "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd" -ErrorAction SilentlyContinue
Remove-Item "$env:USERPROFILE\.config\smt.cmd","$env:USERPROFILE\.config\smtk" -ErrorAction SilentlyContinue
- Alle Zugangsdaten rotieren, die dieser Rechner erreicht: private SSH-Schlüssel, Git- / GitHub-Tokens, AWS- / GCP-Schlüssel, Tokens in
.env-Dateien und die API Keys von Claude Code und Codex, und zwar von einem anderen, sauberen Rechner aus. Laut Phorion ist dieser Schritt Pflicht, wenn SSH je aktiv war oder SSH-Logs Anmeldungen von127.0.0.1/::1mit demsvc-telemetry-Schlüssel zeigen. - Automatische Erweiterungs-Updates abschalten und eine Neuinstallation erwägen. Laut OpenSourceMalware erzählen die bekannten Dateien nach einer Anmeldung des Angreifers womöglich nicht alles; eine Neuinstallation ist sicherer.
Wenn Sie einen Schlüssel dieser Seite nutzen, löschen Sie den alten in der Konsole, erstellen Sie einen neuen und tragen Sie ihn in die globale ~/.claude/settings.json und in ~/.codex/config.toml ein.
API Key erstellen und einen möglicherweise offengelegten Schlüssel ersetzen →
Vorbeugen
- Erweiterungsversionen festlegen und Auto-Update abschalten, in der
settings.jsondes Editors:
{
"extensions.autoUpdate": false,
"extensions.autoCheckUpdates": false
}
Warten Sie bei neuen Versionen ein, zwei Tage und beobachten Sie die Security-Community, bevor Sie aktualisieren.
- Claude Code bevorzugt über die offizielle CLI installieren statt über Erweiterungs-Marktplätze:
curl -fsSL https://claude.ai/install.sh | bash
claude --version
Installation und Einrichtung einer Drittanbieter-API: Claude Code mit Drittanbieter-API einrichten.
- Berechtigungsgrenzen von Erweiterungen, Plugins und MCP kennen: Eine Editor-Erweiterung hat Ihre vollen Rechte und kann Dateien, Terminals und Zugangsdaten lesen. Siehe Grenzen von Codex Plugin, Skill, MCP und Internet Access und den Sicherheitsleitfaden zu Codex-Automatisierung und Playwright MCP.
- Eigene Projekte regelmäßig prüfen, etwa mit dem Cloudflare security-audit Skill für Claude Code.
- Lassen Sie Schlüssel nicht in Umgebungsvariablen liegen, die jeder Prozess sieht. Schlüssel wechseln: Codex API Key konfigurieren.



