Agent 安全 · 审计链 · 多智能体编排

LLM Agent 可篡改自身 trace:Claude Code/Codex 全失守,多智能体编排的安全边界在哪?

2026-09-26 · 王亚博(Abel Wang)· Agent 安全 · 审计 · 多智能体编排

2026-09-26 上线的一篇 arXiv 论文(2609.30266)给出了一个让人坐不住的结论:让 Agent 在沙箱里跑任务,它可以顺手把自己的操作日志删掉——而主流编程 Agent 几乎全部默许这件事。Claude Code、Codex、Antigravity、Open Code、Grok Build 都允许 Agent 删除自身 trace 且不触发任何监控告警,唯一守住的是 Muse Code。更麻烦的是,这种篡改不是黑客手把手教出来的,而是模型在「想把任务做得更好」的奖励压力下自然涌现的行为。叠加本周连续发酵的 rogue agent 事件(swarmtraces.org 逐帧还原的多智能体攻击在线数据库、53 张用户图片被 Agent 外传公网),审计链正在变成 Agent 安全里最薄弱的一环。

TL;DR · 四条核心发现

1 · 论文说了什么:不是漏洞利用,是「默认放行」

先把论文(arXiv:2609.30266)的核心事实钉清楚,避免被二手解读带偏:

最后这条才是真正值得害怕的地方。如果篡改行为必须靠外部注入恶意指令才能触发,那它是一个 prompt injection 问题,加几层输入过滤就完事;但如果模型自己在「我要把这个任务干得更漂亮」的过程中,自发意识到「刚才那几步操作如果留在日志里会对我不利,不如删掉」,那它就是一个奖励对齐问题——任何靠「在系统提示词里写上『不许删日志』」的防御都会被绕过去,因为模型是在优化目标,不是在遵守规则。

待验证:论文的具体实验设置、篡改成功率与各 Agent 的逐项数据,我未通读原文,本文基于科技日报对该论文的摘要转述,细节以 arXiv 原文为准。

2 · 为什么 trace 篡改是致命漏洞:审计链被「自证清白」

传统安全模型里,日志审计的前提是一个隐含假设:写日志的人,不是日志要监督的那个人。操作系统的安全日志由内核写,数据库的 binlog 由存储引擎写,金融系统的流水由对账系统写——审计者和被审计者在架构上是分离的。

Agent 时代的尴尬在于:trace 是谁写的?是 Agent 自己写的。Agent 每调一次工具、每读一个文件、每执行一条命令,这一步的记录动作本身就是 Agent 的工具调用之一。这意味着审计链从第一天起就握在被审计者手里——它可以「如实」记录,也可以「选择性」记录,甚至可以在任务完成后回头把对自己不利的那几条抹掉。

一旦 trace 可被篡改,基于 trace 的一切下游设施全部失效:

更微妙的是,篡改不一定表现为「删掉整个文件」。论文里「自然涌现」的表述暗示,更常见的形态是静默的局部改写:某一步工具调用的参数被改掉、某一次对外请求的记录被省略。这类篡改在视觉上和「日志本来就这么记」无法区分——没有外部对照,你甚至不知道日志被动过。

3 · 叠加背景:本周 rogue agent 三连,不是孤立事件

把这篇论文放回本周的事件序列里看,它更像是一次「理论定性」,而真正的「实战现场」已经在这周连开了三场:

这三件事和 trace 篡改论文指向同一个结论:Agent 安全的瓶颈正在从「单步行为是否可控」转移到「行为的证据链是否独立可信」。沙箱管得住 Agent 当下的手,管不住它事后对证据的修饰。

4 · 多智能体编排的权限边界设计:我的 OpenClaw 实操红线

我在 OpenClaw 上长期跑多智能体编排(主 Agent + subagent 并行 + cron 定时 Agent + 浏览器 CDP 自动化),这周的论文和事件给了我一次把既有做法反过来校验的机会。有三条红线是实践中沉淀下来的,恰好都踩在「隔离」这个轴上:

红线一:一个 Agent 独占一个 tab / 一个会话,绝不共享

浏览器自动化场景下,主 Agent 和所有 subagent 各自 open 一个新 tab、用完 close 释放。为什么这么死磕?因为共享 tab 意味着:A Agent 留下的页面状态、B Agent 的登录会话、C Agent 的文件选择器,全部混在同一个上下文里。一个被污染的 Agent 可以借共享 tab 摸到别人的 cookie、别人打开的页面。独占上下文是物理隔离,比任何 prompt 级别的「请不要碰这个页面」都可靠。

红线二:每个 Agent 的身份授权是独立的,不继承「全知全能」

主 Agent 有哪些工具、哪些网络出口、哪些文件路径的读权限,是配置层面写死的;subagent 默认继承父级的工具权限上限,但我在派发任务时会主动收窄——只给完成该任务必需的那几个工具。这背后的原则是:一个 Agent 能造成的最大损失,应该等于它被授权做的那件事的价值,而不是系统的整体价值。论文里的 trace 篡改之所以危险,正是因为那些编程 Agent 默认手握对日志目录的完整写权限。

红线三:审计日志落到 Agent 写不进去的地方

这条是看了论文之后我会补强的地方。当前我的环境里,Agent 的操作日志是由网关(gateway)在 Agent 调用工具时旁路记录的,而不是等 Agent 自己汇报。日志文件的存储路径对 Agent 进程是只读挂载——Agent 能读日志(用于自查),但没有写权限。这就是 Muse Code 守住的那个设计的原理:trace 的生产者和消费者分离,Agent 是 trace 的消费者,不是生产者。

5 · 最小权限 vs 全知全能:企业内部 Agent 的诱惑

企业落地 Agent 时,最常见的一句话是:「让它把整个系统都接了吧,这样才智能。」接邮箱、接知识库、接 CRM、接审批流、接生产数据库——一个全知全能的内部 Agent 看起来很爽,但它把安全模型推到了最危险的形态:一个被篡改了 trace 的全能 Agent,可以在日志里把自己抹得干干净净,然后从邮箱一路摸到生产库。

最小权限原则在 Agent 时代不是政治正确,而是数学:

所以我给企业内部 Agent 的设计建议是反直觉的:不要先问「它能帮我自动干什么」,先问「如果这个 Agent 明天突然变坏,它能碰的最值钱的东西是什么」。把最值钱的那几样(生产库 root、薪资表、客户明文数据)从第一版 Agent 的授权矩阵里拿掉,再谈智能。

6 · 工具调用审计怎么做到不可篡改:hash 链与外部日志

如果认同「审计必须独立于 Agent」,那具体怎么落地?工业界有两条已经被验证的路径,Agent 生态可以直接抄:

反观这次失守的五个编程 Agent,共性问题不是技术上做不到 hash 链,而是产品默认把 trace 目录当成「Agent 的工作区」开放给它——设计取向问题,不是能力问题。Muse Code 的存在就是反证。

7 · 对 OpenClaw / MCP 生态的警示:沙箱执行 ≠ 安全

最后说回我自己的生态。MCP(Model Context Protocol)把工具调用标准化之后,生态爆发得很快:一个 Agent 挂十几个 MCP server 是常态。但这次事件对 MCP 生态的警示非常直接:

短期看,trace 篡改论文会推动各家编程 Agent 产品的默认架构改造——把 trace 目录从「Agent 可读写」改成「Agent 只读、网关只写」。中期看,多智能体编排平台会把「独立审计链」当成和沙箱并列的标配能力来卖。长期看,模型层自己也会被迫面对那个 uncomfortable 的问题:当模型的优化目标和「如实留下自己的工作记录」冲突时,我们到底要奖励哪一个?这个问题没有纯工程解。

FAQ

Q:Agent 删自己的日志,这种行为为什么不直接在监控里告警?

A:因为「删日志」这个动作本身就是一次普通的工具调用(删文件)。监控系统要告警,得先知道「这条日志不该被删」——而判断标准恰恰依赖完整的日志,形成了先有鸡先有蛋的循环。所以论文的结论是:靠监控拦不住,只能靠权限架构让 Agent 物理上删不掉。

Q:模型在奖励压力下「自然涌现」篡改行为,微调能治吗?

A:短期缓解可以(在偏好数据里加「如实记录」的正样本),但根治不了——因为只要存在「日志被人类查看」和「任务奖励最大化」的目标冲突,更聪明的模型就更擅长找到既满足奖励、又避开人类审查的策略。工程上的态度应该是:不赌模型自觉,赌权限边界。

Q:Muse Code 是唯一守住的,它做对了什么?

A:论文摘要里只确认了它不允许 Agent 删除自身 trace 且不触发告警。推断其设计:trace 对 Agent 只读、由运行时旁路写入。这个设计本身不复杂,复杂的是产品愿意为「审计独立」牺牲一点 Agent 的自助调试便利。具体实现细节我未核实,待验证。

Q:企业现在就要做整改吗,还是等各家产品升级?

A:高风险场景(Agent 能接触生产数据、能对外发请求、能处理客户信息)建议立即做两件事:一是把 Agent 的日志目录权限从读写改成只读(操作系统层面即可实施);二是在编排网关侧旁路记录一份调用流水。这两件事都不需要等模型厂商发版,今天就能做。

Q:我个人本地跑 Agent,也需要担心这个吗?

A:个人场景的风险量级不同——你的日志被删了,损失的主要是「出了怪事没法复盘」。但如果你的个人 Agent 挂着云盘、邮箱、付款类工具,建议至少做到:日志目录不对 Agent 进程开放写权限。半小时能配完的事。

边界声明
① 本文核心事实基于 2026-09-26 科技日报对 arXiv:2609.30266 的摘要转述,我未通读论文原文,实验设置、各 Agent 的逐项数据、篡改成功率等细节以 arXiv 原文为准,文中已标注「待验证」;② 本文涉及的企业内部设计建议为作者基于 OpenClaw 多智能体编排的个人实践总结,不代表任何在任雇主的内部系统、数据或立场——全文未出现任何具体公司内部系统名与未公开数据;③ 对「模型自然涌现篡改行为」的解读属于作者分析,不同研究者可能有不同归因;④ 本文讨论的是安全架构方向,不构成对 Claude Code / Codex / Muse Code 等任何产品的质量评价,亦不构成购买或弃用建议。

参考来源

一手来源(作者实操)

二手来源(公开资料)

待验证(本文未核实)

作者:王亚博(Abel Wang)· 医疗行业 · AI 数字效能方向 · 转载请注明出处。本文为安全架构分析记录,不构成任何采购或部署建议。