Malicious Claude Code Extension Served in Cursor Supply Chain Attack
Anthropic released Claude Code 2.1.314 after attackers uploaded rogue extension versions to the Cursor marketplace, exposing roughly 5,000 developer systems.
By Dillip Chowdary โข Nov 02, 2026 โข Source: SecurityWeek
Anthropic released an emergency update to its official Claude Code extension, incrementing the software directly to version 2.1.314 to protect developers after unauthorized builds appeared in a third-party marketplace. The supply chain incident occurred on October 29 when attackers uploaded compromised packages to the Cursor VS Code Extension Marketplace, targeting engineers working across macOS and Windows workstations. Security researchers discovered that the rogue packages attempted host reconnaissance and sought to establish an unauthorized reverse network connection back to an external server. According to SecurityWeek's report, the malicious distribution stayed live for approximately 11 hours before maintainers caught the anomaly and took containment measures.
This technical report details the operational mechanics of the Cursor extension incident, how the malicious loader collected developer workstation configuration data, and the defensive controls that prevented deeper host compromise. The analysis is intended for engineering leads, system administrators, and software developers who run Cursor alongside Anthropic developer tooling on production workstations. It examines the timeline of the attack, the specific payload behaviors observed by Microsoft and Cursor security analysts, and the remediation steps required to eliminate persistent background artifacts. Readers will find exact version numbers, remediation commands, detection guidance, and indicators of compromise to audit local development environments.
What shipped in Malicious Claude Code Extension Served
The unauthorized packages uploaded to Cursor's extension store appeared under the identifier anthropic.claude-code, claiming version numbers 2.1.312 and 2.1.313. Neither package was created, verified, or published by Anthropic, which maintains official distributions strictly through designated registries. While legitimate releases deliver developer workflow integrations for Claude, these altered builds bundled an obfuscated JavaScript loader inside their modules. As soon as developer environments initialized the extension during standard module loading, the code activated an automated reconnaissance sequence. The routine scanned local workstation parameters, prepared automated file modifications, and attempted to execute operating system commands to prepare a backdoor into developer workstations across macOS and Windows operating systems.
Anthropic platform engineer Felix Rieseberg confirmed that a malicious actor abused marketplace access to distribute the counterfeit builds without Anthropic involvement. The official distribution pipelines, including Microsoft Visual Studio Marketplace, the Open VSX registry, and the NPM registry, remained untouched throughout the incident. Analysis by Microsoft revealed that the malicious JavaScript loader initiated host profiling before deploying secondary payloads. The code collected the active machine hostname, logged-in username, operating system release, system processor architecture, current working directory, and the developer's global Git email configuration. After completing initial discovery, a delayed callback mechanism scheduled an outbound transmission to deliver telemetry back to an attacker-controlled host.
What improved in Malicious Claude Code Extension Served
Anthropic responded to the compromise by issuing official version 2.1.314 to supersede the tampered sequence numbers and eliminate distribution ambiguity. Cursor intervened immediately upon discovery by removing versions 2.1.312 and 2.1.313 from its extension marketplace and taking the entire marketplace offline during its internal investigation. The platform team audited the registry catalog, verified that no other extensions suffered tampering, rotated all operational access keys, and rebuilt the repository infrastructure before restoring public access. Furthermore, Cursor collaborated directly with the external cloud provider hosting the attacker command infrastructure to shut down the upstream server, severing callback routes for any existing infections.
| Metric | Compromised Distribution | Clean Verified Release |
|---|---|---|
| Extension Version | 2.1.312 and 2.1.313 | 2.1.314 |
| Marketplace Exposure | Roughly 11 hours | 0 hours (offline) |
| Affected Systems | Roughly 5,000 potential downloads | 0 compromised channels |
| Alternative Registries | 0 impacted (VS Marketplace, Open VSX, NPM clean) | 3 verified clean registries |
| Marketplace Keys | Exposed baseline | Fully rotated and rebuilt |
The rapid shutdown prevented attackers from maintaining active collection across the developer ecosystem. Security researcher Kevin Beaumont estimated that approximately 5,000 developer systems downloaded the tainted extension during its eleven-hour window on October 29. Because Anthropic incremented official builds to version 2.1.314, automated package managers and development clients cleanly bypass the fraudulent version range. Cursor stated that forensic inspection uncovered no evidence of compromise affecting other extensions or the official distribution channels. Platform infrastructure now operates on rebuilt services with newly provisioned credentials, significantly raising defensive baselines across the marketplace hosting architecture.

What you gain from Malicious Claude Code Extension Served
The primary protection for affected engineering teams emerged from fundamental operating system privilege boundaries. The malicious JavaScript payload was designed to install an unauthorized SSH key, activate local SSH services, establish a reverse tunnel, and set up persistent startup items. However, Cursor noted that enabling the local SSH daemon on both macOS and Windows requires administrative privileges. Because the extension execution context operates under standard developer user privileges, the service activation command failed on the vast majority of endpoints. This operating system constraint prevented attackers from achieving interactive login access through their planned reverse network tunnel.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
Engineering organizations gain decisive forensic resources released by Cursor to audit and clean compromised workstations. Cursor published an official detection script alongside technical indicators of compromise to assist security operations teams in cataloging affected environments. The guidance emphasizes that simply deleting the extension from the IDE interface is insufficient, as the payload drops standalone persistence scripts and configurations that run independently of Cursor. Administrators can inspect process trees for rogue tunnel processes, remove unauthorized SSH keys, wipe scheduled startup items, and decide whether full system rebuilds are necessary for hosts showing signs of payload execution.
How to get Malicious Claude Code Extension Served
Developers running Claude Code must verify that their installation originates strictly from official upstream distribution channels and reflects release version 2.1.314 or later. Official releases are maintained directly via the NPM registry and authorized marketplaces, completely bypassing third-party catalog risks. Teams should verify installed package identifiers and update their globally installed command-line utilities using package managers. Upgrading ensures that local development configurations pull verified binaries built by Anthropic rather than unvetted community mirrors. Administrators should run updates across all developer environments to guarantee that outdated or contaminated build numbers are completely replaced by signed distributions.
npm install -g @anthropic-ai/claude-codeclaude update/model claude-fable-5-1claude --model fableexport ANTHROPIC_MODEL=claude-fable-5-1After updating the core binary, developers can manage runtime model selection directly within the active terminal interface. Typing the in-app command /model claude-fable-5-1 or /model fable switches model routing during interactive workflows. For continuous project sessions requiring a fixed model version, engineers can launch the interface pinned using the --model argument directly from their command shell. To enforce a uniform default across terminal reboots and build automation without specifying flags on every launch, developers can export their preferred model parameter in local shell profiles. These native controls ensure development workstations stay pinned to authenticated model configurations while operating on sanitized client binaries.
What to watch after Malicious Claude Code Extension Served
Security and infrastructure teams must actively monitor developer workstations for residual artifacts left by versions 2.1.312 and 2.1.313. Cursor explicitly warned that uninstalling the extension inside the editor does not eliminate dropped scripts. The loader was observed placing platform-specific persistence scripts and modifying startup configurations on both macOS and Windows systems. Incident responders must isolate any host demonstrating evidence of payload activity, terminate unauthorized background processes, remove rogue SSH public keys from authorized_keys files, and verify scheduled tasks or launch daemons. For hosts where execution progressed, rebuilding the operating system remains the recommended path to guarantee complete integrity.
Organizations must also audit identity credentials and developer metadata that may have been gathered during host reconnaissance. The malicious callback collected machine hostnames, internal usernames, working directories, and global Git email addresses, providing attackers with detailed organizational mapping. Security teams should cross-reference network logs against the indicators of compromise released by Cursor to verify whether internal machines attempted outbound callbacks to the attacker server before it went offline. Moving forward, engineering organizations should enforce strict registry filtering, preventing developer tools from sourcing extensions from unverified or mirror marketplaces that lack cryptographic publisher signing and validation checks.
Developer Action Items
- โ Diff the official changelog for Anthropic / Claude / Microsoft 2.1.314 before you bump โ APIs, defaults, and removed flags only.
- โ Install through the vendor's documented channel in staging; keep a one-command rollback and time-box the canary.
- โ Grep your repo for old flag names, lockfile pins, and plugin versions that the notes mark as breaking.
- โ Prefer the first patch cut over the day-zero tag unless you have a reason to be on the leading edge.
- โ If SecurityWeek did not name a region, plan, or SKU, screenshot the official availability line before you promise it to users.
Malicious Claude Code Extension Served FAQ
Which versions of the Claude Code extension in Cursor were compromised?
Compromised versions 2.1.312 and 2.1.313 of the anthropic.claude-code extension were live in the Cursor marketplace for roughly 11 hours on October 29. Anthropic updated its legitimate extension directly to version 2.1.314 to avoid confusion.
Were Microsoft VS Code Marketplace and NPM affected by this attack?
No, the tampered copies were never published to the Microsoft Visual Studio Marketplace, Open VSX, or the NPM registry. Anthropic confirmed that official distribution channels were unaffected and the incident only impacted Cursor users.
How did the malicious extension attempt to breach developer systems?
During module loading, the code ran host reconnaissance to collect hostnames, usernames, system architecture, and global Git emails. It then attempted to install an unauthorized SSH key, enable the local SSH service, and establish a reverse SSH tunnel.
Why did the attackers fail to log into target systems through the SSH tunnel?
Enabling the local SSH service requires administrative rights on macOS and Windows, which the extension lacked in standard developer environments. Because that step failed, attackers could not establish their intended interactive login session.
Sources
Author
Dillip Chowdary
Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.
Related on Tech Bytes
Advertisement