Plugin4Shell 波及主流 AI 编码代理
研究人员披露了一个可实现远程代码执行的零点击漏洞,影响对象包括 Anthropic Claude Code、OpenAI Codex、Google Gemini CLI、Microsoft Copilot 以及 Microsoft 旗下的 GitHub Copilot。该漏洞被命名为 Plugin4Shell,专注于企业 AI 代理防护的安全初创公司 Air 将其称为“首次出现的 AI 供应链攻击”。按其说明,攻击一旦成功,攻击者可能完全访问相关代理可触及的全部资产与数据。
与直接针对模型或代理不同,Plugin4Shell 打击的是托管主要编码代理插件的可信市场。Air 威胁猎人 Or Nevo、Dor Granat 和 Niv Hoffman 在周四发布的报告中称,这类攻击可能影响数百万用户与机器;Microsoft 的数据则显示,几乎 90% 的财富 500 强公司使用 Copilot。

各厂商修复进度不一
Air 团队已于 6 月向四家供应商报告该安全问题。Anthropic 与 OpenAI 分别在 Claude Code 2.1.179 和 Codex 0.146.0 中完成修复。Google 方面则表示 Gemini CLI 已过时,不会推出补丁,因此现有安装仍处脆弱状态;Google 建议用户迁移到更新的 Antigravity 代理开发环境,该环境已可抵御此类攻击。
Microsoft 尚未修复 Copilot 中的缺陷。GitHub 发言人称 Plugin4Shell 不会影响 GitHub,理由是 GitHub 为防止 SHA 被滥用,不允许用户创建与提交 SHA 相似的分支或标签名称;Air 也确认这一缓解措施使报告的漏洞无法在 GitHub 上被利用。但 Air 研究人员认为,这不足以彻底击败 Plugin4Shell,因为市场也可托管在 Bitbucket 等其他平台,而 Microsoft Copilot 仍支持这些平台上的市场,因此仍然脆弱。Air 还表示,自 6 月以来已向 Microsoft 报告同一问题。
根因:SHA 固定机制被绕过
漏洞核心在于代理执行市场 SHA-pinning 机制的方式。该机制本应把代理插件和技能锁定到特定、不可变的提交哈希,而不是版本标签或分支名称这类可变引用,以降低供应链攻击风险:即便公开技能仓库被攻破,AI 代理也应继续运行在固定时经过审计的同一代码哈希上,而不是自动拉取新的恶意负载。
研究人员将问题概括为“插件 SHA-pinning 绕过”:代理检查了市场记录的确切提交,却没有验证代码最终落在该提交上。控制插件仓库的攻击者由此可让 checkout 解析到恶意代码,而固定机制表面上仍被满足。结果是零点击远程代码执行;由于代理插件具备自动更新能力,当上游 pinned 提交被替换时,Claude 和 Codex 会自动把已安装插件更新为恶意版本。
研究人员描述的一种滥用路径是:攻击者先向可信市场提交无害插件并通过审查,随后将恶意版本推送到每个已安装该插件的代理,实质绕过固定机制。





