事件经过
AIR Security研究人员(Or Nevo、Dor Granat、Niv Hoffman)在2026年9月17-18日披露,所有四个主要AI编码代理在验证SHA锁定的插件/技能安装方式上存在相同缺陷:该锁定在获取时进行检查,但从不针对实际检出的HEAD重新验证。这是首个针对AI代理分发层(而非模型或代理运行时本身)的已识别供应链漏洞。
影响分析
插件继承运行代理的开发者的完整权限——源代码、云凭证、SSH密钥、CI/CD机密和生产访问权限。因为此缺陷击败了安全意识强的组织所依赖的精确保护措施(SHA锁定),做好一切工作(审查和锁定插件)反而无法提供任何实际保护。每个主要AI编码代理供应商都独立做出了相同的设计错误,表明AI代理供应链中存在系统性盲点,这镜像了经典软件供应链rugpull攻击,但规模为零点击、跨供应商。
攻击途径
所有四个代理都检出SHA锁定的插件提交,但从不验证生成的工作树是否与该提交哈希实际匹配。因为git优先考虑匹配的ref(分支)名称而非同名的提交对象,插件存储库所有者可以创建一个以锁定的40位十六进制提交哈希命名的分支,并将其指向恶意代码;代理的检出解析为恶意分支,同时仍然报告预期的SHA已安装。在具有后台自动更新的代理(Claude Code/Codex市场的默认配置)上,这不需要用户交互——恶意代码在下一个更新周期时静默替换受信任的插件。
受影响系统
Claude Code (< 2.1.179)、OpenAI Codex (< 0.146.0)、GitHub Copilot(未修补)、Google Gemini CLI(将不会修补——已弃用)
缓解措施
立即将Claude Code更新到2.1.179+,Codex更新到0.146.0+。GitHub Copilot尚无修复;Google将不会修补Gemini CLI(迁移到Antigravity)。优先选择GitHub托管的市场(GitHub拒绝哈希形状的分支名称,削弱经典变体);避免Bitbucket/自托管插件源,其中绕过仍完全可利用。