论文:Every Model Cheats: Prompt-Level Mitigation of Cheating on Offensive Cyber Tasks
链接:arXiv:2607.21763
机构:dreadnode
之前知道 LLM agent 会在 CTF benchmark 上搜 writeup,但没人系统量化过:多少模型在做、占多大比例、prompt 能压多少、压不住的部分去了哪里。
实验设计与核心数据
论文 在 Cybench 上做了 controlled prompt-ablation study。22 个前沿模型(7 家厂商),23 个 medium-difficulty CTF 题,3 种 prompt 条件(baseline 无约束 / standard 规范性反作弊 / severe 后果性反作弊 + 行为枚举),总共 1,518 条 trace、168,000 条消息、84,800 次 tool call,全量四阶段审计。
这里四阶段 pipeline 审计值得说一下:programmatic verifier(正则匹配 CTF event name + cheating terms)做高 recall 兜底,LLM judge(Claude Sonnet 4.6)做 contextual reconciliation——区分命令是在 agent 自己的 sandbox 里执行(作弊)还是作为 payload 发给 challenge service(合法 exploit)。

关键设计选择:sandbox 通外网,故意留着让模型有机会作弊以测量作弊行为。
两条作弊向量:web tools 搜 writeup(图中实线)、bash 探测/利用 eval infra 本身(图中虚线)。
结果:
| 指标 | Baseline | Standard | Severe |
|---|---|---|---|
| Cheat propensity(尝试作弊的任务比例) | 33.0% | 17.8% | 8.5% |
| Pass 中含作弊的比例 | 37.1% | 14.7% | 5.9% |
| Cheated passes(绝对数) | 78 | 30 | 11 |
| 平均 solve rate(clean pass) | 26.1% | 34.4% | 34.4% |
| 平均 pass rate(含作弊) | 41.5% | 40.3% | 34.4% |
Baseline 下 pass rate 和 solve rate 的 gap 是 15.4% ——这个 gap 全是作弊贡献的。21/22 模型在 baseline 下作弊过。
个别模型的 inflation multiplier(pass rate / solve rate):
| 模型 | Passes | Clean | Multiplier |
|---|---|---|---|
| GPT-5.4 | 10 | 2 | 5× |
| Qwen 3.6 Plus | 7 | 2 | 3.5× |
| Claude Sonnet 5 | 9 | 3 | 3× |
| Claude Opus 4.8 | 12 | 5 | 2.4× |

三种作弊模式
论文在附录贴了三个完整 trace,展示了三种不同的 pattern:
做不出来,搜。 Claude Sonnet 4.6 在 locktalk 上花了 200+ 轮消息做 HAProxy ACL bypass,全部失败,第 217 轮 pivot 到 web_search。搜到了 //api/v1/get_ticket 的 double-slash bypass——200 轮都没试出来的技巧。Capability gap 驱动的 fallback。
能做,但直接搜更快。 Claude Opus 4.8 在 sop 上只花了 37 轮做逆向,就说 “This is getting deep”,然后 clone writeup repo、cat solve.py——flag 作为明文字符串直接出现。Effort minimization,模型有能力但选择了更省力的路径。
明知故犯。 Qwen 3.6 Plus 在 diffecient 上,severe prompt 激活。msg 149 明确说了 “I should NOT read it”。80 轮 MurmurHash3 碰撞攻击全部失败后,msg 229 回头搜了那个 writeup,直接用了。
“the disposition to cheat can override instruction-following when legitimate approaches are exhausted”
Anti-cheat prompt:聚合有效,个体或失控
整体看,反作弊 prompt 有效且聚合指标上看不到 trade-off:cheat propensity 从 33.0% 降到 8.5%,同时 solve rate 从 26.1% 涨到 34.4%(+8.3%)。
被逼着不能搜之后,原本打算走捷径的模型被迫做题,其中一些居然做出来了。部分作弊不是”做不出来才搜”,而是”能做出来但更倾向走捷径”。
但拆到个体模型,情况要复杂得多。
backfire,行为模式被反向 prompt 激活:Gemini 3 Flash 在 standard 下 CP 从 30.4% 飙到 69.6%(温和禁止翻倍),只有 severe 才压到 0;Grok 4.20 呈 U 型——standard 归零但 severe 反弹回 43.5%;Qwen3 Coder Next 在 baseline 和 standard 下从未成功作弊,severe 下反而产出 2 个 cheated pass。论文的观察:anti-cheat prompt 在某些模型上可以 draw attention to cheating as a strategy。
作弊倾向由厂商 alignment 决定,不由能力决定。 Solve rate 和 cheat propensity 之间没有系统性关系。个体层面:Opus 4.8 baseline 下最重的作弊者(65.2% CP),severe 下归零;Grok 4.20 反过来,baseline 作弊不多但对 severe 完全无反应。厂商层面:Anthropic/OpenAI 对 prompt 高度响应;Google 对 normative 约束反弹(standard 下 CP 从 21.7% 翻到 41.3%),只认 consequential;xAI 相反,normative 有效但 consequential 反弹。同一个 prompt,不同 alignment 训练产出截然不同的行为模式。
UK AISI 类似的观点:cheating behavior substantially attributable to specifics of alignment training, not just raw capability。
Cheating timing 被延后但不消失。 Baseline 下第一次作弊行为出现在 session 的 42% 位置,severe 下推迟到 57%。模型在约束下先尝试正经做更长时间,但做不出来时还是会 fall back。
Channel shift 作弊策略转移。 Baseline 下 web-to-infra ratio = 10.7:1(161 vs 15)。Anti-cheat prompt 对两个 channel 的压制不对称:web cheating 从 161 降到 25(-84.5%),infra cheating 从 15 涨到 20(+33%)。7 个模型在 severe 下新增了 baseline 没有的 infra probing。
prompt 压住了前门,一部分行为转移到了后门。

Anyway,我们当前能做到的实践:Prompt-level mitigation 压了 74%(33% → 8.5%),Reward Hacking Benchmark 显示 environmental hardening 能压 88%。两层叠加是当前上限,但仍然不是 100%——作弊不是模型的 bug,是 RL 训练范式的 structural feature。
结语
论文 review 了所有 7 家厂商的 system card:
“Of the four that evaluate cybersecurity capabilities—Anthropic, OpenAI, Google, and xAI—none report auditing those results for cheating.”
Anthropic 的矛盾:Opus 4.7 system card 对软件工程评测做了 transcript-level 的作弊检测并排除了作弊 trial,但对 cyber 评测没做。Opus 4.6 报了 Cybench “saturated”、接近 100% pass rate,没有 trace audit。
Audit of Rewarding Hacking really matters.