钉子没动,代码换了人:四大编程 agent 齐中一个零点击供应链洞

你给 agent 装了一个几百人在用的热门 skill。市场页面上,那个审核过的提交号一个字没变。机器上跑的,已经是另一份代码。这中间你没有点过任何东西。

你给 agent 装了一个几百人在用的热门 skill。市场页面上,那个审核过的提交号一个字没变。机器上跑的,已经是另一份代码。这中间你没有点过任何东西。

9 月 17 日,安全公司 AIR 的三位研究员 Or Nevo、Dor Granat、Niv Hoffman 披露了一个叫 Plugin4Shell 的漏洞:Claude Code、Codex、GitHub Copilot、Gemini CLI,四个最主流的编程 agent 集体中招,全部可被零点击远程代码执行打击。

先把防线拆开看。插件生态的信任基石叫 SHA pinning:审核某个 commit 的代码,把提交号钉死,从此永远相信"跑的就是钉住的那份"。npm 们用这个思路挡了几十年供应链攻击。AIR 找到的洞恰好在承诺的接缝处——agent 会老老实实检出那个被钉住的 commit,却从不验证它真的还待在原地。控制插件仓库的攻击者让这次检出解析到恶意代码,钉子表面纹丝不动,账面完美,货已调包。

背景板也得交代一句:agent 插件这件事,行业实际上把它当应用在用。企业给员工机器上装的插件和 skill,绝大多数来自开放社区市场,不走任何企业级审核。AIR 标题里的口径是数百万 agent 受影响——按主流编程 agent 的装机量倒推,这个量级不夸张。

接管意味着什么,要看 agent 拿着谁的钥匙。答案是:你的全部。agent 以员工权限运行——能读敏感数据,能碰内部系统,能进生产环境。插件默认继承这一切。恶意插件不需要提权,它落地的那一秒就已经站在你的位置上。AIR 的结论里最重的一句是:这个洞没有任何市场能修,用户只能升级自己的 agent。

这不是一个孤立事件,是三幕剧的第三幕。

第一幕叫 The Story of Skills:他们自己做了个恶意 skill 放进社区市场,看着它走红,控住了两万六千多个 agent——证明"把毒放进你信任的市场"毫无难度。第二幕叫 SkillJacking:连种毒都省了,直接接管 925 个正在服役的 skill 背后的仓库,波及面十三万四千个 agent。到第三幕,行业唯一的堤坝 SHA pinning 被绕过。前两幕好歹要你装点什么,这一幕什么都不用装,在用的就有份。

AIR 给它的定性是:AI agent 生态的第一个供应链漏洞。之前的攻击瞄准模型或 agent 本身,这次打的是它们脚下的分发层——几百万台机器靠它获取插件。

小字两行,照例要有。

第一行,利益相关。AIR 同一天宣布出 stealth,卖的就是 Air Marketplace 和 Air Filter 这类 agent 安全产品,稿子里也明写了"用我们家产品的企业不受影响"。波及数字全部来自他们自己的实验与统计,四大厂商的确认与修复进展,截至发稿没有独立信源可查。当减震 read,别当判决书。

第二行,为什么零点击这么扎人。过去的供应链攻击总有一个"用户中计"的瞬间:点个链接,装个假包。Plugin4Shell 把这个瞬间删掉了。信任链条上每一环看起来都在按规矩办事——市场审核了,提交号钉了,agent 检出了对的位置——坏事还是通了。这不是哪个环节的失职,是"一次审核、永久信任"这套前提本身过期了。

编程 agent 生态正在用一年走完 npm 三十年的路。种毒、抢仓库、绕锁文件,一步没省,连学费都省了——npm 生态当年每一课都是踩着真实事故学会的,这一轮全部提前预演了一遍。根本问题也不新鲜:插件继承员工全部权限,等于每个新装的 skill 都拿到整串钥匙。员工能碰的东西,插件就能碰;员工的钥匙串上挂着数据、内网和生产环境,也挂着公司最值钱的那几件家当。权限收敛这件事,行业谈了很多年,一直觉得还能再等等。

现在钉子都能作假了,还等什么?


来源:AIR(air.security)博客 Plugin4Shell,作者 Or Nevo、Dor Granat、Niv Hoffman(2026-09-17);The Story of Skills 与 SkillJacking 数字均出自同一团队前两份报告。

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens