AI 审计日志是什么
审计日志要能回答两个问题:谁在什么时间用什么模型做了什么,以及什么被拦下了。因此需要记录调用元数据、工具操作、策略命中与处置结果。留存期要满足不少于六个月的硬要求,同时日志本身要脱敏,并具备防篡改能力。分层设计是关键:调用元数据适合长期聚合统计;内容只存摘要或哈希,避免全文落盘;安全事件重点留存、支持取证;密钥类只记使用事件,不记密钥值。
日志分层设计
| 层级 | 内容 | 注意点 |
|---|---|---|
| 调用元数据 | 调用者、模型、token 数、延迟、结果状态 | 可长期聚合做统计与成本归因 |
| 内容摘要 | 输入输出摘要或哈希 | 避免全文落盘,降低泄露面 |
| 安全事件 | 拦截命中、越狱尝试、敏感工具操作 | 重点留存,支持取证与复盘 |
| 密钥审计 | 密钥使用、轮换与异常来源 | 只记事件,不记密钥值 |
基本信息
| 留存期限 | 不少于六个月,且可检索可导出 |
|---|---|
| 覆盖范围 | 网关日志、模型调用日志、内容审核日志 |
| 脱敏要求 | 日志本身不得成为第二个泄露源 |
| 完整性 | 需具备防篡改机制,出事后能证明未被修改 |
| 日志分层 | 元数据长期聚合,内容仅存摘要或哈希 |
| 排障日志 | 与审计日志分开存放,避免滚动覆盖 |
典型使用场景
- 事件复盘:定位某次不当输出由哪次调用产生
- 越狱取证:还原攻击者使用的会话与手法
- 成本归因:从调用元数据统计各业务用量
- 合规核查:证明拦截与处置流程确有执行
- 工具操作追溯:还原敏感动作的调用者与参数
日志条目结构
日志条目结构
{
"ts": "2026-10-12T10:00:01+08:00",
"actor": "user:10023",
"model": "gpt-4o-mini",
"prompt_tokens": 812,
"completion_tokens": 156,
"flags": ["tool:http_request"],
"verdict": "allow",
"input_hash": "sha256:...",
"trace_id": "..."
}
# 只存哈希与元数据,不存完整对话原文
# trace_id 串联网关、模型与审核日志,便于关联排查日志里存完整对话等于制造第二个泄露源:默认只存摘要或哈希,仅对明确需要取证的内容做受限全文保留。
排障日志与审计日志必须分开:排障日志通常只滚动保留几天,混在一起会让审计证据被自动清理掉。