Halo:面向 AI 代理的开源防篡改运行时证据
Halo:面向 AI 代理的开源防篡改运行时证据
Halo 为 AI 代理行为提供可验证的审计轨迹
Halo 是一个开源框架,旨在为 AI 代理创建防篡改的运行时记录。它将每一次代理行为——包括工具调用、模型调用、数据访问和批准——转化为追加式、哈希链式日志。这样任何方都可以验证代理的操作历史未被修改,无需信任运行代理的供应商。
核心架构与信任模型
通过哈希链实现防篡改
为确保完整性,Halo 使用基于 SHA-256 的哈希链机制。每条记录的哈希通过对记录本身(不包括其自身哈希)以及前一条记录的哈希进行计算得到。数据在哈希前使用 RFC 8785(JSON 规范化方案)进行规范化。这样形成的链条意味着对任意先前记录的修改都会使后续所有哈希失效。链的第一条记录的 prev_hash 为 64 个零。
完整性 vs. 完备性
Halo 区分两种验证方式:
- 完整性(Integrity): 自持链证明事后没有任何编辑或重新排序。然而,自持链无法证明记录没有被整体删除或链从未启动。
- 完备性(Completeness): 为证明未删除记录,Halo 使用“见证人”系统。见证人是持有链的周期性指纹(记录计数和链头哈希)的外部方。通过将链头锚定到见证人,运营者可以向客户证明日志是完整的且未被截断。
安全与隐私设计
为尽量降低引入漏洞或泄露数据的风险,Halo 采用以下约束:
- 零运行时依赖: Python 实现仅使用标准库,这意味着
pip install halo-record不会安装任何第三方包。 - 无网络调用: 除了可选的见证人客户端,记录器不进行网络请求;记录内容始终保留在所有者的基础设施内。
- 数据脱敏: 原始输入不存入记录。参数会被哈希并以正则表达式脱敏的方式存储为摘要,以隐藏常见的个人身份信息和机密。这是一种深度防御手段,而非完整保证。
- 可审计性: 代码库体积小(约 4,300 行 Python),便于人工安全审计。
集成与实现
部署选项
Halo 可通过多种方式集成到 AI 代理工作流中:
- 原生记录器: 使用
from halo import trace,开发者可以在代理入口点包装,以直接将工具调用记录到.jsonl文件。 - 适配器: Halo 提供针对 OpenTelemetry GenAI spans、LiteLLM 回调、LangChain/LangGraph、OpenAI Agents SDK 以及 Vercel AI SDK(通过
halo-record-tsTypeScript 包)的适配器。 - 钩子: 对于 Claude Code 等工具,Halo 可配置为
settings.json中的PostToolUse钩子,记录文件写入、Shell 命令等操作,无需对代理代码本身进行更改。
工具与 CLI
Halo CLI 提供以下主要功能:
halo verify:验证模式和哈希链完整性。halo report:将链渲染为自验证的 HTML 运行时报告。halo serve:通过 HTTP 为每个租户提供报告,支持客户范围的访问控制。halo anchor:对链头进行见证,以验证完备性。
合规性与监管对齐
Halo 充当证据层,为各种 AI 合规框架生成制品。虽然它不提供认证,但提供了所需的可验证数据,用于:
- SOC 2 与安全问卷: 用可验证的运行时报告取代文字说明和截图。
- 欧盟 AI 法案(EU AI Act): 满足高风险 AI 系统的日志记录和存档义务。
- OWASP GenAI 安全项目: 为过度代理和工具滥用等风险提供证据。
- AARM(CSA): 生成 R5/R6 中规定的防篡改操作收据。
- ISO 42001 / NIST AI RMF: 为管理体系控制提供运营证据。
摘要: Halo 是一个开源的哈希链日志系统,提供 AI 代理行为的防篡改运行时记录,以确保审计性和合规性。
标题: Halo:面向 AI 代理的开源防篡改运行时证据