Plugin4Shell 曝光:Claude Code、Codex、Copilot、Gemini CLI 全线中招的零点击 RCE

Plugin4Shell 曝光:Claude Code、Codex、Copilot、Gemini CLI 全线中招的零点击 RCE

Author: tengdy | Create: 2026-10-09 09:55:24 | Update: 2026-10-09 09:55:24 | 分类:智能体与 Harness

Plugin4ShellClaude CodeCodex安全供应链攻击

安全研究团队 Air Security 披露了一个代号 Plugin4Shell 的高危零点击远程代码执行漏洞,影响范围覆盖当前四大主流 AI 编码智能体:Anthropic Claude Code、OpenAI Codex、GitHub Copilot 和 Google Gemini CLI。这个漏洞的攻击目标不是模型,而是这些 agent 背后的插件供应链。

攻击原理:SHA 钉住机制形同虚设

现代编码 agent 可以从社区 marketplace 安装插件、技能和扩展,而这些插件继承运行它们的开发者的全部权限:本地源码、云凭证、SSH 密钥、内部仓库、CI/CD、生产系统和 secrets。

为了确保安全,marketplace 通常在插件审核后把它「钉住」到一个特定的 40 位 Git commit SHA,本意是让 agent 只安装被审核过的那个版本。Air Security 发现的问题是:受影响的 agent 虽然会请求被钉住的 commit,却不验证 checkout 出来的工作树是否真的对应那个 commit。

利用 Git 的引用解析机制,攻击者只要创建一个名字与 40 位 commit hash 完全相同的分支——checkout 时 Git 可能优先解析同名引用而非 commit 对象——agent 就会检出恶意代码,同时报告「按预期 SHA 安装成功」。Gemini CLI 有一个独立变体:它取回目标 commit 后 checkout FETCH_HEAD,攻击者同样可以用名为 FETCH_HEAD 的分支劫持检出结果。

为什么是「零点击」

关键在于插件的后台自动更新。Claude Code 和 Codex 默认在后台静默更新已安装的插件,攻击者根本不需要诱骗受害者安装新插件:先发布一个良性插件获得采纳,之后修改上游仓库武器化即可——攻陷现有插件维护者的仓库效果相同。一次成功的利用,直接继承开发者在机器上的全部权限。

修复状态:四家三种态度

  • Claude Code:已在 2.1.179 版本修复;
  • OpenAI Codex:已在 0.146.0 版本修复;
  • Google Gemini CLI:官方宣布已弃用、不提供修复,建议用户迁移到 Antigravity;
  • GitHub Copilot:披露时仍未修复。GitHub 称其平台会拦截形似 SHA 的分支和标签名,但 Air Security 指出,托管在 Bitbucket 或自建 Git 服务器上的 marketplace 可能仍可被利用。

防御侧建议:立即更新 Claude Code 与 Codex;盘点插件清单、限制插件来源;监控插件仓库的异常分支变更或所有权转移;厂商侧的根本修复是安装完成后比对实际检出的 resolved HEAD 与 marketplace 钉住的 SHA。

为什么值得关注

第一,攻击重心正从「骗模型」转向「骗运行时」。 过去一年行业花了大量精力对付提示注入;Plugin4Shell 说明 agent 的软件供应链面与模型面同样致命——SHA 钉住这种在传统软件供应链里被信任的机制,到了 agent 的 checkout 流程里就失效了。agent 安全面 = 供应链面 × 模型面,缺一个都不完整。

第二,「插件继承开发者全权限 + 后台自动更新」的组合等于无人值守的高权限自动化。 企业需要把 AI agent 插件纳入第三方风险管理:谁能发布、谁在维护、仓库所有权是否变更,都应该是持续监控项。

第三,四家厂商的修复态度差异本身就是信息。 两天内修完(Anthropic)、及时修复(OpenAI)、弃用不修建议迁移(Google)、披露时仍未修复(GitHub)——当编码 agent 成为开发基础设施,插件生态的安全响应能力应该进入选型评估表。

评论(0)

暂无评论,来抢沙发~


关于本站 · RSS

浙ICP备2025156991号浙公网安备33010802013816号 浙公网安备33010802013816号 © 2026 智能体工场 - [从善如登] All rights reserved.