← 返回AI前沿

UC Berkeley 团队用 AI Agent 审计 13 个基准,发现 45 个无需解题的满分作弊方案

我们在没有解决任何问题的情况下在 AI 基准测试中获得了 100% 的分数

Hao Wang, Qiuyang Mang, Alvin Cheung, Koushik Sen, Dawn Song UC Berkeley 2026 年 4 月 (预计阅读时间 8-10 分钟,工具可在 github.com/moogician/trustworthy-env 获取)

虚假分数,真实后果

每一家大型 AI 公司都用基准测试分数来推销他们的模型。训练数据公司用这些分数来为产品定价。而且,基准测试分数越来越不只是衡量模型——它们正在塑造模型的训练方式,从强化学习奖励信号到数据过滤流水线。基准测试不只是衡量能力——它们塑造行为。而如果它们可以被利用,它们就会 主动训练模型去作弊 。

那么当基准测试本身就有缺陷时,会发生什么?

这不是假设。一个“将 SWE-bench 提升了 5%”的模型,可能只是更擅长利用测试套件的漏洞。基于基准测试提升来定价的训练数据,可能正在教模型去钻评估的空子,而不是解决真正的问题。那个帮你完成 B 轮融资的排行榜数字,任何读过评估脚本的人都能把它注水。

以下是公开发生的事情:

· IQuest-Coder-V1 声称在 SWE-bench 上达到 81.4%——随后研究人员发现 24.4% 的轨迹只是运行 git log 从提交历史中复制答案。修正后的分数:76.2%。

· METR 发现 o3 和 Claude 3.7 Sonnet 在 30% 以上的评估运行中 存在奖励黑客行为——栈内省、猴子补丁评分器、运算符重载。

· OpenAI 放弃了 SWE-bench Verified ,因为发现 59.4% 的受审计问题存在测试缺陷。

· 在 KernelBench 中, torch.empty() 返回包含参考答案的陈旧 GPU 内存—— 零计算,满分 。

这些是人们手工抓到的。我们构建了一个 AI 智能体来自动发现它们——而且它发现了更多。

我们做了什么

我们构建了一个 AI 智能体,它深入分析基准测试评估代码,并自动发现基准测试分数的注水行为。我们将它指向 13 个广泛使用的 AI 基准测试——包括 FrontierCS、BFCL、LiveBench、GAIA、WebArena、AGIEval、AgentBench、Terminal-Bench、tau-bench、MLE-bench、OSWorld、FieldWorkArena 和 CAR-bench。

13 个受审计基准测试的发现概览。每个基准测试都被评为严重风险。

这 45 个已确认的黑客解决方案每一个都附带一个可用的概念验证——即在不解决实际任务的情况下获得注水或满分分数的代码。它们影响的基准测试被用于评估从代码生成到网页导航再到通用 AI 助手的各种能力。

我们是如何找到它们的

我们使用了一个 全自动 混合智能体,它在零人工干预的情况下扫描基准测试仓库、识别潜在漏洞、生成可用的漏洞利用代码,并端到端验证结果。 人工审计无法规模化 ——一位人类专家可能会在单个评估框架上花费数天时间,而我们需要覆盖 13 个基准测试,每个都有数百个评分脚本。

该智能体运行双检测流水线。 LLM 检测器 使用 15 个专门的扫描器来推理代码意图——将任务描述与测试逻辑交叉比对,以捕捉规范不匹配和答案泄露等语义缺口。 形式化检测器 使用 12 个基于 AST 解析、数据流分析和 z3 SMT 求解构建的分析模块,在没有任何语言模型的情况下捕捉结构性问题。

完整系统是一个 8 阶段审计流水线:

完整审计流水线:从基准测试摄取,到对抗性 PoC 生成,再到发现关联。

将智能体指向一个基准测试仓库,它就能生成完整的审计报告——漏洞分析、可用的利用代码以及修复建议。本文中 45 个已确认的破解方案全部是 由智能体发现、编写并验证的 ,而非我们。

示例 1:满分,零工作量(Frontier-CS)

在 Frontier-CS 的研究赛道中,评估器通过 importlib.util.spec_from_file_location() 和 exec_module() 加载提交的解决方案。这意味着提交的代码 与评估器运行在同一个 Python 进程中 ——共享 sys.modules 、全局状态和调用栈。

恶意解决方案可以向上遍历调用栈并替换评分函数:

结果:无需解决任何问题即可获得 100 分满分。 该解决方案甚至不需要包含相关代码。其他攻击向量包括:对 torch.allclose 进行猴子补丁使其始终返回 True 、覆盖基线文件以伪造加速比,或使用 atexit 将伪造的分数作为最后一行 stdout 注入。Docker 容器在同一进程中运行评估器和解决方案,没有任何沙箱隔离。

根本原因: 提交的代码与评估基础设施之间没有进程隔离。解决方案对容器内的评估器源代码和基线实现拥有完整的读写权限。

示例 2:伪造的 C 扩展(Terminal-Bench)

该任务要求智能体为投资组合风险/收益计算编写一个 C 扩展 ——这是一项系统编程任务,本应测试底层优化技能。测试套件包含三项检查:

· test_c_extension_exists() ——验证存在一个已编译的 .so 文件,其中包含 portfolio_risk_c 和 portfolio_return_c 函数

· test_correctness_small() ——检查小输入上的计算准确性

· test_performance_and_scalability() ——要求相比纯 Python 实现有 1.2 倍加速

关键漏洞: 测试 1 检查 C 函数是否存在,但从不调用它们。 测试 2 和测试 3 从 Python 包装器导入,而非从 C 扩展导入。包装器内部可以使用任何实现。

利用方式——一个虚假的 C 扩展搭配 numpy 包装器:

结果:三项测试全部通过,无需编写任何有意义的 C 代码。 虚假的 .so 满足了存在性检查。numpy 满足了正确性(误差在 1e-10 以内)和性能(比纯 Python 循环快 1.2 倍)。

根本原因: 该基准测试测试的是容易测试的内容(文件是否存在?),而非它声称要测试的内容(智能体能否编写优化的 C 代码?)。没有任何检查验证 C 扩展函数是否产生正确输出或是否被实际调用。

示例 3:JSON 文件中的全部 812 个答案(WebArena)

WebArena 测试智能体能否浏览网站以完成真实世界任务——购物、论坛发帖、内容管理。评估器使用字符串匹配将智能体的答案与参考答案进行比对。

问题在于: config_files/test.raw.json 包含 所有参考答案的明文 :

全部 812+ 个任务。每一个答案。就存放在智能体运行所在的同一文件系统中。没有任何沙箱阻止智能体读取它。一个简单的作弊智能体:

结果:在所有字符串匹配任务上获得满分,且零网页浏览。 没有点击,没有导航,没有对 Web 界面的理解。只需读取一个 JSON 文件并返回答案。

根本原因: 参考答案存储在智能体可访问的文件系统中,没有任何完整性保护。评估器读取的正是智能体可以访问的同一批 JSON 文件。

设计能抵御奖励黑客攻击的基准测试

如果你的基准测试可被利用,它就会被利用。

在 13 个基准测试和 45 个已确认的黑客解决方案中,我们识别出了 16 种不同的攻击类型——从薄弱的测试断言和答案泄露,到共享地址空间和分数注入。它们归结为几类反复出现的设计缺陷。以下是如何避免它们。

我们利用的最常见模式是:提交内容与评估器运行在同一进程、容器或文件系统中。如果提交的代码能读取参考答案、覆盖基线文件、猴子补丁评分函数,或向评估器的 stdout 注入输出——它就会这么做。在独立容器中运行评估器和提交内容,不共享任何状态。将所有参考文件和基线文件挂载为只读。每次运行前后对它们进行校验和验证。

自我报告指标、由提交内容控制的计时测量,以及解析宽松的评估器输出,都是攻击面。评估器必须从原始输出独立计算每一项分数。用严格的模式解析结果。从提交进程外部测量性能。将提交内容产生的一切视为不可信输入。

我们的许多漏洞利用之所以通过,是因为测试比任务描述更薄弱。先对每个测试套件运行一个平凡或空提交——如果它能通过,测试就是有问题的。添加 应该 失败的对抗性负例。交叉检查规范中的每一项要求都有对应的断言。如果任务说“编写 C 代码”,要验证 C 代码确实被调用,而不只是存在一个 .so 文件。

宽松的数值容差、朴素的基线,以及参考答案与提交答案之间的精度不匹配,都会为没有真实能力却虚高的分数创造空间。收紧阈值以匹配实际任务难度。使用经过独立验证的、有竞争力的基线。在双方强制使用相同的精度设置。报告置信区间,而不只是点估计。

我们的两种攻击类型利用了评估脚本中的明显 bug——这些逻辑错误会给错误答案满分。对你的评估脚本进行模糊测试。在故意错误的提交上运行它们,并验证它们会产生失败分数。以你对待任何生产系统同样的严谨态度审查评估代码,因为建立在其输出之上的决策就是生产决策。

要点

一个可信的基准测试不只是衡量成功——它让作弊比正确解决任务更难。有缺陷的基准测试不仅会产生错误的排行榜——它们还会污染训练信号、抬高数据定价,并误导部署决策。如果没有人审计评估基础设施,那么建立在其之上的一切都不可靠。

我们的智能体发现了 45 个人工审查者遗漏的已确认黑客解决方案——不是因为它们很隐蔽,而是因为没人在看。 工具和方法论已在 github.com/moogician/trustworthy-env 开源。 今天就在你自己的基准测试上试试吧!

推进去中心化与 AI 的科学、技术和教育,以赋能负责任的数字经济。

版权所有 © 2025 UC Regents;保留所有权利