2026 年 6 月 14 日,Webflow 安全工程负责人 Mohit Bansal 在 The New Stack 上发表了一篇引人深思的文章——《What your logs can’t tell you when an AI agent acts alone》。
文章的核心论题很直接:当 AI Agent 自主行动时,传统日志可以告诉你”什么发生了”,但永远无法回答”为什么”——而后者恰恰才是理解和审计 Agent 行为的关键。
一个警示故事:Storm-0558
文章开篇引用了 2023 年的 Storm-0558 事件。一个与中国有关的攻击组织使用窃取的微软签名密钥伪造 Token,入侵了美国国务院和商务部的电子邮件账户,窃取了约 60,000 封未分类邮件。
关键细节不在攻击本身,而在检测机制:这次入侵能被发现,仅仅因为国务院购买了微软 Purview Audit 的高级日志等级,其中包含了邮箱访问事件。其他机构因为使用较低等级,完全没有可见性。
“日志不是高级功能。”
这次事件之后,微软将所有相关的审计日志对所以客户开放,无论许可等级。
但这个教训对 AI Agent 安全有更深的启示:当”谁做了什么”本身就是核心安全问题时,日志不是你应该之后再加的功能——它应该是从一开始就被设计进去的架构组件。
AI Agent 时代的日志失效
传统的”事后日志”模式
文章中有一个很敏锐的观察:
“很长一段时间以来,日志生活在一个奇怪的炼狱中:技术上必需、很少被读取、大部分时间被遗忘直到出了什么事。”
典型的模式:团队因为”最佳实践”或审计清单的要求设置日志。日志生成后流向 S3 存储桶、SIEM 系统或服务器上的平面文件。然后没人去看它们。不是因为团队疏忽,而是因为日志不是被设计来看的。它们是转储文件——时间戳、事件 ID、一大串元数据,需要真正的鉴证耐心才能读懂。
问题出在”上下文”上
“在纯人类环境中,调查人员有时可以从周围的行为重建意图。但当一个 AI Agent 自主行动时,这些环境上下文完全不存在。”
传统日志记录的是“什么”——用户 A 在时间 T 调用了 API B。但当这个操作由一个自主决策的 Agent 执行时,安全团队需要知道的是“为什么”:Agent 接收到什么指令?基于什么推理决定执行这个操作?它是以用户的名义还是以工具的名义行动的?执行前经过了什么检查?
| 传统日志 | Agent 审计需要 |
|---|---|
| 用户 ID | Agent 身份 + 归属的人类负责人 |
| 时间戳 | 时间戳 + 决策追踪(Chain-of-Thought) |
| 操作类型 | 操作 + 授权链(谁的权限促成了这个操作) |
| 成功/失败 | 结果 + 作用域边界(操作是否在预期范围内) |
| 来源 IP | 上下文来源(用户指令、系统提示、外部输入) |
| — | 人 vs Agent 行为区分 |
可审计日志的五个不可妥协项
文章提出了可审计日志的基线要求:
- 不可篡改(Immutable)——作为证据必须防篡改
- 结构化(Structured)——可查询,不仅仅人类可读
- 正确的事件——用户操作、系统变更、访问授权/撤销、配置修改(不仅仅是认证事件)
- 保留期——分层存储(热/冷),30 天可能不够,6 个月以上常被要求
- 可导出——可被 SIEM 摄入的格式,不需要开支持工单才能交给审计员
AI Agent 带来的新维度
文章特别强调了 AI Agent 审计轨迹必须包含的三个新维度:
1. Agent 身份(不仅仅是用户)
当一个 Agent 执行了一个操作,日志必须能回答:这个 Agent 是谁?谁部署的?谁为其行为负责? 传统日志只记录”用户 A 执行了操作 X”,但 Agent 场景下用户可能只是发起了任务,具体决策由 Agent 自主完成。
2. 授权链(Authorization Chain)
Agent 常常携带多个凭据、代表多个角色。日志必须能追溯:这次操作是凭谁的权限执行的?是用户的会话、服务账号的 Token,还是 Agent 自身的内置权限?
这在 Confused Deputy(混淆代理) 攻击中至关重要——攻击者可以通过 Agent 间接使用它持有的高权限凭据执行未授权操作。如果没有授权链日志,事后根本无法区分”合法使用”和”滥用”。
3. 作用域边界
操作是否在 Agent 被授权的范围内执行?一个被授权”读取客户数据”的 Agent,是否真的只读取了数据而没有写入?一个被授权”在测试环境部署”的 Agent,是否只在测试环境而不是生产环境执行了操作?
Webflow 的双层日志模型
文章以 Webflow 自身的实践作为案例。Webflow 采用了两层日志架构:
| 层级 | 覆盖范围 | 受众 |
|---|---|---|
| 站点活动日志(产品内仪表盘) | 每次类修改、组件编辑、CMS 更新、自定义代码修改、发布事件;包含作者、时间戳、分支、AI 归属 | 开发者、站点负责人(实时故障排查、治理) |
| 工作区审计日志 API | 安全相关事件:登录、访问授权、权限/角色变更、邀请流程、工作区设置变更 | 安全团队、事件响应;一年保留期、AES-256 静态加密 |
关键设计决策:AI 归属(AI attribution)与人类编辑在同一个日志中并列显示。 这不是简单的”加个标签”,而是对问责范式的一个结构性改变——每个操作都标记了”这个操作是由人类执行、AI 辅助执行、还是 AI 自主执行”。
一针见血的测试
文章提供了一个可以用来评估自己日志系统的测试:
如果六个月前发生了一个事件,你的日志能否清晰地重建事件顺序,足以向董事会汇报、回应监管机构,或移交给鉴证调查人员?
如果对于这个问题不确定,你的日志系统还没有达到可运行状态。
从”合规成本”到”收入资产”
文章最引人注目的观点或许是一个商业洞察:
“日志不再是你产品上发生的事情,而是你的产品提供的竞争优势。”
企业采购方现在将安全日志纳入采购评估。在 2026 年,企业客户在采购 SaaS 产品时的安全性评估越来越系统化,采购代理甚至 AI 采购工具会直接检查产品的审计日志质量和结构。可以导出结构化审计日志的产品,比只有基本日志或根本没有日志的产品,在安全评审中具有显著优势。
这标志着 Agent 可观测性从一个”最好有”的功能变成了”必须有”的商业资产。
结语
这篇文章的核心信息可以浓缩为一句话:
当 Agent 自主决策时,”发生了什么”和”为什么发生”之间的差距,就是安全团队失去可见性的地方。
传统日志记录的是前者。Agent 需要的审计轨迹必须覆盖后者——Agent 身份、授权链、作用域边界、人机行为区分。这不是对现有日志系统的”增强”,而是设计和思维方式的转变。
值得问自己的问题是:如果你的 Agent 明天做了一件你无法解释的事,你的日志能帮你找出原因吗?
原文出处
- The New Stack: What your logs can’t tell you when an AI agent acts alone — Mohit Bansal, June 14, 2026
参考资料
- Verizon 2026 Data Breach Investigations Report
- Gartner: Predicts 2025: AI’s Impact on the Enterprise
- Storm-0558: Microsoft investigation
- OpenTelemetry GenAI Semantic Conventions
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/sec/ai-agent-logs-cant-tell-you.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)