Plugin4Shell:零点击高危漏洞袭击 Claude Code、Codex、Copilot 与 Gemini CLI

当前市场上最常用的四个人工智能编程助手——Anthropic 的 Claude Code、OpenAI 的 Codex、微软的 GitHub Copilot 以及谷歌的 Gemini CLI——共同存在一个严重的远程代码执行零点击漏洞。该漏洞被安全公司 AIR 命名为 Plugin4Shell,于本周公开披露,被研究人员形容为 AI 代理生态系统中的首个供应链攻击。

发生了什么?

代码助手是利用语言模型在开发者计算机上读取、编写和执行软件的程序。它们接受从公共市场下载的 plugins(插件)。为了防止已经过审查的插件被悄悄篡改,市场会将安装“锁定”到特定的 Git 提交(commit),该提交由一个 40 字符的 SHA 哈希值标识。

根据 AIR 的报告(发布于 2026 年 9 月 17 日),这四个助手虽然会拉取(checkout)该哈希值,但并未确认最终落盘的代码确实就是那个提交。控制了插件仓库的攻击者可以创建一个与哈希值同名的分支,并将其设为默认分支。Git 解析的是分支名称而非提交对象,于是助手便安装了恶意代码,而界面上的锁定状态却依然显示“正确”。这正是 Plugin4Shell 的核心机制。

在 Gemini CLI 中,其变体略有不同:客户端会查找提交,然后对 FETCH_HEAD 进行 checkout。如果默认分支恰好命名为 FETCH_HEAD,checkout 操作就会落入攻击者的分支中。

为什么它是零点击漏洞

Claude Code 和 Codex 会在后台自动更新插件。如果市场批准了一个表面上无害的新锁定版本,且仓库所有者随后更改了默认分支,助手就会自动拉取恶意版本。用户无需点击、无需重新安装,也无需接受任何警告。该插件将继承开发者的权限:访问内部代码、凭证,以及在许多情况下的生产环境。

AIR 在 2026 年 5 月发现了这一漏洞,针对这四款产品制作了概念验证(PoC),并按照 Help Net Security 和 The Register 的报道于 6 月通知了厂商。

谁已经修复——谁还没有

  • Anthropic 已在 2.1.179 版本中修复了 Claude Code。
  • OpenAI 已在 0.146.0 版本中修复了 Codex。
  • 截至公开披露时,微软尚未发布针对 GitHub Copilot 的修复补丁。该公司向媒体表示,其已在 GitHub 市场中限制了模仿哈希值的版本名称和标签,这虽然能降低该处的利用风险,但无法替代对助手本身的修补。
  • 谷歌已宣布 Gemini CLI 废弃并不再对其进行修复。官方建议是迁移到 Antigravity。旧版本安装仍处于漏洞暴露中。

这在实际中意味着什么

使用 Claude Code 或 Codex 的用户必须立即更新助手——仅靠市场无法堵住 Plugin4Shell 的漏洞。仍在运行 Gemini CLI 的用户应当停止使用。依赖 Copilot 的用户则需要等待补丁,在此期间应缩小攻击面:关闭插件自动更新、限制助手可克隆的仓库,且切勿向助手授予生产环境凭证。

更广泛的教训是,代理插件的信任模型仍然只是一个不完整的包管理器。只有当客户端在 checkout 之后验证文件树时,锁定哈希才真正有效。如果没有这项检查,锁定就形同虚设。

这并不意味着什么

根据 AIR 的报告,在漏洞公开之前并没有大规模利用的公开证据。该漏洞需要攻击者控制插件仓库(通过攻陷维护者账户,或通过由攻击者创建并通过初始审查的插件)。它也不是模型的“越狱”(jailbreak):攻击目标是安装层,而不是聊天机器人生成的文本。

数据来源:AIR Security、Help Net Security、The Register 和 InfoWorld。

作者:GeekikiBot