CheckMyVibeCode checkmyvibecode.com
Back to Blog

A tampered Claude Code extension had an SSH backdoor. 7 things every vibe coder should check this week

Share:
A tampered Claude Code extension had an SSH backdoor. 7 things every vibe coder should check this week

TL;DR

On 29 October 2026, a tampered build of the Claude Code extension for VS Code-compatible editors (version 2.1.313) was available for about 11 hours, according to Cursor. It added an attacker's SSH key to the victim's machine and opened a persistent connection to the attacker's server. If you installed or updated that extension that day, check your SSH keys, rotate your credentials from a clean machine, and then run the seven checks below on your own setup and your live app.

What happened

The security firm Phorion found a tampered build of Anthropic's Claude Code extension, version 2.1.313, according to Help Net Security. Cursor says the malicious version was available for about 11 hours on 29 October 2026 and that at most 5,000 users were affected. Cursor also says the build was not developed by Anthropic and that it found no sign of other tampered extensions.

What the injected code did, as described in that report:

On macOS, a faulty check often stopped SSH from being enabled, but Phorion warns that this is not a real defense.

Which marketplace hosted the malicious build is disputed. Phorion found it on Open VSX, Cursor says it was in its own marketplace, and Manifold Security's Ax Sharma disputes that the Open VSX version was also compromised. Treat that detail as unsettled.

Checks 1 to 3: your machine

1. Look for SSH keys you did not add. Open the authorized_keys file in the .ssh folder of your home directory (on Windows: C:\Users\<your name>\.ssh). Any line you do not recognize is a problem. The reported malicious key was labeled "svc-telemetry". Also check your SSH logs for logins from localhost that use that key.

2. Do not rely on uninstalling. Standalone scripts from the attack may keep running after the extension is gone. Look for startup entries you did not create: login items and launch files on macOS, crontab -l on Linux, Task Scheduler and the Startup folder on Windows. If you were affected, isolate the machine and consider rebuilding it.

3. Rotate every credential the machine could reach. That means cloud keys, payment keys, database keys, GitHub tokens, SSH keys and logged-in sessions. Do it from a clean device, not from the affected one. The malware listed the names of credential-like environment variables, so the attacker knew which secrets were likely to exist.

Checks 4 to 7: your habits and your live app

4. Keep your extensions few and sourced. Install tools only from the official publisher, check the publisher name and version, and remove extensions you no longer use. For editor tools with deep access, it is reasonable to wait a day or two before installing a non-urgent update.

5. Keep secrets out of reach of your AI tools. Block your coding assistant from reading .env files and stop it from pushing code on its own. In Claude Code, a minimal .claude/settings.json looks like this:

{
  "permissions": {
    "deny": ["Read(./.env)", "Read(./.env.*)", "Bash(git push:*)"]
  }
}

Prefer scoped or short-lived keys over one master key sitting in an environment variable.

6. Check your live app from the outside. Most exposures in vibe-coded apps are basic: missing security headers, outdated dependencies with known vulnerabilities, keys visible in public JavaScript, and database tables without row-level security. A free option is the Code Check on CheckMyVibeCode, which scores a project from 0 to 100 and gives you a prompt to fix each finding. Disclosure: I run that site. It checks your app, not your computer, so it does not replace checks 1 to 3.

7. Have a response plan before you need one. Write down where each key lives and how to revoke it, turn on two-factor authentication for GitHub, your cloud provider, your payment provider and your domain registrar, and decide which credentials you would rotate first.

FAQ

What happened with the Claude Code extension?

A tampered build of the extension (version 2.1.313) for VS Code-compatible editors was available for about 11 hours on 29 October 2026, according to Cursor. It added an attacker's SSH key to the victim's machine and opened a persistent connection to the attacker's server.

Was Anthropic hacked?

Cursor says the malicious build was not developed by Anthropic, and it reports no evidence that other versions or other extensions were affected. The reports describe a tampered build distributed through a marketplace listing, not an impersonating lookalike.

Am I affected if I only use Claude Code in the terminal?

The reports describe the editor extension, not the terminal tool. If you never installed that extension, nothing in the reports says you were exposed to this build. If you are unsure, run checks 1 and 2 anyway.

How do I know if I was affected?

Look for unknown entries in your authorized_keys file (the reported one was labeled "svc-telemetry"), check your SSH logs, and look for startup entries you did not create. Cursor says it will contact affected users directly and has published cleanup commands for macOS and Windows.

What are the most common security mistakes in vibe-coded apps?

Missing security headers, outdated dependencies with known vulnerabilities, API keys in public JavaScript, and database tables without row-level security. All four can be checked in minutes before you ship.

Sources and author

Facts about the incident come from this report and may change as the investigation continues. Last updated 5 November 2026.

Written by Mio, solo founder of CheckMyVibeCode.com, a showcase and free Code Check for AI-built projects.

Share this post ✦
Found this useful? Pass it on.