一篇于 9 月 3 日发布的论文描述了一起针对 AI 编程 agent 的供应链攻击:它不改变普通审查会关注的任何内容。它只修改插件的生命周期 hook 配置,而且是在更新时修改——也就是在插件已经通过审查并安装之后。

测试了什么

作者在 25 种 harness 与后端组合、1,000 次端到端运行中评估了十个攻击目标。结果是:这种技术“攻破了所有七个接受评估的 harness,单个 harness 的成功率最高达到 92.5%。”该框架以开源形式发布,名称为 HookPry。

检测数据才是关键

Microsoft Defender 对此的 召回率为 0%,而“三种静态防御的并集漏掉了 47.5% 的恶意样本。”某款有名的终端安全产品对全部内容都未能发现,这才是对在开发者机器上运行 agent 插件的人最重要的数字,因为生命周期 hooks 会在模型从未看到的事件上,执行带有主机权限的 shell 命令。模型的安全训练或用户的批准提示都不在这条路径上。

更新路径的新意在这里

版本固定和一次性审查都默认:被审计的内容就是实际运行的内容。这里,一个在审查时确实无害的插件,后来仅通过配置就被武器化——没有新代码,没有新包。论文揭示的正是这一缺口,而大多数团队现有的控制措施并未覆盖它。

常见解读哪里不对

有三点限定条件需要与标题一起看。92.5% 是各个 harness 中的上限,不是总体成功率——成功率只是“达到”这一水平,因此中位数 harness 更低,均值也未给出。“攻破所有七个 harness”指的是每个 harness 上至少一个十个目标中的一个成功了;这反映的是覆盖范围,而不是可靠性。威胁模型也比远程利用更窄:攻击者必须已经控制了受害者已安装并会更新的插件的元数据和 hook 配置。这确实是供应链上的一个位置,但前提是必须先拿到这个位置。摘要中没有列出这七个 harness 的名称,也没有厂商回应,这里也没有可供应用的补丁。