Skip to content

Response, New York. Noah Park: Check Point Patches Actively Exploited Management Server Path Traversal. Detection, Dallas. Ava Okello: Report Finds Nearly Half of Deployed Detections Need Attention Before SOCs Can Trust Them.

SOCtember

Always First. Fast SOC News.

StepSecurity title card for its analysis of the trojanized Claude Code extension 2.1.313, listing Open VSX, Cursor, a malicious loader and a persistent SSH backdoor.
Image: StepSecurity (fair use). Title card from StepSecurity's analysis, published Oct. 30, 2026.

Response

A Trojanized Claude Code Extension Reached Up to 5,000 Cursor Users Through Open-VSX and Planted an Attacker's SSH Key, and Uninstalling It Does Not Remove the Backdoor

Version 2.1.313 of the official anthropic.claude-code extension carried a loader that ran as soon as the extension loaded, added an svc-telemetry key to authorized_keys and installed persistence disguised as system monitoring. Cursor and StepSecurity published indicators and say responders should hunt for the key, remove the persistence and rotate credentials from a clean machine.

Noah Park, ResponseNew York6 min read

NEW YORK - A tampered build of the official Claude Code extension for VS Code, version 2.1.313 of anthropic.claude-code, was published to the Open-VSX registry on Thursday and mirrored into Cursor's extension marketplace, where at most 5,000 Cursor users received it before it was pulled, according to a security notice from Cursor and an analysis published on Friday by the software supply chain security firm StepSecurity.

Cursor said the version was not developed by Anthropic. It was available in Cursor's marketplace between about 2:27 a.m. and 1:35 p.m. Pacific time on Oct. 29, 09:27 to 20:35 UTC. StepSecurity said the build appeared under the legitimate Anthropic publisher identity on Open-VSX rather than a lookalike name, and that how it entered the registry, whether through compromised publisher credentials or another mechanism, has not been publicly established.

The payload's most important property for responders is that it outlives the extension. "Uninstalling the extension alone is not sufficient: the loader drops standalone persistence that survives removal," StepSecurity wrote.

What the loader did

Open VSX listing for Claude Code for VS Code, version 2.1.313, marked COMPROMISED.
Image: Socket (fair use).The Open VSX listing for the extension with version 2.1.313 selected, annotated by Socket.

StepSecurity said the malicious build is identical to the official extension except for a small self-contained loader inside its extension.js bundle. That file, SHA-256 ecb58cb29078d9646ad1dcdbe51526f2d9cfea06be5fb2ab183e8ecc3ab6bf15, is 3,692,922 bytes, roughly 7 KB larger than the preceding clean release. In sandbox runs the payload executed under plain Node.js with no VS Code APIs, so loading the module was enough. No Claude conversation and no package-manager install hook was involved.

According to Cursor, the code collects the hostname, username, operating system, architecture, home directory path, environment variable names, working directories, configured Git email and public IP address. It tries to add an attacker-controlled SSH key, labeled svc-telemetry, to authorized_keys, turn on the local SSH service and open a reverse SSH tunnel to 134.209.82.225. It tries to make that tunnel persistent with a LaunchAgent on macOS or a scheduled task that attempts to run as SYSTEM, with a Startup-folder script as the Windows fallback. Background scripts retry the tunnel roughly every 60 seconds, and the loader reports host details and backdoor status by HTTP POST to /beacon on port 8099.

Cursor said that turning on the SSH service needs administrator rights the extension does not have on most macOS and Windows hosts, and that errors in the malicious code would make that step fail unless Cursor had been started with administrator privileges. On those hosts the attacker could not have logged in through the tunnel. The key, the persistence and the beacon still land, and Cursor told users to follow its remediation steps regardless. StepSecurity added that the beacon collected the names of environment variables matching KEY, TOKEN, SECRET, PASS, AWS and GCP, which tells an attacker which credentials were present on the machine.

How the window closed

StepSecurity attack-flow timeline for the Claude Code 2.1.313 incident, from the clean 2.1.312 release on Oct. 27 to the purge of 2.1.313 on Oct. 30.
Image: StepSecurity (fair use).Attack-flow timeline from StepSecurity's analysis, captured Oct. 30, 2026.

Cursor said it removed the version as soon as it was detected, then shut down its VS Code extension marketplace entirely, audited access and found no other extensions tampered with, rotated its keys, rebuilt the marketplace and brought it back online. It also worked with the hosting provider to take the attacker's server offline, so the reverse tunnel and the beacon no longer function. Cursor said it has no evidence that other versions of the extension or the official distribution were affected.

StepSecurity said it independently confirmed the registry state: Open-VSX now serves 2.1.312 and 2.1.314 but returns not found for 2.1.313, and the Microsoft Marketplace download endpoint returns 404 for 2.1.313 while serving both neighbors. The clean 2.1.314 was published to Open-VSX at 01:07 UTC on Friday.

What to hunt for

Cursor security notice section What happened, listing the data the malicious extension collects, the SSH key and reverse tunnel attempt, the persistence and the beacon on port 8099.
Image: Cursor (fair use).The What happened section of Cursor's security notice, captured Oct. 30, 2026.

The quickest check is the key itself. Cursor and StepSecurity both point responders to the svc-telemetry comment in authorized_keys, with fingerprint SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk. On Windows, Cursor's check also covers C:\ProgramData\ssh\administrators_authorized_keys. For a fleet sweep, StepSecurity suggests searching installed extension bundles for either of two strings, 134.209.82.225 or svc-telemetry, inside the anthropic.claude-code-2.1.313-darwin-arm64 or -win32-x64 folders.

Persistence and key artifacts listed by the two companies are ~/.config/.smt, ~/.config/.smtk and smt.cmd, tunnel key files named .stk_ followed by an ID in the temp directory, the LaunchAgent com.apple.sysmond, a scheduled task named SysMon, a Startup-folder sysmon.cmd and, per StepSecurity, a cron @reboot entry. On the process side, look for ssh -N -R '*:0:localhost:22', autossh -M 0 with StrictHostKeyChecking=no and UserKnownHostsFile=/dev/null, schtasks /create /tn SysMon, systemsetup -setremotelogin on and Add-WindowsCapability adding OpenSSH.Server. On the network, look for TCP 22 or HTTP POSTs to port 8099 at 134.209.82.225. Both firms note that lookups to ifconfig.me and api.ipify.org are legitimate public IP services and are not indicators on their own.

Two of those names imitate system monitoring, a com.apple LaunchAgent label and a task called SysMon, so a SOC that baselines new LaunchAgents, new scheduled tasks and changes to authorized_keys on developer endpoints will see this activity even without the IOC list. That is our reading of the artifacts, not a vendor recommendation.

The response order

StepSecurity's sequence for any machine that installed 2.1.313 is to check for the key, collect evidence and then remove the persistence, remove the extension version and install 2.1.314 or later, and rotate credentials reachable from the machine, from a known-clean system. That list covers source-control tokens, CI/CD tokens, cloud keys, SSH keys and package registry tokens. Cursor publishes remediate-macos.sh and remediate-windows.ps1 scripts that remove the extension, the persistence, running tunnel processes and the key, and exit with a non-zero status if anything remains. The macOS script runs as the affected user, not as root; the Windows script runs from an elevated PowerShell.

Cursor's own steps add isolation of any host that shows payload execution or backdoor installation, and it warns that the limited collection of environment variable names "does not rule out later credential access over the backdoor." Where the tunnel did connect, StepSecurity is blunt: "If the tunnel is confirmed to have connected, rebuilding the host is safer than cleaning it."

Sources:


Noah Park covers incident response and blue-team operations for SOCtember from New York.

Related stories

Response desk