安全初创公司Air的研究人员指出,一种名为“Plugin4Shell”的零点击漏洞影响了所有主流AI编程代理,包括Anthropic的Claude Code、OpenAI的Codex、Google的Gemini CLI以及微软的Copilot和GitHub Copilot。攻击者可借此获得对代理访问资产和数据的全权限控制。

Air威胁猎手将该漏洞称为“首例AI供应链攻击”。研究表明,Plugin4Shell并未直接攻击模型或代理本身,而是瞄准托管主要编程代理插件的信任市场,潜在波及数百万用户和设备。

各大厂商响应不一

Air团队于今年6月向四家供应商报告了该安全问题。目前,Anthropic和OpenAI已分别在Claude Code 2.1.179和Codex 0.146.0版本中完成修补。

Google方面表示,由于已弃用Gemini CLI,因此不会发布补丁,所有安装版本仍处于易受攻击状态。不过,Google建议用户迁移至其更新的Antigravity代理开发环境,以防范此类攻击。

微软尚未在Copilot中修复该漏洞,也是两家未发布补丁的公司之一。尽管近90%的财富500强企业使用Copilot,但微软未立即回应置评请求。Air研究人员透露,因微软收到的披露量巨大,他们未收到关于此问题的回复。

针对GitHub,一位发言人表示,Plugin4Shell攻击不影响该平台。GitHub通过禁止用户创建类似于提交SHA的分支或标签名称,防止滥用安全哈希算法(SHA),从而确保所报漏洞无法在GitHub上被利用。

然而,Air研究人员认为这一缓解措施并不充分。他们指出,插件市场也可托管在Bitbucket等其他平台,而微软Copilot支持来自这些平台的市场,因此仍然暴露于漏洞之下。

漏洞原理与攻击路径

该漏洞源于代理执行市场SHA固定机制的方式。SHA固定旨在将插件和技能锁定到特定的、不可变的提交哈希值,而非可变的版本标签或分支名称,以防止公共技能存储库遭破坏时自动拉取恶意负载。

研究人员将此举描述为“插件SHA固定绕过”。Air研究人员Or Nevo、Dor Granat和Niv Hoffman在报告中写道:“代理会检出市场固定的确切提交,但从不验证其完整性。控制插件仓库的攻击者可使检出自解析为恶意代码,同时表面仍遵守固定点,从而导致零点击远程代码执行。”

由于Claude和Codex默认会自动更新已安装插件,攻击者可通过两种方式滥用此漏洞:一是向信任市场提交良性插件,过审后替换为恶意代码;二是劫持合法作者的存储库,推送恶意版本。这两种方式均绕过了旨在阻止供应链攻击的SHA固定机制。

Air团队总结道:“整个攻击链条已被端到端证明——接管以规模发生,而Plugin4Shell击败了用于遏制它们的机制。”研究人员强调,在存在修复方案的情况下,更新是唯一完整的缓解措施。