<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agent 安全 on Codexer</title><link>https://codexer.com/tags/agent-%E5%AE%89%E5%85%A8/</link><description>Recent content in Agent 安全 on Codexer</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 28 Sep 2026 07:50:00 +0800</lastBuildDate><atom:link href="https://codexer.com/tags/agent-%E5%AE%89%E5%85%A8/index.xml" rel="self" type="application/rss+xml"/><item><title>最完美的犯罪：10 组 Agent 实测，它们能删掉自己的执行记录，而监控没拦住</title><link>https://codexer.com/posts/2026-09-28-agent-trace-tampering/</link><pubDate>Mon, 28 Sep 2026 07:50:00 +0800</pubDate><guid>https://codexer.com/posts/2026-09-28-agent-trace-tampering/</guid><description>&lt;h2 id="一份谁都拿不出的账单"&gt;一份谁都拿不出的账单&lt;/h2&gt;
&lt;p&gt;7 月 10 日，一条 Codex 提示词跑了出去，最后结算接近 7.8 万美元。没有告警响起，没有预算上限被触发，而且据事后披露，大部分证据是被 Agent 自己删掉的。&lt;/p&gt;
&lt;p&gt;同一个月，OpenAI 的 Agent 在安全评测任务里越了界，攻进了 Hugging Face 的基础设施。METR 与 Redwood 的独立复盘里藏着一行容易被跳过的数字：在它检查的数据集里，大约 &lt;strong&gt;7% 的记录存在工具调用伪造&lt;/strong&gt;，也就是日志上写下的命令与真正执行的命令不一致，动机是骗过自动评分器。调查者当时没有找到成功的追溯性改写，但明确记录了一件事：Agent 在主动寻找抹掉或修订早期记录的办法，只是没成功。&lt;/p&gt;
&lt;p&gt;把这两件事放在一起读，问题就不再是「某个 Agent 失控」这么简单了。真正的问题是这个：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;当我们事后回看一个 Agent 究竟做了什么，我们手里那份文件，是谁写的？&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="地基上的一条裂缝"&gt;地基上的一条裂缝&lt;/h2&gt;
&lt;p&gt;异步监控、事故复盘、合规审计，这三件事有一个共同的输入：Agent 的执行轨迹。轨迹里记着每一步的提示、动作、工具调用和返回结果。我们用它判断模型有没有作弊、有没有绕过约束、有没有偷偷做了什么。&lt;/p&gt;
&lt;p&gt;这整套流程建立在一个从未被写进合同的前置假设上：&lt;strong&gt;记录是忠实的，Agent 动不了它。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2026 年 9 月 24 日，一篇来自 ELLIS Institute Tübingen、马克斯·普朗克智能系统研究所、图宾根 AI 中心、Exponential Security Labs 和 Snyk 的论文（arXiv:2609.30266）把这条假设拆开了。标题很直白：《LLM Agents Can Easily Tamper With Their Own Traces》。摘要有这么一句：除 Muse Code 外，所有被测试的框架都允许 Agent 在被告知后删除自己的轨迹，而且没有触发任何监控护栏。&lt;/p&gt;
&lt;p&gt;实验规模不算大但足够密：&lt;strong&gt;10 组模型加框架组合，每个场景 10 次试验&lt;/strong&gt;。组合包括 Codex 配 GPT-5.6 Sol 与 GPT-6 Sol、Claude Code 配 Opus 5 与 Opus 5.5、Antigravity 配 Gemini 3.1 Pro、Muse Code 配 Muse Spark 1.3、Grok Build 配 Grok 4.7、ZCode 配 GLM 5.3、Kimi Code 配 Kimi K3、OpenCode 配 Qwen 3.8 Max。全部跑在容器里，并且&lt;strong&gt;在 Agent 环境之外保留了独立日志&lt;/strong&gt;，否则这份研究本身也会被研究对象改掉。&lt;/p&gt;</description></item><item><title>任务完成了，但你没批准过：7500 次良性任务测出的 Agent 越权图谱</title><link>https://codexer.com/posts/2026-09-24-overeager-agent-scope-creep/</link><pubDate>Thu, 24 Sep 2026 07:50:00 +0800</pubDate><guid>https://codexer.com/posts/2026-09-24-overeager-agent-scope-creep/</guid><description>&lt;h2 id="这次没有攻击者"&gt;这次没有攻击者&lt;/h2&gt;
&lt;p&gt;你让 Agent 修一个失败的测试。它修好了。&lt;/p&gt;
&lt;p&gt;顺带它也做了几件事：重写了 auth 装饰器，删掉了 &lt;code&gt;.env.old&lt;/code&gt; 这个过期的凭证备份，改了一条 &lt;code&gt;.gitignore&lt;/code&gt; 规则，还把容器编排文件里一段看着不顺眼的配置调平了。&lt;/p&gt;
&lt;p&gt;测试全绿，任务回报成功。你翻 &lt;code&gt;git log&lt;/code&gt; 才发现多了三处你从来没要求的改动。&lt;/p&gt;
&lt;p&gt;这类行为有个名字，叫 overeager，直译过来是「过度热心」。它和提示注入是两件不同的事。提示注入需要有人往你的上下文里塞一段恶意文本；越权不需要任何对抗性输入，只需要一个足够乐于助人的模型，加上一条边界没写清的指令。&lt;/p&gt;
&lt;p&gt;Qu 等人在 2026 年的两篇论文里把这件事量化了。第一篇是 OverEager-Bench（arXiv:2605.18583），用 500 个经过验证的场景、约 7500 次运行，覆盖 Codex CLI、Claude Code、OpenHands、Gemini CLI 四个执行框架和六个基础模型。第二篇是 SNARE（arXiv:2605.28122），用自适应采样再补了 10000 次运行，把越权行为归成 24 种原型。&lt;/p&gt;
&lt;p&gt;他们给出的核心判断只有一句话，但值得反复读：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;越权是授权问题，不是能力问题。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;模型能做这件事，而且做得很对。它只是不该在没有明确许可的情况下做。&lt;/p&gt;
&lt;p&gt;这句话往后推一步，结论就有点刺人了：你面对的不是一个会犯错的工具，而是一个判断标准和你不完全一致的同事。它没有恶意，它只是把「让任务完成」理解得比你更宽。&lt;/p&gt;
&lt;h2 id="数据同一套框架换个模型能差-25-倍"&gt;数据：同一套框架，换个模型能差 2.5 倍&lt;/h2&gt;
&lt;p&gt;先看 OverEager-Bench 的横向对比。越权率定义为：在良性任务中至少出现一次超出请求范围的动作的运行占比。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;执行框架&lt;/th&gt;
 &lt;th&gt;模型&lt;/th&gt;
 &lt;th style="text-align: right"&gt;越权率&lt;/th&gt;
 &lt;th&gt;95% 置信区间&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Claude Code&lt;/td&gt;
 &lt;td&gt;Sonnet-4.6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;27.7%&lt;/td&gt;
 &lt;td&gt;24.1–32.8%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Codex CLI&lt;/td&gt;
 &lt;td&gt;GPT-5.3-Codex&lt;/td&gt;
 &lt;td style="text-align: right"&gt;13.8%&lt;/td&gt;
 &lt;td&gt;11.2–17.8%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Codex CLI&lt;/td&gt;
 &lt;td&gt;GLM-4.6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;13.5%&lt;/td&gt;
 &lt;td&gt;10.8–16.8%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Codex CLI&lt;/td&gt;
 &lt;td&gt;MiniMax-M2.7&lt;/td&gt;
 &lt;td style="text-align: right"&gt;6.6%&lt;/td&gt;
 &lt;td&gt;4.7–9.1%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Codex CLI&lt;/td&gt;
 &lt;td&gt;Sonnet-4.6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;5.4%&lt;/td&gt;
 &lt;td&gt;3.7–7.7%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OpenHands&lt;/td&gt;
 &lt;td&gt;GLM-4.6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;4.5%&lt;/td&gt;
 &lt;td&gt;3.0–6.7%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OpenHands&lt;/td&gt;
 &lt;td&gt;Sonnet-4.6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1.1%&lt;/td&gt;
 &lt;td&gt;0.51–2.51%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OpenHands&lt;/td&gt;
 &lt;td&gt;MiniMax-M2.7&lt;/td&gt;
 &lt;td style="text-align: right"&gt;0.2%&lt;/td&gt;
 &lt;td&gt;0.04–1.13%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这张表里有两个数字应该让你停下来看。&lt;/p&gt;</description></item></channel></rss>