AI编程神器遭供应链偷袭:Cursor市场ClaudeCode插件被塞66行后门"

admin 2026-11-01 18:09:55 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

AI编程神器遭供应链偷袭:Cursor市场Claude Code插件被塞66行后门

原创

赤霄攻防实验室
赤霄攻防实验室

赤霄攻防实验室

2026年10月31日 09:25
河北

去阅读

10月29日,无数开发者像往常一样打开 Cursor 写代码。没有人注意到,一次看似寻常的插件自动更新,正在把一部分人的开发机变成别人的远程入口。这就是昨天引爆安全圈的 Cursor 扩展市场投毒事件:一个冒充官方的 Claude Code 插件版本,在 Cursor 自营市场里挂了约 11 个小时,被最多 5000 名开发者装进了自己的电脑。

这不是某个小作坊插件被人仿冒,而是「市场里的官方插件被偷换」——供应链攻击里最让人后背发凉的一种。本篇基于 Cursor 官方安全通告与独立逆向分析,完整拆解这 11 个小时里发生了什么、那 66 行恶意代码做了什么、以及你现在应该立刻做哪三件事。

TL;DR 四行速览

是什么:Cursor 自营 VS Code 扩展市场出现冒名构建 anthropic.claude-code 2.1.313,非 Anthropic 开发,主体是 66 行前置 SSH 后门加载器。

影响面:10月29日 02:27–13:35(太平洋时间)窗口内通过 Cursor 市场安装/更新该插件的用户,官方口径最多 5000 人。

怎么处置:查插件版本是否 2.1.313、查 SSH 授权钥匙里有没有 svc-telemetry 字样、查伪装成苹果服务的持久化项;命中即按失陷处理。

看点:恶意代码藏在合法包最前面、编辑器一加载就执行;但作者自己的一个低级 Bug,反而挡住了大部分机器上的远程登录。

▲ 封面:66 行后门伪装成一次正常更新

事件档案:先看清全貌

先纠正一个流传很广的误报。事件曝光之初,多家分析称恶意版本来自 Open VSX(一个开源扩展仓库,VSCodium 等编辑器默认使用它)。但 Socket 对注册表变更记录与自动摄取日志的核查显示:Open VSX 从来没有出现过 2.1.313 这个版本,连下架记录都没有;npm 上同样查无此版。恶意构建唯一的流通渠道,就是 Cursor 自己运营的扩展市场。OpenSourceMalware 在与 Cursor 核实后也修正了原始报告。

本号在成稿前实读了 Open VSX Registry 的版本记录:anthropic/claude-code 的版本序列从 2.1.312 直接跳到 2.1.314,2.1.313 在官方源里从未存在。这个细节很重要——它意味着用微软官方市场、Open VSX 或 npm 装插件的开发者,从头到尾不在暴露范围内;风险只集中在「Cursor 市场 + 当天自动更新」这一条路径上。

▲ 事件档案卡:性质/范围/产物/基础设施一图看清

11 小时全程:从上架到 C2 下线

按太平洋时间计,10月29日凌晨 02:27,这个冒名版本出现在 Cursor 自营市场。它冒用的是 Anthropic 官方插件的身份,版本号顺着官方序列伪造,对已安装用户来说就是一次平平无奇的自动更新——不需要点任何链接,不需要确认任何弹窗。

13:35,Cursor 检测并识别出恶意包,立即下架。随后的处置相当果断:预防性关停整个 VS Code 市场做全量审计、轮换全部密钥后重建市场、联合云厂商把攻击者服务器 134.209.82.225 直接下线。10月30日,干净的 2.1.314 版本发布到 npm、Open VSX 与微软官方市场。从上架到基础设施被拆,攻击者的完整活动窗口只有约 11 个小时。

▲ 时间线:11 小时里攻击与处置的每一步

▲ Cursor 官方安全通告原文(2026-10-29)

66 行后门拆解:加载即执行

独立逆向分析给出的细节比通告更具体。被篡改的只有 extension.js 这一个文件:一个 66 行的立即执行函数被拼接在合法压缩包的最前面,其余代码与官方版本完全一致,连内嵌的二进制都是官方原版。这意味着常规的「看发布者、看下载量、看功能」全部失效——它本来就不是新插件,而是官方插件被开了头帘。

最狠的设计在触发时机。这 66 行不声明任何 install/postinstall 生命周期脚本,包管理器的钩子审计对它无感;它只是在 Node 加载模块的那一刻执行。也就是说,你不需要打开 Claude 对话框,不需要敲一行代码,编辑器启动、插件被加载的瞬间,恶意代码就已经跑完了第一步。受害者全程零感知、零交互。

▲ 攻击链六步:从静默触发到持久化回传

执行起来分六步。第一步主机侦察:主机名、用户名、操作系统、家目录、工作目录、Git 配置邮箱,一个不落。第二步凭据雷达:抓取环境变量名里含 KEY、TOKEN、SECRET、PASS、AWS、GCP 字样的条目,最多 40 个——注意它传回的是变量名而不是值,攻击者要的是「这台机器上有什么值钱的」这张地图。第三步落地后门:向 SSH 授权钥匙文件写入一把带 svc-telemetry 标签的攻击者公钥,同时把内嵌的私钥解码到临时文件。第四步开隧道:反复发起反向 SSH 连接到 134.209.82.225,禁用主机密钥校验,每 60 秒重试,Unix 下优先用 autossh 保活。第五步持久化:macOS 上写一个伪装成苹果系统服务的 LaunchAgent(com.apple.sysmond),Windows 上尝试创建以 SYSTEM 权限运行的计划任务,失败就退到启动文件夹。第六步回传:把主机信息和后门状态打包,HTTP 明文 POST 到攻击者服务器的 8099 端口。整个链路不下载第二阶段载荷——隧道本身就是目的,门开了之后运什么进来,服务器说了算。

▲ OpenSourceMalware 逆向分析:66 行前置加载器与 C2 细节

一个 Bug 救了大多数人

这次事件里有个近乎黑色幽默的转折。开启本地 SSH 服务需要管理员权限,而这 66 行代码在绝大多数 macOS 和 Windows 主机上都拿不到这个权限——开启失败的分支直接抛错,反向隧道也就成了断头路。Phorion 的分析还发现了更深一层:macOS 上检查远程登录状态的系统命令,以普通用户身份运行时会打印管理员权限报错并返回成功退出码,恶意代码只认「Off」才去开启,于是这个分支被彻底跳过。

换句话说,攻击者自己的代码 Bug,替大部分受害者挡住了「远程登录」这最后一步。但注意:SSH 钥匙写入、持久化项、信息外传这三件事在多数机器上照样落地了,Cursor 官方因此明确要求——无论隧道是否建成功,命中 IOC 的机器都要按失陷流程走完修复。别抱侥幸。

最不安的问题:它是怎么进市场的?

到目前为止,Cursor 的通告解释了「发生了什么、做了什么处置」,但始终没有解释最关键的一环:一个非 Anthropic 开发的构建,是怎么通过上传校验、进入自营市场、还顶着官方插件名头的?「市场侧发生了某种形式的入侵」是目前唯一的模糊说法。是发布凭据失窃、构建管道被入侵,还是审核流程被绕过,没有答案。这个空洞正是这类事件最值得警惕的地方:只要入口不明,就无法排除下一次。Cursor 声称审计后确认没有其他插件被篡改、轮换密钥后重建了市场,这是标准动作,但入口问题一天不闭环,「官方市场」四个字的信任就始终缺一角。

三分钟自查与处置

如果你或团队在 10月29日当天用过 Cursor 且装着 Claude Code 插件,按下面三步走。第一步查版本:在终端列出扩展清单并过滤 claude,出现 2.1.313 即命中。第二步查后门痕迹:在 SSH 授权钥匙文件里搜 svc-telemetry 标签,检查家目录配置下有没有 .smt 与 .smtk 文件、LaunchAgents 里有没有 com.apple.sysmond 项——注意这个名字是刻意仿冒苹果系统监控服务的。第三步查失陷证据:有条件的话看出口流量记录里有没有 134.209.82.225(22 或 8099 端口)的连接。

命中任何一条,按失陷处理:断网隔离、先保全证据再清理、从干净设备轮换这台机器能触达的所有凭据(SSH 钥匙、Git 令牌、云厂商 API Key、密码管理器会话),并优先考虑重装系统而不是手工删文件——逆向报告的作者自己也承认,可观测的落盘文件未必代表全部。卸载插件不会清掉已写入的钥匙和持久化项,这点必须强调。

▲ 自查、处置、长效防御三层清单

这次事件改变了什么

过去我们讲供应链安全,默认前提是「别装野插件、认准官方市场」。这次事件恰恰打在这个前提上:市场是官方的,插件页面是官方的,版本号序列是对的,签名主体看起来也没问题——毒就藏在这些「官方」的夹缝里。对个人开发者,实际可做的三件事是把插件自动更新改为手动审批、环境变量里不留长期凭据、把「扩展列表」纳入开发机资产台账。对企业安全团队,IOC(svc-telemetry、com.apple.sysmond、134.209.82.225、8099 端口 beacon 路径)可以直接进 EDR 与代理规则,另外值得把「AI 编程插件」单列为一类资产来管——它们有文件系统、网络、子进程能力,权限等级实际上等于开发者本人。

最后回到那个 11 小时窗口。5000 这个数字听起来不大,但这 5000 人几乎全是写代码、管基础设施、手里捏着生产环境钥匙的人。供应链攻击的杠杆从来不在人数,而在「这一小撮人能碰什么」。这也是为什么入口问题必须追问到底。

▲ 本号实测:Open VSX 版本记录 2.1.312 直接跳 2.1.314,2.1.313 从未存在

参考与致谢

Cursor 官方安全通告(2026-10-29):https://cursor.com/blog/claude-code-extension-security-notice

OpenSourceMalware 逆向分析:https://opensourcemalware.com/blog/trojanized-claude-code-extension-plants-persistent-ssh-backdoor

Socket 注册表核查(Open VSX 澄清):https://socket.dev/blog/claude-code-extension-compromise

Phorion 安全公告(macOS 行为细节):https://phorion.io/blog/offical-claude-code-vsx-compromise

本文由赤霄攻防实验室基于公开信源整理分析,仅用于防御研究与企业安全建设参考;涉及 IOC 请仅用于授权检测与防御场景。

— 完 —

觉得有用,点个「在看」;想看更多 AI 安全与供应链攻防拆解,关注「赤霄攻防实验室」。

一个政企安全项目的交付手记" 网络安全文章

一个政企安全项目的交付手记"

该文是政企安全项目交付复盘手记,作者总结四方面经验:需求治理需留痕并走流程避免范围蔓延;复杂干系人管理要明确权责、拉会踢球并向上管理;用高质量文档锁定交付成果,重视细节审核;拒绝情绪内耗,专注自身课题。核心在于将项目管理知识落地,通过流程化、文档化应对政企项目挑战。
pypdf一个PDF吃光内存,CVE-2026-119204" 网络安全文章

pypdf一个PDF吃光内存,CVE-2026-119204"

本文分析pypdf库CVE-2026-119204资源耗尽型拒绝服务漏洞,影响6.21.4以下版本。漏洞成因是页面树条目复制无预算上限,恶意PDF可致内存膨胀OOM。修复版本为6.21.4,建议升级或手工合入补丁,并采取子进程隔离、资源限额等加固措施。文章还提供检测脚本与红队利用视角。
150元破解6.4万元FSD:韩国80名特斯拉车主被移送检方" 网络安全文章

150元破解6.4万元FSD:韩国80名特斯拉车主被移送检方"

韩国80名特斯拉车主因非法激活FSD被移送检方,查扣21台破解设备。攻击利用CAN总线硬件中间人手法,伪造认证指令绕过区域限制,成本仅150元。事件暴露三大设计缺陷:授权判定缺少双向认证、全球硬件同构仅靠软件锁区分、车载日志由车主掌控。建议车企加强总线层双向认证与安全元件防护。
评论:0   参与:  0