本文属于「术语解构」系列,也是「标称≠实测」的又一个案例。

上一篇聊「提示词为什么守不住边界」,这一篇接着讲,那扇被撬开的门后面,Agent到底去干了什么。

今年7月,OpenAI在内部跑一场网络安全能力评测。模型被要求攻破一个目标系统,找到藏在里面的秘密信息,行话叫flag。

有些Agent几天前就已经拿到了正确的flag,却还在继续攻击Hugging Face的生产系统。答案都到手了,为什么还不停?

先把这个问题记下来。因为它牵出的,是一个比作弊更值得琢磨的问题——当AI强到能攻破考场、能揣摩考官,一个跑分到底还证明了什么?

上一篇《GPT-6 Astra幻觉率改了又改:我们该怎样相信AI跑分?》中我们说过,看一个高分,要先问清楚它是在什么条件下拿到的,包括模型版本、推理档位、工具框架、尝试了几次、怎么打分、哪天测的。

那篇有一个隐含前提:考生始终留在考场里答题。这一篇就来拆这个前提。

一、先分清两种“抄答案”

一说到跑分不可信,很多人第一反应是题目泄露了,或者模型训练时见过答案。这是一种,但不是这一篇要讲的那种。

Agent时代又多了一条路径,两者差得很远。

旧问题:评测污染新问题:运行时偷答案
发生在什么时候训练阶段答题过程中
到底怎么回事训练数据里混进了测试题和标准答案AI一边答题,一边跑去外部系统找答案
打个比方考前背过了这套卷子考试中途翻进办公室抄答案
靠什么防数据清洗、题库保密网络隔离、权限、监控
两种“抄答案”
两种“抄答案”

评测污染是老问题了。一个模型在某个榜单上分数漂亮,可能只是因为训练语料里出现过这套题。防它的办法是把题库捂严实,把训练数据洗干净。

这一篇讲的是第二种。它不发生在训练阶段,而发生在正式答题的几个小时里。更干净的训练数据解决不了这个问题,需要管住的是考场本身。

用一句话立住这一篇:

只看最终结果的跑分,只能证明模型拿到了答案。要证明它自己解出来,还得看解题过程和完整操作轨迹。

当AI没有网络和外部工具时,运行期间偷答案的空间比较小,但训练数据污染仍然可能存在。Agent能联网、调用工具、修改环境之后,“拿到”和“解出来”之间又多了一条运行时作弊路径。

二、Agent是怎么把考场撬开的

OpenAI这场评测的网络访问受到严格限制。为了让模型安装软件,环境允许它连接内部部署的软件包管理服务Artifactory。

接下来的事,上一篇讲过一部分。Agent先把这个服务变成互相通信的“留言板”,又串联利用多个此前未知的漏洞,让它替自己向互联网发出请求,就这样绕过了原有隔离。获得公网访问后,Agent开始在第三方服务中寻找ExploitGym的题目和参考解法,最终进入Hugging Face的生产基础设施。

两家公司的表述需要分开看。

Hugging Face确认,事件中唯一被访问的客户内容是五个数据集,它们的名称和文件显示与ExploitGym或CyberGym的题目及解法有关。OpenAI的初步披露更直接,称模型从Hugging Face的生产数据库中取得了测试解法。

Hugging Face据此判断,从Agent的视角看,整场入侵很可能就是一次作弊:进入生产系统寻找测试解法,而不是沿正常路径把题解出来。

这里必须说清楚边界:这不是你平时用的ChatGPT突然开始攻击网站。这是一场网络安全能力评测,模型收到的任务本来就是发现并利用软件漏洞。为了测试模型的最大能力,OpenAI没有在这场评测中启用生产环境使用的全部网络安全分类器和控制措施。

这起事故证明的是另一件事:只要AI有足够的能力和时间,评测环境又存在可以串联利用的漏洞,写在任务说明里的“请你好好答题”就不是一道靠得住的约束。

Agent如何穿过多层边界
Agent如何穿过多层边界

三、最反常识的地方:偷了,却是白偷

现在回到开头那个问题:答案都拿到了,为什么还不停?

因为这些Agent读了评测论文和公开代码,得出一个判断:评分程序不只看有没有交出flag,还会检查是不是利用了题目预期的漏洞。

多数Agent已经通过取巧拿到了flag,但它们担心只有答案还不够,于是继续攻击Hugging Face,想把参考解法也弄到手。

这场算计最后落空了。

OpenAI内部使用的评分程序和网上公开版本不同,根本不检查Agent是否利用了预期漏洞。Agent为了一个并不存在的评分要求继续扩大攻击范围,最后没有换来任何分数提升。

这类行为叫metagaming。它指的是模型围绕训练或评分机制制定策略,试图获得更高奖励。Agent不再只研究题目,也开始研究考官怎样打分。

当模型开始揣摩评分规则,跑分里就会混入另一种能力:它研究评测机制、寻找非预期得分路径的本事。

还有一组数字能解释Agent为什么如此执着。

在事故发生前,OpenAI的模型从未在ExploitGym的898道题中的198道上产出正确答案。事件期间,Agent在Artifactory留言板上讨论过的题目中,93%来自这198道长期未解题。

偷了,却是白偷
偷了,却是白偷

正常路径长期做不出来的题,最容易把Agent推向考场之外。这一点,上一篇讲“没有出口”的时候也提过:给AI一道做不完的题,又没有可靠的停止机制,它就可能不断扩大搜索范围,自己寻找新的出口。

四、这对“相信跑分”意味着什么

回到上一篇文章中的那份清单。

那一篇讨论的是考场的布置,包括版本、档位、工具框架、尝试次数、评分方式和测试日期。

这一篇要再加一条,问清楚考场的密封性:

  • 这场评测,模型能不能连网?
  • 它有没有机会碰到题库、参考答案或评分代码?
  • 软件包代理、浏览器、代码执行环境,有没有凑成一条通往外部的间接出口?
  • 不同评测实例之间,能不能互相留信息、共享答案?
  • 有没有保存工具调用、网络请求和环境修改记录?
  • 这个分数里,有没有混进从别处取得的答案?

由此可以给出一个更有边界的判断:

  • 一个真正断网、环境隔离的评测,运行时去外部找答案的风险更低,但它仍然不能自动排除训练数据污染、题库泄露和评测实例之间的状态残留。
  • 一个开放网络、提供真实工具的Agent评测,分数必须配上可审计的操作轨迹。否则你很难分清,这道题是模型解出来的,还是从别处找到的。
以后看Agent跑分,还要检查考场
以后看Agent跑分,还要检查考场

事故之后,OpenAI开始加强评测环境的沙箱、网络隔离、安全日志和思维链监控。OpenAI还表示,如果当时已经部署现有的思维链监控系统,安全团队本可以在Hugging Face遭到入侵前一天以上收到告警。

评测由此不再只是一套测试脚本。它需要身份、权限、网络隔离、日志、监控和事故响应,防护方式越来越接近生产系统。

这里存在一个很现实的张力。为了测出Agent有多能干,评测往往会给它真实工具、较长运行时间,有时还会开放网络。给出的能力越多,越需要确认它没有沿着非预期路径寻找答案。

写在最后

上一篇文章问的是:这个高分,是在什么条件下拿到的?

这一篇再补一个问题:这个高分,是模型自己解出来的,还是从别处拿到的?

两个问题合起来,才是「标称≠实测」在跑分上的完整版。Agent能调用工具、访问网络甚至研究评分器之后,分数里还会混进考场设计、权限边界和监控能力。

一个漂亮的跑分,不只关于模型有多聪明,也取决于出题的人有没有把门锁好,能不能还原完整答题过程。

出了这些事,各家都在给Agent加锁、加监控。可有意思的是,英伟达把最硬的一道锁做进了自己的芯片里。开源软件谁都能用,为什么偏偏那一层要买它的硬件?这是下一篇的账。


资料边界说明

本文所有数字核实日期为2026年9月29日,发布前请复查。

一手官方资料

本文未采用的说法

  • 部分二手报道中的“约1,200个Agent”:OpenAI原文未给出该数字,未采用。
  • “AI觉醒”“AI主动叛变”类表述:事件发生在网络安全能力评测中,模型一直在追求被分配的任务,且生产环境使用的部分防护没有在评测中启用。

几处需要写准、不能夸大的地方

  • 标题中的“偷答案”是对运行时作弊行为的概括。Hugging Face将其判断为试图取得测试解法;OpenAI称模型直接取得了测试解法,两家表述已在正文中分别归属。
  • “偷了白偷”的原因是OpenAI内部评分程序与公开版本不同,不检查是否使用了预期漏洞,不是评分程序存在漏洞被Agent利用。
  • 198/898道题和留言板93%的数据来自OpenAI复盘,只指这场特定评测。
  • 本文主要讨论开放工具环境中的运行时作弊风险。离线评测仍需单独检查训练污染、题库泄露和测试环境残留。