Plugin4Shell绕过插件SHA校验,四款编程智能体受影响

来源:互联网 时间:2026-09-20

安全公司AIR Security于9月17日公开了一个名为Plugin4Shell的漏洞,影响Claude Code、Codex、GitHub Copilot与Gemini CLI四款编程智能体。问题的核心在于插件市场用提交哈希把插件固定在经过审核的代码上,而客户端在检出时没有校验实际落地的是不是那个提交,SHA校验这一步因此形同虚设。

具体手法在几个客户端上表现不同。对Claude Code、Codex与Copilot而言,攻击者可以创建一个名称与40位提交哈希完全相同的分支,并将其设为默认分支;Git在解析引用时会优先选择同名分支而不是同名对象,客户端于是在报告安装成功的同时执行了攻击者控制的代码。Gemini CLI走的是另一条路径,其安装流程会执行检出操作,若仓库默认分支本身被命名为特定字符串,检出会解析到该分支。

让它变成零点击的是插件的后台自动更新。Claude Code与Codex默认会自动更新已安装插件,当插件市场把固定的提交哈希指向新版本时,客户端会重新执行同一套检出流程,已安装的插件在下一次更新周期被静默替换,用户不需要任何操作。研究者披露的测试中,他们用925个被污染的插件触达了13.4万个智能体环境。

厂商的响应并不一致。Anthropic已在Claude Code的2.1.179版本完成修复,OpenAI在Codex的0.146.0版本修复;截至公开披露,GitHub Copilot没有可用的客户端修复,谷歌则表示已停止维护Gemini CLI、不会为此发布补丁,并建议用户迁移到替代产品。研究者提出的修复方式是在客户端检出之后增加一次断言,比较实际提交与固定哈希是否一致,不一致就中止。

需要说明的是,这个漏洞的利用条件比所有编程智能体都已被远程控制要窄:它需要使用者安装过来自插件市场的插件,且攻击者能够控制对应仓库或取得其控制权。另外,演示中的分支命名手法在会拒绝类哈希分支名的代码托管平台上不可用,研究者的意见是这一限制不足以覆盖全部场景。对开发团队的处置建议很直接:升级Claude Code与Codex到修复版本,对暂未修复的客户端,先停用插件或收紧插件市场的自动更新。

相关文章

A5创业网 版权所有

返回顶部