Claude Code 插件遭投毒

Claude Code 2.1.313 被攻击者以 Anthropic 官方身份发布至 Cursor 扩展市场,恶意版本暴露约 11 小时,最多影响 5000 名用户。卸载插件无法清除已植入的 SSH 后门。
Claude Code 插件遭投毒:被信任的发布渠道,成了攻击入口
Anthropic 的 Claude Code 扩展近日在 Cursor 扩展市场遭到供应链投毒,攻击者发布的恶意版本 2.1.313 持续可下载约 11 小时,最多可能影响 5000 名用户。更麻烦的是,这不是一个靠相似名称诱导安装的山寨插件,而是出现在 Anthropic 的官方发布者身份之下。
截至今天(2026 年 10 月 31 日),攻击者如何取得相应发布权限仍未查明。Cursor 已经下架恶意版本、恢复扩展市场,并要求所有用户升级至 2.1.314;但对安装并运行过恶意版本的设备来说,单纯升级或卸载扩展都不够,因为后门可能已经脱离编辑器独立运行。
软件供应链攻击是攻击者通过开发、构建、签名、发布或更新链路,把恶意代码送入可信软件的攻击方式。 这次事件的危险之处,正是攻击者绕过了用户最常依赖的几层判断:插件名称正确、发布者正确、安装渠道看起来也正确。

恶意版本在线约 11 小时,跨越亚洲与欧美工作时段
Cursor 披露的时间线显示,恶意版 Claude Code 扩展于 10 月 29 日 09:27 UTC 上线,并在当日 20:35 UTC 左右被移除,暴露时间约为 11 小时 8 分钟。换算为北京时间,风险窗口从 10 月 29 日 17:27 持续至 10 月 30 日 04:35,覆盖了亚洲开发者的晚间工作时间,也进入了欧洲和北美的工作时段。
风险窗口是恶意软件能够被正常下载、自动更新或执行的时间区间。 对编辑器扩展而言,11 小时并不短,因为多数开发者不会逐次确认扩展更新,团队统一配置的 IDE 还可能在后台自动拉取新版本。
| 项目 | 已知信息 |
|---|---|
| 受影响产品 | Cursor 扩展市场中的 Claude Code for VS Code |
| 恶意版本 | 2.1.313 |
| 修复版本 | 2.1.314 |
| 上线时间 | 2026 年 10 月 29 日 09:27 UTC 左右 |
| 下架时间 | 2026 年 10 月 29 日 20:35 UTC 左右 |
| 暴露时长 | 约 11 小时 8 分钟 |
| 影响平台 | Windows、macOS 软件包已被确认受到影响 |
| 潜在影响人数 | 最多约 5000 名用户 |
| 主要恶意行为 | 尝试植入 SSH 后门、建立持久化并启动隧道进程 |
| 当前最大未知项 | 攻击者如何获得官方发布身份或发布权限 |
Cursor 在 10 月 30 日发布的安全说明中称,恶意版本并非由 Anthropic 开发,其他扩展下载暂未被认定受到影响。Sophos X-Ops 随后确认,Windows 与 macOS 包均需要检查,并特别提醒:卸载扩展不会自动删除已经写入系统的后门组件。
“最多影响 5000 人”不等于已有 5000 台设备被完全控制。 这一数字更接近潜在暴露或安装规模,实际风险还取决于恶意版本是否完成安装、是否被编辑器加载、恶意逻辑是否成功执行,以及终端安全产品是否中途阻断。
它不是“长得像真的”,而是混进了真的发布链路
这次事件与常见的拼写仿冒攻击有本质区别。传统恶意扩展往往使用 claude-c0de、anthropic-helper 一类近似名称,再通过搜索排名、广告或虚假教程诱导用户安装;此次 2.1.313 则显示在真实的 Anthropic 发布者名下,主体代码也与正常扩展高度相似,只夹带了一小段恶意逻辑。
拼写仿冒是通过近似名称、图标和描述冒充正版软件的攻击手法。 用户至少还可以通过下载量、发布者信息、历史版本和域名发现异常,而官方身份下的恶意更新会直接击穿这套经验判断。
公开分析显示,新增代码会尝试在开发者设备上植入 SSH 访问能力,并配置持久化与隧道进程。SSH 后门一旦成功建立,攻击者便可能绕过编辑器,在后续时间重新进入系统;即使用户关闭 Cursor、删除扩展,已经落到操作系统层面的密钥、启动项或进程仍可能存在。
持久化是恶意程序在设备重启、应用退出或原始载体被删除后继续运行的能力。 这也是为什么此次处置不能停留在“更新到安全版本”:扩展只是投递载体,真正的风险已经转移到用户账户、SSH 配置、系统启动机制和后台进程。
| 攻击类型 | 用户看到的发布者 | 是否依赖用户主动安装 | 常见识别方式 | 此次事件是否符合 | |---|---|---:|---|---:| | 拼写仿冒扩展 | 假冒或近似名称 | 是 | 核对名称、下载量、主页 | 否 | | 发布账户失陷 | 正版发布者 | 不一定,可能自动更新 | 登录审计、强制多因素认证 | 尚未确认 | | 构建流水线被污染 | 正版发布者 | 不一定 | 构建溯源、制品签名、可复现构建 | 尚未确认 | | 市场侧制品被替换 | 正版发布者 | 不一定 | 上传哈希、下载哈希交叉校验 | 尚未确认 | | 本地后门落地 | 与初始扩展无关 | 恶意扩展执行后发生 | 检查 SSH、启动项、进程与外连 | 已披露存在相关行为 |
真正需要解释的是:它怎么以官方身份发出来的
目前最关键的问题不是恶意代码做了什么,而是它如何进入可信发布位置。Ars Technica 在 10 月 30 日的报道中指出,攻击者获得 Anthropic 在 Cursor 上的已验证发布身份的具体方式仍然未知;Cursor 的公开说明也没有给出完整根因。
根因分析是对攻击者初始进入点、权限提升路径和防护失效环节进行可验证还原的过程。 在根因分析完成前,把事件简单归结为“Anthropic 账号被盗”并不严谨,因为至少还存在以下几种可能性:
- Anthropic 或相关维护人员的市场发布凭证泄露;
- 发布账户缺少抗钓鱼多因素认证,或会话令牌被窃取;
- CI/CD 构建与发布流程中的自动化凭证遭到利用;
- Cursor 市场的身份绑定、上传授权或制品存储环节存在缺陷;
- 正常软件包在上传后、分发前被替换或重新封装。
这些路径对应的责任边界完全不同。若是维护者凭证泄露,重点应是密钥轮换、硬件安全密钥和最小权限;若是构建流水线被污染,则需要检查构建节点、依赖锁定和制品来源证明;若市场侧存在漏洞,受影响范围可能不止一个发布者。
没有公开根因,就无法证明同类事件不会再次发生。 Cursor 已经移除恶意软件并恢复市场,但“当前没有进一步风险”只代表已知恶意版本得到处置,并不等同于发布链路已经完成结构性修复。
AI 编程插件比普通编辑器主题危险得多
AI 编程插件正在获得接近本地开发者本人的权限。Claude Code、Codex 类工具不再只是补全一行代码,它们通常需要读取整个代码仓库、调用终端、访问 Git 状态、修改文件,并接触环境变量、包管理器和远程开发环境。
AI 编程代理是能够理解任务、读取项目上下文并调用本地工具执行多步操作的软件系统。 一旦这类插件被投毒,攻击者拿到的不是一个孤立应用的缓存目录,而可能是企业最敏感的开发工作区。
一台开发者电脑通常同时保存多种高价值资产,包括:
- 私有 Git 仓库及尚未发布的源代码;
- 云平台、制品仓库和数据库的临时凭证;
- SSH 私钥、主机别名与跳板机配置;
- 浏览器登录状态、命令历史和内部文档;
- 代码签名证书、测试数据与本地配置文件;
- 可访问生产系统的 VPN 或零信任会话。
这意味着一次编辑器扩展投毒可以沿着“开发者设备—代码仓库—构建系统—生产环境”的路径继续扩散。传统办公终端失陷主要威胁文档与账户,开发终端失陷则可能进一步污染软件产品本身,形成二次供应链攻击。
此次事件也暴露了 VS Code 扩展生态的继承性风险。 Cursor 基于 VS Code 生态构建产品,并通过自己的市场分发兼容扩展,这带来了丰富的工具供给,也继承了扩展权限宽、更新频繁、依赖复杂和用户审查能力有限的问题。
只升级到 2.1.314,不足以完成处置
安装过 2.1.313 的用户应将设备视为潜在失陷主机,而不是普通的软件版本故障。Cursor 要求用户升级到 2.1.314 是阻止继续使用恶意包的第一步,但 Sophos X-Ops 明确指出,卸载扩展会留下已经部署的后门。
潜在失陷主机是存在恶意代码执行证据或处于明确风险窗口、但尚未完成取证确认的设备。 对这类主机,正确动作不是继续日常开发并等待扫描结果,而是先限制网络和凭证权限,再进行排查。
团队可以按以下顺序处理:
- 确认版本与时间。 盘点所有安装 Cursor 的 Windows、macOS 设备,检查是否曾在风险窗口安装或运行
2.1.313。 - 隔离高风险设备。 对确认运行过恶意版本的主机限制网络访问,避免后台隧道继续通信。
- 检查 SSH 配置。 排查新增的授权密钥、异常配置、未知主机记录,以及近期发生变化的 SSH 相关文件。
- 检查持久化。 审核登录项、计划任务、启动代理、系统服务和其他自动运行位置。
- 检查活动进程。 寻找未知隧道、反向连接、异常 SSH 进程及可疑父子进程关系。
- 轮换可访问凭证。 包括 Git、云平台、制品仓库、数据库、远程服务器和企业身份系统中的有效凭证。
- 审查远端日志。 查看代码仓库克隆、令牌使用、云控制台登录和服务器 SSH 登录是否出现异常来源。
- 保留取证信息。 不要在记录进程、网络连接、文件时间戳和日志之前直接重装,以免丢失攻击路径证据。
- 升级安全版本。 完成排查后安装
2.1.314或更高版本,并确认恶意版本未被缓存或重新部署。
凭证轮换也不能只盯着磁盘上的长期密钥。现代开发环境大量使用短期令牌、浏览器会话和设备授权,即使某个令牌已经自然过期,攻击者也可能在有效期内换取了新的访问能力,或已经从远端系统下载数据。
管理员权限会显著扩大这类攻击的破坏半径。 开发者不应长期以管理员或高权限账户运行 Cursor;如果恶意扩展只能获得普通用户权限,至少可以减少其修改系统服务、访问其他账户和关闭安全工具的机会。
企业需要把扩展更新当成软件发布,而不是个人偏好
此次事件说明,“允许开发者自由安装插件”已经不再是低风险的效率策略。AI 编程工具具备终端和仓库访问能力后,扩展市场实际上成为企业软件供应链的一部分,应该接受与包管理器、容器镜像和 CI 插件相近的控制。
扩展白名单是企业只允许安装经过审核的编辑器扩展及指定版本的管理机制。 白名单不能完全阻止官方账号下的恶意更新,但可以阻止未经验证的新版本在数千台设备上同时自动铺开。
| 防护措施 | 能解决的问题 | 对此次事件的价值 |
|---|---|---|
| 固定扩展版本 | 阻止新版本自动扩散 | 可避免 2.1.313 自动进入全部设备 |
| 分批更新 | 先在少量设备观察异常 | 缩小首轮影响范围 |
| 制品哈希校验 | 发现上传包与下载包不一致 | 有助于识别市场侧替换 |
| 发布者硬件安全密钥 | 降低钓鱼与账户接管风险 | 若初始入口是账户失陷,价值较高 |
| 构建来源证明 | 记录代码、构建环境与制品关系 | 可判断包是否来自官方流水线 |
| 终端行为检测 | 识别 SSH 持久化与异常隧道 | 即使发布身份可信,也能拦截落地行为 |
| 最小权限运行 IDE | 限制恶意扩展系统权限 | 降低持久化和横向移动能力 |
| 凭证短期化 | 缩短被盗凭证可用时间 | 降低后续账户滥用风险 |
团队还应记录扩展的安装时间、版本变化和来源市场。很多企业能够审计操作系统补丁,却无法回答“昨天有哪些 VS Code 扩展自动更新”,这正是当前开发者终端管理中的盲区。
市场验证标识只能证明身份绑定,不能证明每个版本都安全。 发布者认证、恶意扫描、人工审核和运行时检测必须同时存在,任何单点信任都会成为供应链攻击的突破口。
这次警报的价值,在于打破“官方插件默认可信”的习惯
Claude Code 2.1.313 事件目前看仍是一次规模受控的安全事故:已知暴露时间约 11 小时,潜在影响上限约 5000 人,恶意版本已被撤下,修复版本也已发布。但它触及了 AI 编程行业最不愿面对的问题——当编辑器能够代表开发者执行命令时,扩展更新本身就接近一次远程代码发布。
Cursor 接下来需要公开的不只是处置结果,还应包括攻击者的初始访问路径、恶意包如何通过发布校验、哪些审计机制未能及时告警,以及发布权限是否已经完成重构。Anthropic 也需要说明其 Cursor 发布身份和构建流程是否遭到直接入侵。
本次事件的核心教训不是“不要使用 Cursor”,而是不能继续把 AI 编程插件当成普通编辑器附件。 对个人开发者来说,最现实的动作是确认版本、检查后门并轮换凭证;对企业来说,则要把 IDE 扩展纳入资产清单、版本审批、终端检测和供应链治理。
在根因公开之前,2.1.314 解决的是眼前这个恶意版本,却还没有回答下一个恶意版本能否以同样方式再次出现。
参考来源
受链接域名限制,以下仅保留可访问域名下的公开检索入口;事件事实主要依据 Cursor 2026 年 10 月 30 日安全通告、Sophos X-Ops 分析及 Ars Technica 报道交叉核对。
- GitHub:检索 Claude Code 2.1.313 相关公开 IOC 与排查资料——用于查找社区公开的检测规则、版本痕迹与处置资料,具体内容应与 Cursor 官方指标交叉验证。
- Reddit:检索 Claude Code 2.1.313 与 Cursor 事件讨论——汇总开发者社区的安装反馈与处置讨论,不应作为单一事实来源。



