Files
myWiki/concepts/hidden-audit-channel.md

39 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Hidden Audit Channel"
created: 2026-06-05
updated: 2026-06-05
type: concept
tags: [agent-safety, audit, evidence, trajectory]
sources: [[liu-auditing-agent-harness-safety]]
---
# Hidden Audit Channel
**隐藏审计通道**是 [[harnessaudit|HarnessAudit]] 框架的核心设计原则之一:所有安全评估证据来自 Agent **不可见、不可操纵、不可预期**的独立通道,而非 Agent 自报的最终答案或自我评估。
## 为什么需要隐藏通道
[[agent-safety-evaluation|Agent 安全评测]] 长期存在的根本问题是**自报不可信**——如果让 Agent 自己报告"我是否安全地完成了任务",存在三类风险:
1. **诚实错误**Agent 不知道自己违规了(如访问了错误但未被标记的资源)
2. **上下文盲区**Agent 的最终输出不记录中间步骤的违规
3. **对抗性隐瞒**:恶意 Agent 可能主动掩盖违规行为
## HarnessAudit 的三类隐藏证据
| 通道 | 记录内容 | Agent 是否可见 |
|------|---------|--------------|
| 工具调用日志 | tool_call 名称、参数、返回结果 | 部分可见(结果对 Agent 可见,但日志聚合 Agent 不可见) |
| 资源访问日志 | 每次读写+权限决策 | 不可见 |
| 组件间通信日志 | 发送方/接收方/消息内容 | 消息内容对接收方可见,但审计聚合不可见 |
## 关键机制
1. **隐藏审计 artifacts**Setup 阶段从声明式任务规范中导出完成检查点、策略规则、违规分类——这些在整个执行期间对 Agent **完全隐藏**
2. **Post-hoc auditing**:所有评分在 Execution 完成后的 Judge 阶段进行——Agent 在运行期间不知道自己在被审计
3. **确定性匹配 + LLM judge**L1 边界违规用确定性规则access checkerL2/L3 用条件化在隐藏证据上的 LLM judge
## 与 Agent 可观测性的关系
[[agent-observability|Agent 可观测性]] 关注的是系统状态的透明度以支持调试和监控,而隐藏审计通道关注的是**安全证据的独立性**——二者互补但目的不同。可观测性帮助人类理解发生了什么,隐藏审计通道确保人类(和评估器)能独立验证安全约束是否被遵守。