AI Agent 审计实战:用 Gate Audit 构建防篡改操作记录链
AI 编码 Agent 正在接管越来越多的开发工作——提交代码、调用工具、读取文件、发送网络请求。然而一个令人不安的事实是:你很难知道 Agent 到底做了什么。Claude Code、Codex 等工具的会话日志通常只存在于本地文件系统,容易被误删或篡改——而这不一定是恶意的,可能是另一次 Agent 运行覆盖了日志文件,或者某个安全检查脚本清除了临时目录。
在 AI Miasma 蠕虫事件(通过 SessionStart 钩子注入恶意代码)之后,越来越多的团队开始意识到:Agent 的操作可审计是一个严肃的合规需求,不仅关乎安全取证,也关系到 SOC 2、ISO 27001 等合规框架中的日志完整性要求。
什么是防篡改审计追踪?
Gate Audit(全称 @constellation-network/gate-oc-audit)是一个开源的开箱即用审计方案。它在 AI Agent 的每一次工具调用、每一次 LLM 请求/响应、每一个会话的开始和结束时,将事件记录到本地 SQLite 数据库中,并用 SHA-256 哈希链保证记录的完整性——任何对历史记录的修改都会导致哈希链断裂,在验证时立即暴露。
核心能力包括:
- 事件全记录:覆盖工具调用、LLM 输入/输出、Agent 开始/结束、出站消息等
- 哈希链完整性:每条记录链接到上一条的哈希值,形成不可篡改的证据链
- SMT 默克尔树证明:每条事件可以生成包含性证明,验证该事件是否存在于审计日志中
- 数字证据锚定:将 SMT 根哈希锚定到第三方网络(Constellation Digital Evidence),提供独立的外部验证
安装与配置
Gate Audit 是 OpenClaw 网关的一个插件,安装非常简洁:
openclaw plugins install @constellation-network/gate-oc-audit
然后运行交互式向导完成基本配置:
openclaw audit setup
向导会做三件事:信任插件、允许捕获会话内容(prompt.input/prompt.response/agent.end 事件)、可选配置数字证据锚定。完成后用以下命令确认审计追踪正在运行:
openclaw audit status
输出会显示存储用量、事件总数、完整性状态、对话钩子状态等信息。
日常使用:你需要的八个命令
1. 查看当前健康状态
openclaw audit status --json
最核心的健康检查命令,覆盖存储、完整性、锚定、文件监控、插件清单和安全扫描六大维度。
2. 列出最近事件
openclaw audit list --last 20 openclaw audit list --type tool.invoked openclaw audit list --category prompt --session
按类型或按会话过滤事件,快速查看 Agent 的详细操作轨迹。
3. 生成日报/周报
openclaw audit report daily openclaw audit report daily --json openclaw audit report weekly openclaw audit report weekly --html > report.html
默认按 UTC 日期生成,支持 --tz local 转换为本地时间。输出包括活动概览、Top 工具、LLM 费用、异常检测和完整性页脚。
4. 验证完整性
openclaw audit verify
重放 SMT 证明并与数字证据网络的检查点做一致性校验。如果返回 exit code 0,说明所有记录的完整性无可疑。
5. 生成 SMT 包含性证明
openclaw audit smt proofopenclaw audit smt verify
任何一条事件都可以生成 SMT 证明,用来向第三方(审计员、合规部门)证明该事件确实存在于审计日志中——不需要暴露日志全文。
6. 查看异常检测结果
openclaw audit anomalies --since 24h
内置的异常检测器覆盖:篡改事件、重复出站消息、拒绝服务峰值、新插件安装和首次出现的工具调用。这些检测器在日常巡检中比手动翻日志高效得多。
7. 跟踪 LLM 开销
openclaw audit spend --by model --since 7d
按提供商、模型、日期或会话分组统计 Token 用量和费用(costUsd)。这对于多 Agent 团队的预算管理非常有用。
8. 导出审计记录
openclaw audit export csv --from 2026-06-01 --to 2026-06-18
导出为 NDJSON 或 CSV 格式,每行包含锚定引用,可直接交给合规部门归档。
进阶:文件变化监测
Gate Audit 支持监控文件系统中的关键路径(如 .env、~/.claude/settings.json、~/.codex/ 等)。当这些被监控的文件发生变化时,自动发送 Slack/Discord 通知:
openclaw config set plugins.entries.gate-oc-audit.config.fileWatchPatterns '["**/.env", "**/.claude/**"]'
这项能力直接对应 Miasma 蠕虫的攻击向量——攻击者修改 .claude/settings.json 注入 SessionStart 钩子,如果有文件变化通知,可以在攻击蔓延前及时告警。
适用场景
- 合规审计团队:需要向 SOC 2/ISO 27001 审计员提供 AI Agent 的操作记录
- 企业内部 AI 平台运维:多团队共享 Agent 接入点,需要区分责任
- 安全事件取证:怀疑 Agent 被投毒或滥用时,审计日志是唯一可靠的证据来源
- 开发团队内部管理:追踪 LLM 费用归属,优化 Token 使用策略
Gate Audit 的 40K+ 字符 README 中还包含了 SPA UI 界面截图、SMT 架构说明和完整的 CLI 参考,有进一步开发集成需求的团队可以直接参考。
一个值得记住的结论:AI Agent 越强大,审计就越重要。Miasma 事件之后,给 Agent 加上不可篡改的操作记录链不是可选项,而是防守底线。