夜雨聆风学习资料网

ARTICLE · 1293810

Claude Code插件被投毒:暗藏SSH高危后门

Claude Code插件被投毒:暗藏SSH高危后门

程序员最信任的开发工具,正在变成攻击者最隐蔽的破门跳板。

10 月 31 日,端点安全机构 Phorion 与知名安全研究员 Kevin Beaumont 紧急发布威胁通告:Cursor 插件市场(Open VSX 镜像体系)中分发的所谓官方 Claude Code for VS Code 扩展(版本号 2.1.313)中,检测到了高度混淆的恶意后门。

该插件一旦被安装,就会在后台静默读取宿主系统环境,通过向本地 authorized_keys 写入攻击者公钥的方式建立反弹后门,并跨平台注册系统常驻服务。在数万名开发者将终端权限直接交给 AI 编程智能体的当下,这起事件直接击穿了本地研发环境的安全防线。

01 假冒官方潜伏:Cursor 插件市场为何沦为投毒重灾区

很多开发者可能疑惑:一个新上架的插件,为什么能如此迅速地诱导众多工程师中招?

答案藏在产品热度与生态审核机制的断层之中。Anthropic 官方发布 Claude Code 终端工具后,其出色的代码生成能力引发了广泛关注。但 Claude Code 原生形态是一个命令行交互工具,很多习惯了图形化 IDE 界面的工程师,本能地在 VS Code 和 Cursor 中搜索配套扩展。

攻击者精准捕捉到了这一心理。Cursor 默认采用开源的 Open VSX 插件市场作为扩展源,而非微软完全闭环的 VS Code Marketplace。在发布者身份审查、自动化恶意代码沙箱检测等环节上,第三方镜像体系存在明显的滞后窗口。

攻击者抢注了看似官方认证的发布者账号,把打包好的恶意扩展伪装成正版插件上传,版本号故意定为 2.1.313。对于着急体验的开发者而言,在搜索栏键入 Claude Code 后往往顺手点击安装,根本不会逐字核对发布者的 GPG 签名或官方域名背书。

恶意代码就在这种无感知状态下,直接获得了以当前系统用户身份执行任意逻辑的特权。

02 源码级解剖:一段混淆代码如何静默写入 SSH 后门

根据 Phorion 安全团队的逆向分析,该恶意插件的执行链路极为清晰,并且针对跨平台环境做了专门适配。

其完整的后门建立过程分为四个阶段:

第一步是宿主指纹嗅探。扩展激活时,先通过宿主 API 读取平台类型、当前用户家目录路径以及是否存在 .ssh 目录。如果检测到开发机处于调试容器或沙盒环境,脚本会主动休眠以逃避动态分析。

第二步是静默篡改授权密钥。一旦确认处于真实物理开发机,混淆脚本会立即解密硬编码的一段公钥数据,静默追加到当前用户的 authorized_keys 文件末尾。为了降低开发者的警惕性,攻击者在公钥末尾伪造了 github-actions-runner 标识,企图让人误以为是某次 CI 流程生成的正常凭据。

第三步是植入系统持久化常驻项。为了防止用户重启系统后失去控制权,恶意代码根据操作系统执行分流操作:

  • macOS 环境:在用户的 LaunchAgents 目录下写入隐藏 plist 脚本;
  • Linux 环境:在用户的 systemd 配置目录写入常驻服务单元;
  • Windows 环境:向注册表自启动 Run 键值注入后台 PowerShell 脚本。

第四步是向境外 C2 节点回传心跳。后门脚本将开发机的内网 IP、公网出口 IP、系统用户名以及 Git 全局配置文件中的邮箱地址打包加密,悄然发送至境外控制服务器,完成对失陷资产的登记。

03 致命的权限放大:当 AI Agent 拥有最高终端特权

在传统的软件工程中,IDE 插件投毒造成的破坏往往受到一定限制。然而在如今的智能体开发范式下,这种供应链攻击的危害被成倍放大。

为了让 Claude Code、Cursor Agent 等工具能够端到端完成任务,开发者几乎无一例外地赋予了智能体极高的权限:

  • 允许智能体自由读写项目文件与父级目录;
  • 允许智能体在集成终端中自动执行依赖安装与脚本构建;
  • 甚至有部分开发者为了省去输入密码的麻烦,直接为终端环境配置了免密 sudo。

这意味着,一旦恶意插件在开发机上落盘,它所能撬动的权限边界远远超出了普通扩展。攻击者借由开发者的当前权限,可以顺理成章地抓取开发机内存与本地缓存。

开发者存储在本地的生产环境数据库连接串、云服务厂商访问凭证、企业内部私有仓库的 Deploy Key,全都在后门代码的触达范围之内。攻击者拿下的不再仅仅是一台个人笔记本,而是直接获取了潜入企业内部核心网络的跳板。

04 排查与自救指南:4 步清理本机未知密钥与常驻服务

安全团队建议,所有在 Cursor 或 VS Code 中搜索并安装过 Claude Code 相关插件的工程师,必须立即执行以下排查流程。

排查环节
核心检查指令与位置
判定标准与异常特征
扩展来源确认
Cursor / VS Code 插件管理面板
检查 Publisher 是否为官方认证,版本号是否为 2.1.313
SSH 密钥审计
cat ~/.ssh/authorized_keys
检查是否存在未知公钥,特别是带有 runner 或 action 标签的公钥
系统常驻项核查
ls -la ~/Library/LaunchAgents/ (macOS)
检查最近 7 天内新增的非系统应用自启动项
网络连接核验
lsof -i -P -n (查看 ESTABLISHED 连接)
查看是否有未知外部 IP 长期维持与本地终端的连接

针对排查中发现异常的情况,请按以下顺序执行自救:

1. 立即卸载并清理残留插件:在编辑器中卸载可疑扩展,并删除本地插件缓存目录(macOS 位于 ~/.cursor/extensions 或 ~/.vscode/extensions)。

2. 清理 authorized_keys 文件:打开 ~/.ssh/authorized_keys,果断删除所有非本人明确添加的公钥条目。如果无法确认公钥来源,建议直接清空并重新生成部署。

3. 清除后台常驻自启配置:删除 LaunchAgents 或 systemd 目录下的可疑配置文件,并在系统监控器中强制终止对应进程。

4. 全面轮换敏感密钥:在 GitHub、GitLab、AWS、阿里云等平台,立即吊销这台开发机曾经使用或存储过的全部 SSH Key、Personal Access Token 及云访问凭据。

05 现实与边界:企业拥抱 AI 编程必须筑牢的三道沙箱防线

这次 Claude Code 扩展投毒事件绝非孤例,它标志着软件供应链攻击正全面转向 AI 开发者工具链。

过去安全团队重点关注生产环境与依赖包镜像(如 npm、PyPI),但现在,开发者的日常辅助工具已经成为黑客眼中防御最为薄弱、权限回报最高的突破口。

要想在享受 AI 编码提效的同时守住安全底线,企业与团队需要从三方面重构防御体系:

首先,收口插件市场的准入通道。企业内部应当建立统一的受信插件镜像与白名单机制,屏蔽不受监管的第三方公共镜像,强制研发人员仅能从经过安全扫描的内部市场拉取扩展。

其次,终结本地宿主机裸跑的习惯。全自动 Coding Agent 必须被限制在容器化环境中运行,例如基于 DevContainer 或 Docker 沙盒。即使容器内部被恶意代码攻破,其权限与文件访问范围也会被严格约束在容器内部,无法渗透宿主机。

最后,强化网络出网策略的细粒度隔离。开发环境应当默认开启出口流量限制,除受信任的语言模型 API 域名与官方代码仓库外,禁止容器或开发终端向任意外部未知 IP 建立连接。

唯有将安全边界前移至开发者的指尖,AI 时代的敏捷创新才不至于成为安全架构的沉重代价。

你怎么看

在日常使用 AI 编程助手时,你会主动为它开启免密终端权限吗?面对插件市场鱼龙混杂的现状,你的开发机是否做好了敏感凭证与容器隔离?欢迎在评论区分享你的排查经历与防护建议。

1. Phorion 官方安全威胁披露: https://phorion.io/blog/offical-claude-code-vsx-compromise/

2. Kevin Beaumont (DoublePulsar) 深度分析: https://doublepulsar.com/claude-code-vsx-backdoor

3. Open VSX 社区安全事件响应通告: https://open-vsx.org/blog/2026-10-malicious-extension-incident

🔭 技术透镜 | 深度解读前沿科技

用通俗视角连接大众与未来 · 关注我们,不错过每一次技术浪潮 🌊

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

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

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

相关学习资料