# Claude Code：如何检测与审计 Cursor 后门漏洞

作者：Schnalz.net · 2026年10月31日

https://schnalz.net/zh-CN/ai-guides/claude-code-how-to-detect-and-audit-the-cursor-backdoor

> 审计受后门影响的 Claude Code 插件需要检查 Cursor 安装的 2.1.312 及 2.1.313 版本。安全团队必须检查 SSH 授权密钥与文件权限以识别受害主机。

## 重点

- Cursor 已从市场移除受后门影响的 Claude Code 插件版本 2.1.312 和 2.1.313。
- 插件加载时会立即执行恶意代码，无需任何用户交互。
- Payload 会将含有 svc-telemetry 标注的 SSH 密钥追加至 authorized_keys。
- macOS 与 Windows 上的实现错误阻碍了标准权限下 SSH 服务的配置。

## 什么是 Claude Code Cursor 后门？

在 Cursor Marketplace 发布官方 Claude Code for VS Code 插件在 2.1.312 和 2.1.313 版本中遭到篡改。安全公司 Phorion 报告称，受影响的插件包包含注入的 Payload，旨在建立持久的 SSH 后门。

**Claude Code 插件后门事实摘要**

- **发现者**：Phorion
- **安全公告更新**：31 October 2026
- **受影响版本**：2.1.312 and 2.1.313
- **分发平台**：Cursor Marketplace
- **目标操作系统**：macOS, Linux, Windows

Cursor 随后已从 Cursor Marketplace 删除了这两个受影响的版本。运行这些版本的企业组织必须检查其开发者环境，以确认是否存在未经授权的访问密钥和后台持久化配置。

## 如何审计系统是否存在后门插件

> **完成后**：完成此项审计可确认开发者设备是否正在运行受篡改的插件版本，并揭示是否被植入了未经授权的 SSH 密钥或修改了目录权限。

1. 检查 Cursor 中已安装的插件版本，确认是否存在 2.1.312 或 2.1.313 版本的 Claude Code for VS Code 插件。
2. 检查 ~/.ssh/authorized_keys 中是否包含 svc-telemetry 标注或符合攻击者 Ed25519 公钥指纹的条目。
3. 验证 ~/.ssh 的目录权限是否被修改为 0700，并检查 authorized_keys 文件权限是否为 0600。
4. 审计系统进程遥测数据，检查是否有涉及 systemctl、service、systemsetup 或 PowerShell SSH 配置命令的后台执行尝试。
5. 如果在任何主机上检测到受篡改的插件版本或后门痕迹，请立即联系应急响应团队。

> **提示**：在搜索 authorized_keys 时，应直接比对公钥指纹，而不是仅依赖 svc-telemetry 标注字符串。

## Claude Code 插件 Payload 的执行机制

恶意代码位于 extension.js 文件中，作为注入的函数表达式附加在压缩代码包的前端。Node.js 在加载该文件时会立即执行此代码，早于插件标准的 activate 回调函数运行。

由于执行过程是在模块加载期间自动发生的，用户无需与插件进行任何交互即可触发 Payload。脚本会导入 child_process、fs、os、path、http 和 crypto 模块，以准备持久化和主机侦察。

- **0700** ~/.ssh 目录权限设置
- **0600** authorized_keys 文件权限设置
- **2** 被 Cursor 移除的受影响版本数量

## 后门 Payload 中的实现错误

根据 Phorion 的说法，Payload 中的实现 Bug 阻止了 SSH 服务在非特权系统上的启用。在 macOS 上，未取得 root 权限运行 systemsetup -getremotelogin 会返回管理员错误消息，并以状态码 0 退出。

由于脚本预期获得 Off 响应后才会触发 sudo -n systemsetup -setremotelogin on，因此它在 macOS 上会完全跳过启用 SSH 的步骤。在 Windows 上，Payload 会将 PowerShell 服务命令传递给一个硬编码为 /bin/sh 的辅助函数。

> **小心**：切勿依赖 Payload 的 Bug 来提供防护：如果 macOS 上原本就已经启用了 SSH 远程登录，攻击者的 Ed25519 密钥将能直接获取访问权限。

## 常见问题

### 哪些版本的 Claude Code Cursor 插件受影响？

通过 Cursor Marketplace 分发的官方 Claude Code for VS Code 插件版本 2.1.312 和 2.1.313 包含后门。Cursor 已从其市场移除了这两个版本。

### 该后门是否需要用户交互才能激活？

不需要，当 Node.js 加载插件文件时，Payload 会自动执行。它的执行时间早于插件正常的 activate 回调触发。

### Payload 会在 authorized_keys 中留下什么 SSH 密钥标注？

Payload 会将带有 svc-telemetry 标注的 Ed25519 公钥追加至 ~/.ssh/authorized_keys。安全团队在审计时应直接核对密钥指纹。

### 为什么 SSH 服务启用在标准 macOS 账户上会失败？

Payload 运行了未提升权限的 systemsetup 命令，该命令返回的是管理员错误而不是返回 Off。由于脚本专门检查 Off，因此会跳过尝试开启 SSH 的步骤。

## 资料来源

- [Phorion：Official Claude Code Extension Compromise: Security Advisory](https://phorion.io/blog/offical-claude-code-vsx-compromise/)
