ARTICLE · 1332835
Claude Code官方插件遭投毒!5000名程序员被塞后门钥匙,卸载都没用
10月30日深夜,成千上万名程序员打开电脑上的 AI 代码编辑器 Cursor。
右下角闪过一条不起眼的提示:Anthropic.claude-code 已自动更新至 2.1.314 版本。很多人松了一口气,以为前一天的安全警报已经翻篇,继续敲下回车键写代码。
就在这时,知名网络安全研究者 Kevin Beaumont(网名 GossiTheDog)发出了警告:
别高兴得太早自动更新根本不会清除后门,甚至连卸载插件都没用。

▲ 安全研究者 Kevin Beaumont 发文警告:夜间自动更新的替换版本不会清除此前植入的后门,每一台受影响机器都必须手动排查修复
社交媒体瞬间炸锅安全资讯账号 International Cyber Digest 紧急拉响警报,评论区里出现了一句急切的喊话:
“更新也修不好??快去看看你的 authorized_keys!”

▲ 评论区开发者惊呼:更新居然解决不了问题,必须立刻检查本机密钥文件
这是一场足以写进教科书的供应链惊魂。在短短 11 个小时里,黑客借着官方正牌插件的躯壳,把一把隐形的“备用钥匙”塞进了最多 5000 名开发者的电脑。而当官方紧急换掉有毒的插件包时,那把钥匙,依然安静地插在程序员的房门上。
01惊魂11小时:不用点开对话框,66行代码已完成“配钥匙”
把时钟拨回太平洋时间 2026 年 10 月 29 日凌晨 2 点 27 分。
绝大多数北美程序员还在熟睡在当下最火的 AI 编辑器 Cursor 的官方扩展市场里,Anthropic 旗下的明星编程助手 anthropic.claude-code 悄然上线了两个新版本:2.1.312 与 2.1.313。
它顶着如假包换的官方身份标识,功能也完全正常。但在这份大约 130MB 的安装包里,主入口文件 extension.js 的最顶端,被人硬生生塞进了 66 行 JavaScript 代码。
加载时就会触发恶意代码:你根本不需要点击 Claude 图标,甚至不需要跟 AI 说一句话。
只要你打开 Cursor 编辑器,底层的 Node 环境一加载这个文件,那 66 行恶意代码就会在扩展正式激活(activate())之前瞬间执行。代码会在后台悄悄运行
加载后,恶意代码会尝试做四件事:
- 摸底抄家
:代码迅速搜集你的主机名、用户名、系统架构、工作目录、Git 绑定的邮箱、公网 IP,甚至把你电脑里所有看起来像密码或密钥(Token)的环境变量名称全部抄走,通过明文请求直接发往黑客控制的服务器( 134.209.82.225:8099)。 - 塞入“备用钥匙”
:它会找到你电脑里的 ~/.ssh/authorized_keys文件,悄悄追加一串黑客的公钥,并在末尾加上一个极具迷惑性的注释,svc-telemetry(伪装成系统的遥测服务)。 - 反锁变开门
:它尝试开启你电脑的远程登录功能,并向黑客服务器发起反向连接。 - 埋下定时闹钟
:在苹果电脑上,它伪装成苹果官方系统组件,注册了一个叫 com.apple.sysmond的自启动任务;在 Windows 上,它建了一个叫SysMon的计划任务。每隔 60 秒,这个隐藏脚本就会准时醒来一次,尝试帮黑客打通连进你电脑的暗道。

▲ Cursor 官方发布的安全通告,确认市场中出现被篡改的 Anthropic.claude-code(2.1.312 与 2.1.313),通告正文另提醒“卸载扩展可能不够”
不懂技术的朋友可能会问:什么是 authorized_keys?为什么往里面写一行字这么可怕?
你可以把自己的电脑想象成一套带智能门锁的房子。SSH 就是远程开门的协议,而 authorized_keys 就是门锁里的“白名单住户名录”。只要谁的钥匙指纹写进了这份名录,他从外地走过来,不需要输密码,门锁就会自动弹开。
黑客干的事情,就是趁着快递员(自动更新机制)送货进门的一瞬间,不仅在你的门锁白名单里录入了他的指纹,还在你家客厅角落里藏了一个每 60 秒响一次的自动开门器。
直到当天下午 1 点 35 分,Cursor 官方才彻底下架恶意版本,甚至一度关停整个扩展市场进行审计与密钥轮换。早期曾有消息怀疑 Open VSX 等第三方开源仓库也是源头,但安全机构 OpenSourceMalware 随后更正说明:此次投毒源头锁定在 Cursor 扩展市场,微软官方 VS Marketplace 与 npm 上的包并未受染。
然而,11 个小时的窗口期已经足够长。最多约 5000 名用户通过安装或后台静默更新,把这个带毒的构建包领进了家门。
02正牌扩展的自动更新管道失守
可到了 2026 年 10 月 29 日,这套防御法则彻底失灵了。
这一次,中招的开发者安装的是沿用官方标识的 anthropic.claude-code。攻击者不知通过何种手段拿到了 Cursor 市场上的发布权限,直接把毒药灌进了正品的自动更新管道里。
当“正版发布者身份”遇上“后台静默自动更新”,程序员对工具链最大的信任,瞬间变成了最致命的软肋。
03救命的低级Bug,与除不掉的“数字幽灵”
回到被投毒的电脑内部既然最多约 5000 名用户可能拿到了恶意构建,为什么没有立刻爆发数千台电脑被同时远控的灭顶之灾?
说出来有些黑色幽默:因为写这段恶意代码的黑客,在苹果 macOS 系统上犯了一个极其低级的编程错误。
光靠在门锁里录入指纹还不够,通过这条路径登录,还需要本机 SSH 服务开启且能够连通。因此,恶意代码里专门写了一步:先检查受害者的 Mac 有没有开启远程登录;如果没开,就强行打开它
安全机构 Phorion 和开发者 Justin Johnson 拆解代码后发现了这个救命的 Bug:

▲ 开发者 Justin Johnson 指出:恶意脚本在 macOS 上因权限报错与退出码判断失误,绝大多数情况下未能成功开启 SSH 服务,但密钥与持久化脚本依然落地
黑客在代码里调用了苹果系统的命令 systemsetup -getremotelogin,然后检查返回的结果里有没有包含单词 "Off"(关闭)。如果有,就去开启它
但黑客忘了,普通用户的权限根本不够运行这条检查命令!在绝大多数没有以最高管理员身份运行的 Mac 上,系统会直接弹出一行报错:“需要管理员权限”,同时返回退出码 0。
因为报错信息里没有 "Off" 这个词,黑客那段死板的脚本竟然以为“远程登录已经开着了”,于是直接跳过了开启开关的步骤!
这个阴差阳错的 Bug,让绝大多数 Mac 用户躲过了被当场远程接管的一劫。
但是,千万别以为这就安全了
这正是 Kevin Beaumont 和安全机构 Expel 拼命敲警钟的原因。当 Cursor 官方在 10 月 30 日推送干净的 2.1.314 版本时,编辑器的更新机制只做了一件事:把扩展文件夹里的旧文件删掉,换成新文件。
可那 66 行代码生下来的“孽种”,早就跑出扩展文件夹,寄生到你的操作系统深处去了!
你把插件更新了, ~/.ssh/authorized_keys里的黑客公钥还在;你把插件卸载了, ~/.config/.smt里的隐藏脚本还在;哪怕 Cursor 联合云服务商端掉了黑客的 134.209.82.225服务器,你电脑里的com.apple.sysmond守护进程,依然像一个不知疲倦的幽灵,每 60 秒在后台敲一次门。

▲ 安全厂商 Expel 在客户环境中发现:在官方公布的暴露窗口关闭约 8 小时后,仍有受感染的 Mac 首次触发恶意活动
Expel 在真实客户救援中监测到了极具警示性的一幕:在 Cursor 官方宣布关闭暴露窗口整整 8 个小时之后,依然有一台 Mac 电脑爆发了恶意活动。而且,只要那把公钥还留在你的 authorized_keys 里,哪怕今天 SSH 是关着的,万一三个月后你为了调试代码手动打开了 Mac 的“远程登录”,这把公钥就可能再次成为登录入口;远程访问仍取决于网络可达性等条件。
04围猎程序员:为什么你的笔记本成了头号目标?
看看过去 14 个月里,黑客在程序员工具箱里埋下的连环雷就明白了:
- 2025 年 8 月(
Nx投毒案):恶意脚本潜伏在 npm 依赖包里,不仅偷密钥,还尝试直接调用程序员电脑里安装的 Claude、Gemini 等 AI 命令行工具,让 AI 帮黑客自动搜寻硬盘里的机密文件; - 2026 年 5 月(
Nx Console扩展案):恶意版本在 VS Code 市场里只存活了短短 11 分钟,就精准给打开工作区的 Mac 程序员种下了 Python 持久化后门; - 2026 年 10 月 19 日(
OVHcloud CLI案):因为一名贡献者一年前装过恶意扩展导致权限失守,黑客篡改了 5 个历史版本,专门搜刮电脑里的 Cursor 与 Claude Code 凭证; - 2026 年 10 月 29 日(
Claude Code扩展案):直接劫持 Cursor 市场官方 ID,11 小时波及 5000 人。
这就是直达本质的残酷逻辑:今天的云服务器已经被加固得像铁桶一样,正面强攻成本极高;但管理这些云服务器的程序员笔记本,却是一个塞满最高权限钥匙、却又大门敞开的后花园。
一位程序员的电脑里有什么?有免密登录生产服务器的 SSH 私钥,有刚刚登录过的 AWS 和阿里云控制台会话,有 GitHub 代码库的写入权限,还有公司内部数据库的连接配置。
而以 Cursor、Claude Code 为代表的 AI 编程助手,天生就需要读取你的整个代码库、读取你的终端环境、甚至替你执行系统命令。它拥有你电脑上最核心的权限,同时又具备“无需人工确认、后台秒级自动更新”的特权通道。 一旦发布管道失守,AI 编程助手就会从你最得力的副驾驶,瞬间变成权力最大的内鬼。
05紧急自查指南:排查门垫下的钥匙
如果你的电脑在 10 月 29 日至 30 日期间使用过 Cursor,并且安装过 Claude Code 扩展,请立刻放下手头的工作,不要只看扩展是不是已经升到了 2.1.314,按以下三步彻底排查操作系统:
第一步:查门锁名录(authorized_keys)打开终端(macOS/Linux)或 PowerShell(Windows),检查 ~/.ssh/authorized_keys(Windows 还需检查 C:\ProgramData\ssh\administrators_authorized_keys)中是否包含 svc-telemetry 字样。更稳妥的做法是直接核对公钥指纹,看是否存在这把毒钥匙:SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk
第二步:拔掉“60秒定时闹钟”(持久化脚本)
- macOS 用户
:检查 ~/Library/LaunchAgents/com.apple.sysmond.plist是否存在,并排查~/.config/.smt、~/.config/.smtk以及临时目录下的.stk_*隐藏文件。 - Windows 用户
:打开计划任务,查找是否有伪装成系统监控的 SysMon任务,并检查启动目录(Startup)下的sysmon.cmd以及~/.config/smt.cmd。 - Linux 用户
:检查 crontab -l中是否有异常的@reboot启动项。
第三步:换锁(必须在干净的电脑上操作!)一旦发现上述任何一项中招,说明你电脑里的环境变量名与基础信息可能已经外泄。请先断开网络、清理后门进程(或直接运行 Cursor 官方通告提供的 remediate-macos.sh / remediate-windows.ps1 修复脚本),然后务必换一台确认干净的电脑,将这台开发机能够触达的所有 SSH 密钥、GitHub Token、云平台凭证(如 aws、gcloud、kubectl 会话)全部作废并重新生成。
随着 AI 编程工具进入日常工作,工具越聪明、越无感,藏在“自动更新”背后的暗箭就越难防。毕竟,软件可以一键升级,但插在系统里的那把后门钥匙,只能靠你自己亲手拔掉。















































































