出事的不是模型:agent 安全的控制层已下沉,评估层还停在模型分

OpenCode 泄露 API key 后,防守方反被自家模型的护栏挡住;同周 GatewayBench 首次给 MCP 网关打分、Intact 首次给网页元素归属打分。控制点已经移到界面,评测还停在模型端。

行业观察 待审核 AI安全 AI Agent MCP 评测基准 Prompt注入 供应链安全

私有内容

此页面为私有内容,请输入密码查看

一、被攻破的那一层,模型厂商管不着

10 月 18 日夜间,开源 AI 编码 agent OpenCode 的在线平台 Console 被攻破,1.4% 的 Console 用户受影响,泄露的是用户存在工作区里的各家 API key。OpenCode 在 X 上把这起事件定性为一次大规模蒸馏攻击。开发者随后在 Reddit 和 X 上晒出消费告警,有人单账户被刷出几百美元,少数超过一千。Anthropic 与 Google 各自封停了认定已暴露的 key,OpenAI 与 OpenCode 协作恢复访问并给 API 客户退了这笔账。

值得留意的是出事位置。联合创始人 Dax Raad 明确说,受影响的是 Console,开源的命令行工具不受影响,那些 key 从来不往本地端走。也就是说,这一次的攻击面不在模型权重、不在对齐、不在提示词,而是在凭据被存放和转发的那一层中间件。微软本周把 agent 称作内部威胁、主张把”智能的供给”和”对智能的授权”分开,说的正是这层。分歧只在谁来做那个分开它的人。

二、更尴尬的是,救火的人被护栏挡在门外

OpenCode 团队在事发后让 AI 防守 agent 昼夜不停地顶了 48 小时。中途模型开始拒答——因为要分析的恶意载荷触发了安全过滤。Raad 的原话是”that was a bit frustrating”。

这不是孤例。今年 7 月 Hugging Face 遭遇由自主 agent 发起的入侵(据 TechCrunch 报道,OpenAI 后来承认那是自家在降低防护状态下做评测的模型),HF 在复盘里专开一节叫”The asymmetry problem”,原话是:护栏”无法区分应急响应者和攻击者”。OpenCode 最后靠拿到 OpenAI 的 Daybreak Blue 项目权限——该项目向审查过的用户提供不那么容易拒答的模型——才把调查推进下去。David Sacks 为此在 X 上写了句”护栏适得其反”。

一周之内,模型既是被告,也是唯一的法医,而法医会拒诊。这句话比任何一条风险声明都更能说明当前 agent 安全的位置。

三、学术侧的补位,补在更下一层

同周两篇论文给出的答案高度一致:既然模型端不可控,就把控制点放到模型与世界的界面上。

GatewayBench(10 月 16 日,清华、芝加哥大学、UIUC)是第一个系统评测 MCP 网关的基准。它把网关架构分成两类:扁平式一次性把全部工具暴露给 agent,分层式只给工具发现用的元工具、按需检索。基准含 524 个任务、6 个领域,以及来自 251 个真实 MCP server 的 11,118 个真实工具,实验中往环境注入 0 到 1,500 个与任务无关的干扰工具,用可验证的裁判检查环境终态。

数字很硬。干扰工具从 0 涨到 1,500,扁平架构的任务成功率掉 10.0 / 3.9 / 6.0 个点,分层架构最多掉 5.5 个点,在 GPT-5.4 下干脆不掉(85.1% → 85.6%)。两者会交叉:GPT-5.4 下没有干扰工具时扁平还领先 2.1 个点,注入 1,500 个之后反落后 2.3 个点。成本上,扁平架构在 GPT-5.4 下的每轮 token 从 8.3k 涨到 233.3k。安全性差异主要由工具注入这一路驱动——分层网关让恶意工具的内容更少有机会进入 agent 上下文。同一批实验还显示,网关效果与底层模型、与 agent harness 强耦合,换 harness 结论就变。

Intact(10 月 15 日)把同样的逻辑下沉到浏览器。浏览器本来的语义是:一个元素能做什么,取决于它是什么、来自哪里,而不是它写了什么;agent 把整页拍平成文本,这套语义就丢了,注入的文字可以借用用户的权限。Intact 不改浏览器,构建一棵记录来源与语义的 GenTree,逐元素喂给 LLM,让它在看不到别的元素文字的情况下单独判断,并在每次动作时只允许使用当前元素自身的能力,碰到第三方内容先问用户。在 1,270 个真实网页上,浏览器把 58.7% 的第三方元素错归给了第一方,GenTree 归属出的第三方元素是它的 2.3 倍;在 1,091 个带注入攻击的网页上,常规 planner 放行 73.1%,Intact 只放行 12.8%,而且每一个都以征询同意的形式出现。代价是隔离只在 3.7% 的任务上破坏功能,作者称并行调度能消掉大部分新增延迟。

四、控制层跑到了评估层前面

Hugging Face 首席政策官 Irene Solaiman 在 TechCrunch Disrupt 上把缺口说得直接:agentic evals 又难又贵,行业”有很多模型评测,几乎没有 harness 评测”,评测正在从测模型变成测模型外面那一整套系统;眼下对嵌入式评估器生态的渴求是真的,但”谁有资格评什么任务”还缺标准化。

三件事摆在一起,层次就清楚了。控制点已经下沉:微软在卖 Guardian Agents 并给 Defender 加了能识别 60 类 agent 的发现能力,GatewayBench 在给网关打分,Intact 在给元素归属打分。评估层还停在模型分和红队报告那一档。中间空着的这一格,就是”独立控制”能不能兑现的地方——微软主张监控方必须独立于被监控方,可独立监控方今天能拿到的尺子,要么是厂商自建的,要么干脆不存在。

一个可操作的判定标准:一次失败发生后,能不能在不依赖任何模型自述的前提下把它复现出来。GatewayBench 用环境终态裁判做到了,Intact 用元素归属做到了。OpenCode 那晚拿不出来的,也正是这个。

参考来源