Cursor 扩展市场发现恶意版 Anthropic.claude-code 2.1.313,最多 4100 名用户受影响
Security notice — malicious version of Anthropic.claude-code (2.1.313) identified in the Cursor Extension Marketplace
Cursor 官方披露,其 VS Code 扩展市场中的 Anthropic.claude-code 2.1.313 为恶意篡改版本,并非 Anthropic 开发,在 10 月 29 日 2:27am PT 至 1:35pm PT 期间上架,最多影响 4100 名用户。
Cursor 官方披露恶意扩展事件细节,给出检测命令、修复脚本和完整 IOC,受影响用户可按步骤自查处置。
今天我们确认了一起安全事件,涉及 Cursor VS Code 扩展市场中的一个特定扩展包:Anthropic.claude-code 版本 2.1.313。这个恶意版本并非由 Anthropic 开发。受影响的用户最多 4,100 人,我们会直接联系他们。
事件经过
今天太平洋时间约凌晨 2:27 至下午 1:35 之间,一个被恶意篡改的 Anthropic Claude Code 扩展版本出现在 Cursor VS Code 扩展市场中。该扩展会运行恶意代码,试图安装一个持久化的 SSH 后门。具体来说,它会:
- 收集主机和用户信息:主机名、用户名、操作系统、架构、主目录路径、环境变量名、工作目录、配置的 Git 邮箱以及公网 IP。
- 试图把攻击者控制的 SSH 密钥添加到
authorized_keys,启用本地 SSH 服务,并打开一条反向 SSH 隧道。除非在极不寻常的情况下以管理员权限启动 Cursor,否则由于恶意代码本身存在错误,这一步会失败。 - 试图通过 LaunchAgent(macOS)或计划任务(Windows,尝试以 SYSTEM 身份运行,并以启动脚本作为后备)让反向 SSH 隧道持久化。后台脚本大约每 60 秒重试一次隧道。
- 通过 HTTP POST 向
/beacon的 8099 端口上报主机详情和后门状态。
注意:攻击者的服务器已停止运行。
- 我们与托管该服务器的云服务商合作将其下线,因此反向 shell 和主机详情 POST 均已失效。
- 以上发现针对的是已确认的这个包。我们没有证据表明该扩展的其他版本或官方分发渠道受到影响。
- 此外,启用本地 SSH 服务需要管理员权限,而恶意扩展在大多数 macOS 和 Windows 主机上并没有该权限。在这些主机上这一步会失败,攻击者无法通过隧道登录。但该扩展仍会添加攻击者的 SSH 密钥、安装持久化机制,并把主机详情发送给攻击者。无论如何,请按照下面的修复步骤操作。
我们做了什么
- 发现后立即从市场移除了恶意版本,并阻止其继续分发。出于谨慎,我们随后完全关闭了 VS Code 市场。
- 我们审计了访问权限,确认没有其他扩展被篡改。
- 我们轮换了密钥,重建了市场,并使其恢复上线。
- 我们与托管服务商合作将恶意服务器下线,切断了与该服务器的连接,从而阻断了攻击。
你应该做什么
如果你在 2026 年 10 月 29 日太平洋时间凌晨 2:27 至下午 1:35 之间从 Cursor VS Code 扩展市场安装或更新到了 Anthropic.claude-code 2.1.313:
- 运行下面的检查,确认你是否受到影响。
- 在终端、网络和扩展安装遥测中搜索以下指标。
- 隔离出现载荷执行或后门安装迹象的主机。
- 使用下面的修复脚本移除未经授权的 SSH 密钥、持久化机制和正在运行的隧道进程,并评估是否需要重建主机。仅卸载扩展可能不够——载荷会释放独立运行的持久化脚本。
- 从可信系统上轮换受影响主机可访问的凭据和会话。虽然环境变量收集范围有限,但不能排除攻击者后续通过后门获取凭据的可能。
检查你是否受到影响
恶意扩展会把攻击者的公钥(标记为 svc-telemetry)追加到你的 SSH authorized_keys 中。检查方法如下:
macOS 上运行:
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"Windows 上在 PowerShell 中运行:
$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }如果找到该公钥,说明你的机器已受影响。请按上文第 3 至第 5 步操作,并运行下面对应平台的修复脚本。
这些脚本会移除恶意扩展、持久化机制、正在运行的隧道进程以及攻击者的 SSH 公钥。若仍有残留,脚本会以非零状态退出。
macOS 上,下载 remediate-macos.sh,以受影响用户的身份(不要用 root)在保存该文件的目录中运行:
bash remediate-macos.shWindows 上,下载 remediate-windows.ps1,在保存该文件的目录中,用以管理员身份运行方式打开的 PowerShell 执行:
powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1入侵指标
软件包
- 被篡改的 VSIX SHA-256(darwin-arm64):432ccdee3801f99e52b8fe31f69ea9870118e96ea7ef9ecabed1479621b5ab62(MD5 da5469c4221775e9fe2e413e59ca7fd9)
- 被篡改的 VSIX SHA-256(win32-x64):3de1722901165769893bef57c72594e9a54459faa23f3091b136b79966edd081(MD5 bd3b71ddf3d0cc3af76249afd2c0eda1)
- 被篡改的代码:anthropic.claude-code-2.1.313-darwin-arm64(macOS)或 anthropic.claude-code-2.1.313-win32-x64(Windows)扩展目录下的 extension.js 中包含 134[.]209[.]82[.]225 和 svc-telemetry
网络
- 攻击者端点:134[.]209[.]82[.]225
- 反向 SSH:tunnel@134[.]209[.]82[.]225,TCP 22
- 外部信标:hxxp://134[.]209[.]82[.]225:8099/beacon(HTTP POST)
- 本地信标尝试:127[.]0[.]0[.]1:8099/beacon(HTTP POST,回环地址)
- 向 ifconfig[.]me / api[.]ipify[.]org 查询公网 IP——这些是合法服务,仅访问它们不构成指标
SSH
- 未授权的公钥:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDdvylCEJ/k2TpezcTfedrkHyFSK9IZ3vmP6vhY4Ss0P svc-telemetry - 未授权密钥指纹:
SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk - 反向隧道密钥指纹:
SHA256:KOAU57+ZG6u3MG4WwzPzPX2O5YEe9qdOC1Bl+6MVyDQ - 密钥注释:
svc-telemetry
文件与持久化
- macOS:
~/.ssh/authorized_keys中存在未授权密钥;~/.config/.smt、~/.config/.smtk;$TMPDIR/.stk_<10 hex>;~/Library/LaunchAgents/com.apple.sysmond.plist(标签com.apple.sysmond) - Windows:
%USERPROFILE%\.ssh\authorized_keys、%USERPROFILE%\.config\smt.cmd、%USERPROFILE%\.config\smtk、%TEMP%\.stk_<10 hex>;计划任务SysMon(尝试以 SYSTEM 身份运行);备用机制%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd
进程 / 命令行
ssh -N -R '*:0:localhost:22'、autossh -M 0- SSH 选项:
StrictHostKeyChecking=no、UserKnownHostsFile=/dev/null、ServerAliveInterval=30、ServerAliveCountMax=3、ExitOnForwardFailure=yes、IdentitiesOnly=yes schtasks /create /tn SysMonsystemsetup -setremotelogin onAdd-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
如有更多疑问,请联系 security@cursor.com。
来源:Cursor Blog · cursor.com