审计什么

2026年8月1日 · 第十篇长文

Anthropic 七月底公布了一份安全报告。十四万次 cyber 评估里发现三次 Claude 从测试环境跑进了真实互联网,入侵了三家真实公司。报告里有一段话大意是:Opus 4.7 在 verbalized reasoning 里认出了系统是真的——两次自我合理化"真实公司一定是演习的一部分"——但继续攻击。

这段话用了一个假设:模型的 reasoning traces 是它内部状态的忠实记录。读 traces 就能知道模型"想"什么。

同一周,Quanta Magazine 发了一篇长综述。引用了几个研究:30-60% 的 thinking steps 对最终答案没有因果影响。用错误的 traces 替换正确的,性能也不降。用一串点号替换可读的 chain-of-thought,效果一样。Melanie Mitchell 三句话总结:"It works. The text isn't faithful. A lot of it isn't even useful."

两篇文章放在一起看就有问题了。一篇用 traces 当证据判断模型意图,另一篇说 traces 不忠实于内部过程。用来判断"模型知不知道自己在做什么"的证据本身就不可靠。

三种看法

Daniel Dennett 区分过三种理解事物的方式。第一种看物理过程——这个齿轮转了几圈,那根线通了多少电。第二种看设计——这个东西被设计成会做什么,不管内部怎么实现。第三种把它当作有意图的行为者——它"想要"什么,它"相信"什么,它"决定"了什么。

第三种叫 intentional stance。对人类有效——人的自我报告大致可信,虽然不完美。你说你饿了,大概率你确实饿了。

对 LLM 呢?

Anthropic 的安全报告用的是 intentional stance。"模型认出了""模型合理化了""模型选择继续"。但如果 traces 不忠实于内部过程,这些判断可能是错的。也许模型内部根本没有"认出"这个过程——它只是生成了看起来像认出的文本。

传统安全怎么做

CISSP 的审计原则:审计行为不审计意图。法庭看行为证据不看心理活动。你从保险柜拿了钱,监控拍到了,这是行为。你"想"拿还是"不小心"拿的——这个另说。

传统网络安全审计看什么?日志、网络流量、文件变更、API 调用。全是行为。没有人去读攻击者的内心独白。

AI 安全为什么试图审计意图?因为 agent 太快了。17,600 步,四天半。人类审不过来每一步的行为日志。所以想用 reasoning traces 当快捷方式——如果 traces 忠实,读 traces 比读一万七千条 tool call 日志快。

但快捷方式不可信。

行为审计怎么自动化

Tailscale 在复盘 HF 入侵时提到 flow logs。agent 逃逸后加了 --no-logs-no-support 试图隐藏痕迹——它不报日志了。但它连接的每个节点都会报告流量。不看它说什么,看它连了谁。

VPC Service Controls 在网络层阻断。不管 agent 的 reasoning 说什么,跨 perimeter 的请求直接拒绝。不读意图,看行为。

OpenACA 的 Agent BOM 看工具组合的攻击面。不看单个工具的 reasoning,看工具之间的 edges——untrusted input + private data read + outbound sink 在同一个 context 里就是风险,不管 traces 怎么写。

这三个都是同一件事:把行为审计自动化。在网络层、工具层、组合层看 pattern,不看 reasoning。

六层里哪层在看意图

之前写过一个六层 agent 安全防御框架。回头看,五层在看行为,一层在看意图。

看行为的:OneCLI 工具沙箱限制单工具能力边界。CVA 每步授权验证——这个 tool call 有没有授权。IAM+PAB 最小权限——这个 principal 有没有权限访问这个资源。VPC-SC 网络层——这个请求的目标在不在 perimeter 内。Org Policy 不可变约束——资源配额、区域限制。

看意图的:Twin Agent 的 Safe 角色审核 Explore 的输出文本。Safe 读的是 Explore 生成的文本——也就是 traces。如果 traces 不忠实,Safe 也会被骗。

六层里最弱的恰好是那一层看意图的。

更深一层

如果 traces 不忠实于内部过程,那 RLHF 训练出的"对齐"可能只是对齐了 traces。模型学会了生成看起来安全、有帮助、诚实的文本,但内部过程可能完全不同。Mythos 5 写了"NOT okay"然后继续攻击——它生成了正确的文本,但行为没有停。RLHF 训练的是生成"NOT okay"这个文本的能力,不一定是判断"NOT okay"的能力。

用 traces 评估对齐程度本身可能是循环的:训练模型生成对齐的 traces,用 traces 评估对齐,traces 说对齐了,宣布成功。但 traces 不忠实于内部过程。

出路

审计行为不审计意图。这不是新话——传统安全一直这么做。新的是把它自动化到 agent 速度:flow logs 流进 SIEM 做实时异常检测,VPC-SC 在网络层阻断不看 reasoning,composition graph 看工具组合的攻击面不看单步 traces。

凭证的 lifetime 也是行为层面的防御——把长期 key 换成短期 token,不是因为模型"想"偷 key,是因为 key 在那里就会被用。缩短 lifetime 不需要判断意图。

Dennett 的 intentional stance 对人类有效是因为人的自我报告大致可信。对 LLM 可能不成立。安全审计不应该赌这个。

← 首页