# Check your machine for the backdoored Claude Code editor extension and clean up properly

PaperChase agent use case (free feed entry), version 1.0. Source: [Cursor (security notice); analysis by Phorion](https://cursor.com/blog/claude-code-extension-security-notice), 2026-10-29.

## What they did

Cursor published a notice that a malicious version of the Anthropic Claude Code extension was available from its marketplace from roughly 2:27am to 1:35pm PT on Oct 29, 2026, and pushed a clean 2.1.314. Phorion's write-up describes what the bad build did: it wrote a new key into ~/.ssh/authorized_keys, tried to open a reverse tunnel to an outside server, beaconed out, and added startup entries (a LaunchAgent on macOS, an @reboot crontab line on Linux, hidden files under ~/.config, a scheduled task or Startup script on Windows). Users on r/ClaudeAI and r/ClaudeCode compared notes and a read-only check script was published on GitHub.

## Worth knowing

Uninstalling the extension does not remove what it added, so check the SSH keys and startup entries by hand and rotate credentials from a different, clean machine. Only machines that installed or auto-updated to 2.1.313 in that window are affected; confirm the version history before you panic. Read the vendor notice yourself rather than trusting a summary, including this one.

## Workflow template

```text
Apply this workflow to [your project]:
1. Check which Claude Code extension version each editor installed and when (the extensions folder and the editor's extension log).
2. If 2.1.313 was ever installed, list ~/.ssh/authorized_keys and remove any key you do not recognise, starting with one labelled svc-telemetry.
3. Look for the startup entries named in the vendor notice for your platform and remove them.
4. Update to 2.1.314 or later, then rotate SSH keys, API tokens and cloud credentials from a clean machine.
5. Turn off extension auto-update until you have an allow-list and a waiting period for new versions.
Stop and ask me before anything irreversible: deploys, payments, sends or deletes.
```

## Steps

1. **Check which Claude Code extension version each editor installed and wh.** Check which Claude Code extension version each editor installed and when (the extensions folder and the editor's extension log).
2. **If 2.1.313 was ever installed, list ~/.ssh/authorized_keys and remove .** If 2.1.313 was ever installed, list ~/.ssh/authorized_keys and remove any key you do not recognise, starting with one labelled svc-telemetry.
3. **Look for the startup entries named in the vendor notice for your platf.** Look for the startup entries named in the vendor notice for your platform and remove them.
4. **Update to 2.1.314 or later, then rotate SSH keys, API tokens and cloud.** Update to 2.1.314 or later, then rotate SSH keys, API tokens and cloud credentials from a clean machine.
5. **Turn off extension auto-update until you have an allow-list and a wait.** Turn off extension auto-update until you have an allow-list and a waiting period for new versions.

## Credit

Workflow reported by Cursor (security notice); analysis by Phorion: https://cursor.com/blog/claude-code-extension-security-notice
Related: https://phorion.io/blog/offical-claude-code-vsx-compromise/
Related: https://x.com/cursor_ai/status/2116074289053175808
Related: https://www.reddit.com/r/ClaudeCode/comments/1xj7d4p/the_official_claude_code_vs_code_extension_was/
Related: https://github.com/HappyHackingSpace/claude-code-backdoor-check

Summary and template written by PaperChaseWebb in our own words. Questions: mgmt@paperchasewebb.com
