Guardian Audit — 守护审计
v1.0.0与Guardian安全技能配对的防篡改审计日志器。捕获每个破坏性操作决策、代理推理、备份验证结果和人类升级响应,在一个追加仅、哈希链日志中。使用于Guardian或任何安全门卫停止或批准操作时。使用于合规性需要证明AI代理做了什么和为什么时。使用于需要回放、取证或监管审计跟踪代理操作时。触发于任何安全决策、破坏性操作执行、升级事件,或当用户说“log this”、“audit trail”、“compliance”或“what did the agent do”时。
运行时依赖
安装命令
点击复制技能文档
守护审计(Guardian Audit)— 防篡改审计日志记录器 “信任,但记录。” 它是与守护(Guardian)或任何安全门keeper一起使用的伴侣技能,用于捕获每个决定、操作和升级的记录,并将其存储在一个追加式、哈希链的审计日志中。
为什么需要它: 守护(Guardian)阻止了坏的事情发生。 守护审计(Guardian Audit)证明它阻止了这些事情的发生 —— 或证明代理执行了这些操作。
日志记录内容: 每个条目包括:
- 字段:目的
- timestamp:ISO-8601 格式,精确到毫秒
- sequence:单调递增的整数,不允许有间隙
- previous_hash:前一个条目的 SHA-256 哈希值(链式完整性)
- event_type:GUARDIAN_CHECK、GUARDIAN_HALT、GUARDIAN_APPROVE、EXECUTED、ESCALATION_RESOLVED
- agent_id:匿名标识符(无平台特定信息)
- operation:代理尝试执行的操作
- target:文件/路径/数据库/端点
- category:CRITICAL、HIGH、MEDIUM、NON-DESTRUCTIVE
- backup_verdict:VERIFIED、UNVERIFIED、STALE、PARTIAL
- backup_checks:JSON 数组,指示哪些指标匹配
- decision:PROCEED、HALT、AWAITING_HUMAN、DENIED
- approver:guardian-auto、human:anonymous、agent:rejected
- agent_reasoning:代理在当时的理由(引用)
- guardian_notes:守护(Guardian)做出这个决定的原因
- outcome:SUCCESS、FAILURE、TIMEOUT、CANCELLED
- entry_hash:本条目的 SHA-256 哈希值
哈希链:
- Entry[N].previous_hash = SHA256(Entry[N-1].content)
- Entry[N].entry_hash = SHA256(Entry[N].content)
日志格式: 追加式、行分隔的 JSON(NDJSON),每行一个条目: {"timestamp":"2026-05-18T14:02:31.847Z","sequence":42,"previous_hash":"a3f7...","event_type":"GUARDIAN_HALT","agent_id":"agent-7f3a","operation":"rm -rf /tmp/old-builds","target":"/tmp/old-builds","category":"HIGH","backup_verdict":"UNVERIFIED","backup_checks":[],"decision":"HALT","approver":"guardian-auto","agent_reasoning":"Cleaning up old build artifacts","guardian_notes":"Mass delete operation with no backup coverage","outcome":"AWAITING_HUMAN","entry_hash":"9e2b..."}
日志存储位置:
- 平台默认路径
- Windows:%LOCALAPPDATA%\guardian-audit\audit.log
- macOS:~/.local/share/guardian-audit/audit.log
- Linux:~/.local/share/guardian-audit/audit.log
验证脚本: # 验证链式完整性 ./scripts/verify-chain.py audit.log # 输出: "Chain valid: 1,247 entries, 0 breaks" # 或: "CHAIN BROKEN at entry 843: hash mismatch"
与守护(Guardian)的集成: 守护(Guardian)在每个决定后自动调用守护审计(Guardian Audit): 守护(Guardian)决定 → 守护审计(Guardian Audit)日志 → 继续/停止 无需代理执行任何操作。 守护审计(Guardian Audit)是一个被动监听器,记录发生了什么。
独立使用: 守护审计(Guardian Audit)也可以独立工作。 任何安全工具、人工批准或代理操作都可以发出条目: # 从任何代理或工具 from guardian_audit import log_event log_event( event_type="MANUAL_APPROVE", operation="deploy-production", target="api.production.internal", decision="PROCEED", approver="human:anonymous", agent_reasoning="Emergency fix for auth bug" )
为什么重要: 合规框架需要审计日志:
- EU AI 法(第 52 条):高风险 AI 系统必须维护日志
- SOC 2 Type II:变更管理和访问控制证据
- HIPAA §164.312(b):记录和检查活动的机制
- GDPR 第 5(1)(d) 条:准确性和责任
- 代理尝试做什么?
- 守护(Guardian)是否阻止了它?
- 人是否批准了它?
- 代理在当时的理由是什么?
强制规则:
- 只追加:条目永远不会被删除。 日志轮换创建新文件,永远不会修改现有文件。
- 哈希链:每个条目引用前一个条目。 篡改是可检测的。
- 无代理修改:执行代理无法修改自己的审计日志。
- 最小开销:日志记录每个决定增加 <5ms。 无可察觉的延迟。
- 人类可读:NDJSON 格式意味着 tail -f audit.log 在没有工具的情况下是有意义的。
范围:
- 普通:不特定于守护(Guardian)。 与任何安全门keeper、人工批准工作流或代理运行时一起工作。
- 被动:不阻塞或延迟操作。 事后记录。
- 强制:一旦启用,所有安全决定都将被记录。 无会话选择退出。
参考:
- references/LOG-SCHEMA.md —— 完整的字段定义和验证规则
- references/COMPLIANCE-MAPPING.md —— 框架要求(EU AI 法、SOC 2、HIPAA、GDPR)
- references/REPLAY.md —— 如何重放、搜索和分析审计日志
- scripts/log-event.py —— Python 事件记录器(跨平台)
- scripts/verify-chain.py —— 链式完整性验证
- scripts/export-report.py —— 生成合规报告
基于:
- IETF 草案-sharif-agent-audit-trail-00(2026 年 3 月):标准化 AI 代理审计日志格式
- AgentReceipt(2026 年):AI 代理的不可变审计日志
- OWASP Age