博客 / 公司

今天我们确认了一起安全事件,涉及 Cursor VS Code 扩展市场中的一个特定扩展包: Anthropic.claude-code 版本 2.1.313. 该扩展的此恶意版本并非由 Anthropic 开发。最多有 5,000 名用户受到影响,我们将直接联系他们。

#发生了什么

今天太平洋时间约凌晨 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 密钥、安装持久化机制,并将主机详情发送给攻击者。无论如何,请按照以下修复步骤操作。

#我们做了什么

  • 一经发现,我们立即从市场中移除了恶意版本并阻止其进一步分发。出于谨慎考虑,我们随后完全关闭了 VSCode 市场。
  • 我们审计了访问权限,并确认没有其他扩展被篡改。
  • 我们轮换了密钥、重建了市场,并使其重新上线
  • 我们与托管服务提供商合作将恶意服务器下线,通过阻断与该服务器的连接来中断攻击。

#您应该做什么

如果您在 2026 年 10 月 29 日太平洋时间凌晨 2:27 至下午 1:35 之间从 Cursor VS Code 扩展市场安装或更新到了 Anthropic.claude-code 2.1.313:

  1. 运行以下检查以确认您是否受到影响。
  2. 在端点、网络和扩展安装遥测中搜索以下指标。
  3. 隔离显示有载荷执行或后门安装证据的主机。
  4. 使用以下修复脚本移除未经授权的 SSH 密钥、持久化机制和正在运行的隧道进程,并评估是否需要重建主机。仅卸载扩展可能不够——载荷会释放独立的持久化脚本并持续运行。
  5. 从受信任的系统轮换可从受影响主机访问的凭据和会话。有限的环境变量收集并不能排除之后通过后门访问凭据的可能性。

#检查您是否受到影响

该恶意扩展会将攻击者的公钥(标记为 svc-telemetry,)追加到您的 SSH 授权密钥中。要检查是否存在:

在 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.sh

在 Windows 上,下载 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 SysMon
  • systemsetup -setremotelogin on
  • Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

如果您有进一步问题,请联系 security@cursor.com.