夜雨聆风学习资料网

ARTICLE · 1292804

官方 Claude 插件带 SSH 后门 11 小时才下架,卸载也清不掉

官方 Claude 插件带 SSH 后门 11 小时才下架,卸载也清不掉

10 月 29 日太平洋时间 2:27 到 13:35,Cursor 扩展市场里的 Anthropic.claude-code 2.1.312 和 2.1.313 被换成带 SSH 后门的构建,最多 5,000 名开发者受影响。同一扩展在微软 VS Code 市场的安装量是 29,175,576。差距来自渠道:Cursor 用自己的代理分发,绝大多数微软市场用户没走那条路。而中招机器上的攻击者公钥和持久化脚本,卸载插件也删不掉。

扩展权限、Cursor 分发和 7 月的旧账

VS Code 扩展不是沙箱里的小工具。它随编辑器启动,以当前用户权限运行,能读工作区、家目录、环境变量和 SSH 配置;Claude Code 这类扩展还要起本地进程、执行终端命令、持有模型 API 凭证。微软市场页面显示,这个扩展有 29,175,576 次安装、840 个评分 [11]。对一个进了开发者日常工具链的扩展,66 行前置代码,就能在装插件的同时给攻击者留一把钥匙。

Cursor 的分发结构让这件事更复杂。官方文档说,Cursor 用 Open VSX 作第三方扩展源,但搜索和下载走自己的 marketplace 代理,代理会做「自动化恶意软件与供应链分析」,并可选择启用发布者验证、签名校验和安装冷却 [10]。Cursor 还会为部分微软市场独占扩展提供自己审计的 Anysphere 构建 [10]。问题是这些控制默认并不全开:安装冷却默认 0 小时,签名校验是可选项 [10]。一个被篡改的构建在代理里活了约 11 小时,说明「商业安全工具扫描」没能在分发前拦住它 [1][17]。

「Claude Code 后门」也不是新词。2026 年 7 月,中国工信部网络安全威胁平台称 Claude Code 2.1.91 到 2.1.196 存在「安全后门漏洞」,会在未经同意时向远程服务器发送位置、身份等信息,建议卸载或升级;Anthropic 回应说那是今年早些时候为防蒸馏做的实验,阿里巴巴随后要求员工停用 Anthropic 工具 [21]。这次是另一类问题:不是模型厂商内置的功能,而是分发链上的第三方篡改。两件事容易被混为一谈,责任主体却完全不同。

11 小时、两个版本号、5000 人

Cursor 的通告写得很具体:10 月 29 日约 2:27 到 13:35(太平洋时间),恶意版本上架;受影响的是 macOS 和 Windows 的 2.1.312、2.1.313。公司下架并封锁分发,随后「出于谨慎」整体关停扩展市场,审计访问记录、轮换密钥、重建市场,还配合云厂商关掉了攻击者的服务器 [1]。按时间窗算,暴露约 11 小时 [1]。

受影响人数的口径更微妙。Cursor 的博客给了时间窗、IOC、哈希和清理脚本,正文却没写「5,000」;这个上限来自它在 X 的通告和后续报道,并称会逐一联系受影响用户 [4][5]。5,000 是厂商自报的估计,没有独立安装数据可以核对。对一家把「开发者信任」当卖点的公司,这个数字的审计质量本身就是事件的一部分。

版本号更值得留意。Cursor 说 2.1.312 和 2.1.313 都被篡改,不是单一构建 [1]。而 Anthropic 的 GitHub 标签里有 v2.1.312 和 v2.1.314,没有 v2.1.313 [12]。v2.1.314 于 10 月 30 日 01:06 UTC 发布,恰好落在恶意窗口结束后的约 4 个半小时 [13]。跳过 2.1.313、直接发 2.1.314,能让所有客户端越过被污染的版本号;这反过来说明,2.1.313 根本不在 Anthropic 的公开标签流里。

代价落在机器上。Cursor 要求受影响用户检查 ~/.ssh/authorized_keys 里有没有 svc-telemetry 公钥,命中就隔离主机、跑清理脚本、从可信设备轮换凭据,并评估是否重装 [1]。公告明确说只卸载扩展不够,因为载荷会落下独立的持久化脚本 [1]。对 5,000 名开发者,这不是点一下更新的事,而是要取证、清理、轮换凭据。

66 行代码,扩展一加载就执行

OpenSourceMalware 把载荷结构讲清楚了:恶意代码是一个 66 行的立即执行函数,前置在合法 extension.js 的最前面,先引入 child_process、fs、os、path、http、crypto,然后在扩展正常的 activate 回调之前执行 [3]。用户不需要打开 Claude 面板、不需要发起对话,编辑器一加载这个扩展模块,代码就跑 [3]。

载荷分四步。第一步收集主机名、用户名、系统与架构、家目录、工作目录、Git 全局邮箱、公网 IP,以及最多 40 个名字里含 KEY、TOKEN、SECRET、PASS、AWS、GCP 的环境变量名;只拿变量名,不拿值,但足以告诉操作者这台机器上有什么云凭证 [3]。第二步向 ~/.ssh/authorized_keys 追加一把注释为 svc-telemetry 的 Ed25519 公钥,目录权限 0700、文件 0600 [3]。第三步尝试开启本地 SSH,用 -R *:0:localhost:22 建反向隧道,隧道私钥写进临时目录的 .stk_ 文件,断了每 60 秒重试一次 [3]。第四步用 LaunchAgent(macOS)、@reboot cron(Linux)或 SysMon 计划任务/启动目录脚本(Windows)做持久化,再向 134.209.82.225:8099/beacon 发送一次主机信息 [1][3]。

它没有下载第二阶段木马。OpenSourceMalware 检查后确认,载荷里的 curl 只取公网 IP 文本,没有额外的可执行文件或脚本落地;真正的入口是那条 SSH 隧道 [3]。所以「扩展看起来正常」证明不了什么:合法界面、合法二进制都在,最前面只多了一段加载器。

后门没拿到交互式 shell,是攻击者自己的 bug。macOS 上,脚本用非管理员权限跑 systemsetup -getremotelogin,系统打印「需要管理员权限」并以 0 退出;脚本拿 /Off/i 去匹配输出,匹配不上就跳过「开启 SSH」这一步 [2]。Windows 分支把 PowerShell 命令交给一个硬编码 /bin/sh 的 helper,在标准 Windows 上跑不通 [2]。Cursor 据此说,除非 Cursor 以管理员权限启动,否则这一步失败,攻击者无法通过隧道登录 [1]。

Phorion 的 Calum Hall 提醒得更谨慎:这个 bug 只让「开启 SSH」失败,不影响公钥写入和持久化;机器本来就开着 Remote Login,或者用户后来打开,攻击者照样能用那把钥匙进来 [2]。Cursor 的通告也承认,公钥、持久化、主机信息回传都已经发生 [1]。后门这次没得手,是攻击者自己写错了代码,不是方案本身挡得住。

三份声明,和一个上游不存在的版本号

三份声明拼不出一个完整故事。Cursor 说,恶意版本「并非 Anthropic 开发」,只影响 Cursor 市场,没有证据表明其他版本或官方分发受影响 [1]。Anthropic 的 Dworken 在 HN 上说,只影响 Cursor 市场托管的扩展,不影响官方 VS Code 市场和 Open VSX,VS Code 上的 Claude Code 用户不受影响 [9]。OpenSourceMalware 最初把矛头指向 Open VSX,在 Cursor 联系后更正:恶意版本来自 Cursor 市场,不是 Open VSX;但它同时强调,样本的来源链没有被证实 [3]。

矛盾集中在 2.1.313。这个版本在 Anthropic 的 GitHub 上没有 tag [12]。如果 Cursor 只是代理 Open VSX,而 Anthropic 又说 Open VSX 未受影响,那 Cursor 是从哪里拿到并分发它的?至少三种可能:Cursor 的缓存或制品库被改写;Cursor 有一条独立的上传或重建路径,其凭证或审核被绕过;或者 Anthropic 的构建链被入侵、它的否认不成立。Cursor 的声明排除了第三种,却没解释前两种;Anthropic 也没给出自己的构建链审计。Cursor 至今没有说明恶意版本如何进入市场 [5]。

Cursor 的文档说,代理会在扩展「出现在搜索或提供下载之前」做自动化恶意软件和供应链分析,失败就拦截 [10]。11 小时的窗口加两个被篡改的版本,至少说明这套分析没能在第一时间识别前置的 66 行加载器 [1][3]。这不等于 Cursor 没有审核,而是审核的粒度停在「已知恶意特征」,没有覆盖「构建来源与上游是否一致」。对一个以官方名义分发的扩展,后者才是关键。

HN 上的追问很直接:「谁的公钥签了这次更新?」[16] 和「Cursor 说它用商业安全工具做分析,但坏扩展活了 11 小时」[17]。两个问题指向同一件事:市场能证明「这个包来自某个发布者」,却证明不了「这个包和上游源码一致」。在扩展生态里,前者是身份,后者是供应链安全。

社区反应:11 小时审核,同日 63 亿失窃

HN 主帖拿到 908 分、533 条评论,另有两个相关帖子分别是 655 分/17 条和 399 分/1 条 [6][7][8]。一条被顶到前面的评论写道:「这个扩展有超过 2700 万次安装,哎。」微软市场的实际数字是 29,175,576,社区当时还低估了规模 [11][19]。这条评论的情绪不是好奇,是「我也在风险里」的后知后觉。

第二类评论在算审核账。有人把 Cursor 的「商业安全工具扫描」原话贴出来,紧接着写「坏扩展活了约 11 小时」[17];有人问「谁的公钥签了更新」[16];还有人把矛头指向「官方」这个词:一个并非 Anthropic 开发的构建,为什么能以 Anthropic.claude-code 的 ID 分发 [6]。这些质疑没有统一答案,却把讨论从「一个恶意包」引向了「市场信任模型」。

第三类讨论超出了事件本身。10 月 29 日同一天,Binance 约 63 亿美元资产被转走,Wired 称大部分在约 20 分钟内完成,攻击者被指可能与朝鲜 TraderTraitor 有关,Binance 说最初调查指向一台被入侵的工程师笔记本 [14]。HN 的 Binance 帖有 1,741 分、1,232 条评论 [15]。有人把两件事接在一起,称研究者确认 Binance 通过 Cursor 使用过这个扩展,并把「攻击者直接 SSH 进入 Binance 机器」列为工作假设 [18]。

这条假设没有公开证据支撑。Wired 的报道没有提到 Claude 扩展;Binance 的声明说的是「被入侵的笔记本」和「更多突破口」,没有把责任指向 Cursor 或 Anthropic [14]。时间上确有重叠:恶意扩展下架是 13:35 PT(16:35 ET),Binance 失窃从 16:00 ET 左右开始,重叠约 35 分钟 [1][14]。但重叠不等于因果,攻击准备据称在 36 小时前就已开始 [14]。社区把两条时间线并置,反映的是恐惧,不是证据。

争议与风险

责任怎么分,是第一处争议。Cursor 拥有市场、代理和审核,Anthropic 拥有品牌和上游代码,用户拥有被写入公钥的机器。Cursor 的通告把「并非 Anthropic 开发」放在第一段,Anthropic 的回应把「第三方市场,我们不拥有、不维护、不部署、不审核」说得很清楚 [1][9]。两边都没说错,但合起来就是:清理成本落在用户头上。公开渠道暂未见到诉讼或监管立案;如果受影响机器上出现凭证泄露,责任会在合同、侵权和品牌授权之间拉扯。

第二处是披露质量。Cursor 的博客给了 IOC 和脚本,却没有 root cause,正文也没写受影响人数;5,000 这个数字散落在 X 通告和媒体报道里 [1][4][5]。截至 10 月 31 日,公开渠道未见 Anthropic 的独立安全公告,公开确认主要来自员工在 HN 的评论 [9]。HN 上有人直接批评 Anthropic 的危机沟通,认为公司依赖随机员工在随机帖子里做 PR [20]。对一家卖「安全」的 AI 公司,这种沟通方式会放大不信任。

第三处是结构性的。扩展拥有用户权限,市场代理是单点,签名校验可选,安装冷却默认关闭 [10]。这次攻击者的代码很粗糙:macOS 权限检查写错、Windows 用 /bin/sh 跑 PowerShell、没有二次下载 [2][3]。更耐心的攻击者可以把加载器拆小、延迟触发、只对高价值主机上线,11 小时足够做很多事。5,000 人不是安全能力的证明,只是这次攻击者的能力上限。企业侧能做的有限:关掉扩展自动更新、设 allowlist、把 Claude Code 放进容器或 VM,别让扩展宿主直接摸到 ~/.ssh [6][7]。

第四处是叙事污染。7 月的「后门」是 Anthropic 自己的防蒸馏实验,这次是第三方篡改,两件事都会被装进「Claude Code 有后门」的标题里 [21]。同日的 Binance 失窃又给了阴谋论素材 [18]。对做安全决策的团队,区分「模型厂商内置行为」「分发链篡改」「无关的加密盗窃」是基本要求;混在一起,只会让真正的 root cause 更晚被查清。获利者也不止攻击者:Cursor 的竞品拿到「换 IDE」的话术,EDR 厂商拿到需求证明,Phorion 的公告末尾就附了产品演示入口 [2]。

最该记住的数字是 0

比 5,000 名受影响、11 小时窗口更该记住的数字是 0:截至 10 月 31 日,Cursor 没有公布 root cause [5],Anthropic 没有发布公开事后报告 [9],2.1.313 这个上游不存在的版本号仍然没有解释 [12]。

攻击者自己的 bug 让后门没能大规模得手;下一次未必还会犯同样的错。只要「一个上游不存在的版本能被当作官方扩展分发」这件事没有答案,Cursor 市场上每一个以官方名义分发的扩展,都只是承诺,不是证据。

来源

  1. Security notice — malicious version of Anthropic.claude-code (2.1.312 and 2.1.313) identified in the Cursor VS Code Extension Marketplace - 
    https://cursor.com/en/blog/claude-code-extension-security-notice
  2. Official Claude Code Extension Compromise: Security Advisory - 
    https://phorion.io/blog/offical-claude-code-vsx-compromise/
  3. Trojanized Claude Code Extension Plants an SSH Backdoor - 
    https://opensourcemalware.com/blog/trojanized-claude-code-extension-plants-persistent-ssh-backdoor
  4. Cursor Discloses SSH Backdoor Attempt in Malicious Claude Code Extension - 
    https://www.unite.ai/cursor-discloses-ssh-backdoor-attempt-in-malicious-claude-code-extension/
  5. Cursor 扩展市场出现被篡改的 Claude Code 2.1.313 扩展:植入 SSH 后门,最多 5,000 名用户受影响 - 
    https://aicoder.com/zh/news/news-20261030-cursor-marketplace-malicious-claude-code-extension-2-1-313-ssh-backdoor-5000-users
  6. Backdoor in Claude Code for VS Code extension on the Cursor Marketplace - 
    https://news.ycombinator.com/item?id=50300683
  7. Backdoors in official Claude Code extensions - 
    https://news.ycombinator.com/item?id=50302334
  8. Claude Code VS Code extension with backdoor released on Cursor marketplace - 
    https://news.ycombinator.com/item?id=50301983
  9. Dworken from Anthropic on the scope of the Cursor marketplace incident - 
    https://news.ycombinator.com/item?id=50304585
  10. Extensions - 
    https://cursor.com/help/customization/extensions
  11. Claude Code for VS Code - 
    https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
  12. Tags for anthropics/claude-code - 
    https://api.github.com/repos/anthropics/claude-code/tags
  13. v2.1.314 - 
    https://github.com/anthropics/claude-code/releases/tag/v2.1.314
  14. The $6.3 Billion Binance Hack Was Pulled Off in Just 20 Minutes - 
    https://www.wired.com/story/the-dollar63-billion-binance-hack-was-pulled-off-in-just-20-minutes/
  15. Binance-hacker-1029 – $5.6B stolen from Binance - 
    https://news.ycombinator.com/item?id=50296470
  16. HN comment on who signed the malicious extension update - 
    https://news.ycombinator.com/item?id=50313368
  17. HN comment on Cursor’s malware analysis and the 11-hour window - 
    https://news.ycombinator.com/item?id=50305403
  18. HN comment linking the Binance hack to the Claude Code extension - 
    https://news.ycombinator.com/item?id=50304072
  19. HN comment on the extension’s install count - 
    https://news.ycombinator.com/item?id=50301110
  20. HN comment on Anthropic’s crisis communications - 
    https://news.ycombinator.com/item?id=50311306
  21. China warns about AI risks with Anthropic’s Claude Code - 
    https://www.cnbc.com/2026/07/08/china-anthropic-ai-claude-code-backdoor-security-threat.html

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料