Claude Code 插件投毒一夜:我们把信任押给了模型,却没人看管下载按钮
一、11 小时里发生了什么
10 月 29 日(美国时间),Cursor 扩展市场上架了一个被篡改的 Claude Code 扩展版本,版本号 2.1.313,顶着 Anthropic 官方扩展的身份分发。安全公司 Phorion 在 10 月 30 日发布了完整分析:恶意代码是一段插在原扩展代码前面的 66 行加载器,编辑器一启动就执行,不需要用户任何操作。
它做四件事。第一步,往本机的 authorized_keys 文件追加一把攻击者公钥,注释写成 svc-telemetry,伪装成系统遥测组件。第二步,尝试开启本机 SSH 服务。第三步,建一条指向攻击者服务器的反向隧道,让外面的人能连回这台电脑。第四步,把主机名、用户名、Git 邮箱、公网 IP,以及最多 40 个带 KEY、TOKEN 字样的环境变量名,明文发给对方服务器。环境变量只是名字被发走,值没有直接外传,但光看名字就知道这台机器上配了哪家云,方便挑高价值目标下手。
Cursor 当晚的公告给出了边界:恶意窗口从太平洋时间凌晨 2:27 到下午 1:35,约 11 小时,受影响用户最多 5000 人,公司会逐一联系。恶意包只存在于 Cursor 市场这一个渠道,VS Code 官方市场、Open VSX 和 npm 上的包确认没有被污染。
二、问题出在市场,不在模型
这件事最容易被误读的地方,是把它当成 AI 公司又被黑了。实际没有。Anthropic 技术员工公开确认,公司系统和员工设备都没有被入侵。篡改发生在 Cursor 市场的发布环节:有人拿到发布权限,用官方扩展的身份推出假版本。安全社区的补充也印证了危险所在,包名、发布者、版本号全部显示正常,开了自动更新的用户会在毫无感知的情况下吃到恶意代码。
Cursor 的处置算是干脆:检测到就下架,随后出于谨慎整体关闭了扩展市场做审计。确认没有其他扩展被篡改、轮换自己的密钥之后才重新开服,并联合云服务商把攻击者服务器下线了。截至 2026 年 10 月 30 日,修复版 2.1.314 已在官方渠道发布。
但对用户来说,真正的教训是结构性的。AI 编程工具的使用体验是一键安装、默认自动更新、开箱拿满你的代码目录和终端权限。便利的设计前提是你完全信任分发渠道,而这次事故证明,这个前提值得重新检查一遍。
三、为什么"卸载了事"行不通
这类后门的恶意部分不在插件目录里。攻击者的公钥躺在你的 SSH 配置里,开机常驻项伪装成系统服务挂在系统目录里,这些不会因为删掉插件而消失。只要你的机器后来开了远程登录,之前埋的隧道就会重新活过来。
官方与 Phorion 给的清理路径一致。先隔离可疑机器,检查 authorized_keys 里有没有 svc-telemetry 这把陌生密钥,再按官方脚本删除常驻项和残留密钥文件。这台机器上存过的所有凭据,要从一台确认干净的机器上轮换一遍。环境变量名字被采集过的人,哪怕没直接泄值,也应当按可能已暴露来处置对应的密钥。
四、放到更大的图里看
这次事故发生在海外一周热度最高的议题带上。开发者社区这两周持续在讨论两件事:AI 编码代理大规模进入工作流之后谁来把关代码质量,以及智能体拿到账号权限之后边界在哪里。插件投毒把这两个讨论撞到了同一个点上。AI 工具链是一条供应链,插件市场、模型接口、MCP 服务串在一起,最薄弱的一环决定整体信任水位。你给 AI 的每一分权限,都要经过某个第三方的分发渠道才能兑现。
对还在观望的团队,这次事件的实际影响是给了采购流程一个新检查项:AI 开发工具从哪个市场装、更新走什么通道、密钥放在哪台机器上。这些以前被归为"开发者的个人习惯",现在开始进安全清单了。
五、三条实操建议与一个判断
普通用户按三件事做就够了。一,关掉 AI 工具插件的自动更新,新版出来等一两天再看。二,定期扫一眼自己机器上的 SSH 授权文件。三,把重要凭据和日常写代码的机器在账号与物理上隔开。
一个判断:分发市场被投毒不是第一次,也不会是最后一次。AI 把开发效率抬上去的同时,也把每一次安装的爆炸半径放大了。下载按钮背后有没有人真正看门,接下来会成为选型时和技术栈同等重要的问题。
事实核:事件细节经四源交叉,Phorion 原始公告(技术细节,A 级)、Cursor 官方安全公告(受影响范围与处置,A 级)、The Hacker News 与 RH-ISAC 独立报道(B 级)。检索与核验均为 2026-10-31 当日。本文不构成任何投资或买卖建议。