
Agent Governance Toolkit 策略引擎的离线可验证证据体系AGT-EVIDENCE-1.0 规范解读【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit本文围绕 Agent Governance ToolkitAGTAgent Control Specification 的治理层仓库中 AGT-EVIDENCE-1.0 规范 展开系统讲解高保证策略分发器SMT 门、机械化证明 PDP、TEE 证明 PDP如何在决策裁决中携带离线可验证证据、运行时如何将该证据做红action脱敏传播到遥测与审计日志以及审计者如何依据审计记录完成可复现的决策验证。读完本文你可以理解 AGT 证据契约的字段语义、4 KiB 体积约束与 fail-closed 失败模式并能对照仓库中的 JSON Schema、Python SDK 与 Rust 遥测实现验证其落地细节。1. 设计动机为什么需要裁决附带证据AGT-EVIDENCE-1.0 规范开篇给出了一个核心问题有些策略分发器policy dispatcher在做出allow/deny/transform决策时希望随裁决一起交付一份对运行时不透明、但可离线验证的证明。规范列出了三类典型分发器SMT 验证门SMT-verified gates—— 离线生成 Z3 / CVC5 证明脚本将其哈希随裁决一起捆绑审计者可以据此重新推导出证明机械化证明 PDPMechanised-proof PDPs—— Coq / Lean / F* 推导出的决策证明存储在证明注册表中TEE 证明 PDPTEE-attested PDPs—— 针对产出决策的二进制执行 SGX / TDX / AMD-SEV 远程证明随裁决附带证明令牌。三者的共同点是证据对运行时runtime而言是不透明的且体积有界。这一设计决定了 AGT 运行时的行为边界——它不解析证明内容、不校验哈希、不拉取任何证明指针只负责把证据原样搬运到遥测和审计通道中。这一opaque propagation不透明传播原则在 SPECIFICATION.md §13.3 中被明确写入主规范The runtime treatsevidenceas opaque. It does not validateartefactand does not fetch anyverification_pointers.2. 裁决级证据evidence字段契约按 SPECIFICATION.md §13.3裁决verdictMAY 携带如下证据对象evidence: { artefact: sha256:hex | uri, verification_pointers: { role: url } }规范对这两个字段给出了严格的实现要求字段约束artefactMUST 是sha256:lowercase-hex内容寻址或 RFC-3986 URI 二者之一verification_pointers键为每个分发器自行文档化的短标识符如issuer_pubkey、policy_registry、attestation_endpoint值是审计者可以咨询的 URI总体积序列化后的 evidence 对象 MUST NOT 超过4 KiB超限的分发器视为失败运行时 MUST 发出runtime_error:policy_output_invalid这个契约在仓库的 wire schema 中有对应落地。verdict.schema.json 将evidence定义为裁决对象上的可选成员并明确标注其来源为 AGT D2: optional opaque evidence object carried by high-assurance dispatchers (SMT-verified gates, mechanised-proof PDPs, TEE-attested PDPs)$defs.evidence同文件 L142-L161进一步把artefact约束为string | null内容寻址或 URI把verification_pointers约束为短标识符 → URI 字符串的映射并对整个证据对象启用additionalProperties: false防止分发器夹带未定义成员。主规范还规定了失败模式任何非对象的evidence包括类型错误的结构都会导致规范化 fail-closed产生runtime_error:policy_output_invalid。这与规范第 2 节超过 4 KiB 即视为失败的要求一致——证据契约本身是 fail-closed 的宁可拒绝整个裁决也不容忍畸形或超大的证据对象。3. 遥测级证据受控脱敏的字段传播当裁决携带证据时运行时总是把证据传播到遥测事件。AGT-EVIDENCE-1.0 规范给出了一张哪些事件可携带证据的映射表事件名为上游 ACS 命名与 SPECIFICATION.md §19 对齐事件携带证据的条件policy.invoked只要裁决带有evidence就总是携带intervention_point.allowed源裁决携带了evidenceintervention_point.denied源裁决携带了evidenceintervention_point.warned源裁决携带了evidenceintervention_point.escalated源裁决携带了evidenceintervention_point.transformed源裁决携带了evidence关键的红actionredaction规则是每个事件上运行时只发出两个证据相关字段——evidence_artefact裁决中artefact字符串的原文evidence_verification_pointer_keysverification_pointers键名的排序列表不含 URL 值。verification_pointers的 URL 值被刻意排除在遥测之外目的是限制遥测基数bounded telemetry cardinality——URL 通常携带高基数的主机名、路径或令牌直接进入指标/日志会破坏遥测系统的聚合能力。完整的指针映射由审计日志承载见下文第 4 节审计者从审计记录中恢复。这一脱敏契约在仓库中有可对照的实现证据Rust 核心遥测序列化把这两个字段作为事件 JSON 的稳定成员输出见 telemetry_sinks.rsevidence_artefact: self.evidence_artefact与evidence_verification_pointer_keys: self.evidence_verification_pointer_keysPython SDK 的TelemetryEvent在结构层面就杜绝了 URL 泄漏见 _telemetry.py字段注释明确dataclass holds no policy-target payload, no snapshot payload, no annotator output, no transform value, and no pointer URL value且evidence_verification_pointer_keys存的是tuple(sorted(evidence.verification_pointers))同文件 L168-L175即从裁决提取证据时只保留排序后的键名跨语言一致性由 parity 测试夹具固定例如 telemetry_redaction_canonical.json 与 Python 侧的 test_telemetry.py、test_transform_evidence_identity.py确保 Rust 桥与 Python/其他 SDK 发出的事件形状和脱敏行为一致OpenTelemetry 绑定integrations/otel把这些事件映射为 OTel 计数器/直方图是规范允许的一种受支持集成而非一致性必要条件。4. 审计记录与审计者验证流程AGT-EVIDENCE-1.0 第 4 节要求AGT 主机为每一次引擎评估写入的审计记录 MUST 包含下表全部字段字段来源evidence_artefact当裁决携带evidence.artefact时取自裁决原文verification_pointers当裁决携带evidence.verification_pointers时取自裁决的完整映射input_identitySPECIFICATION.md §13.1 定义的动作身份enforced_identity同上intervention_point请求policy_idmanifestmode请求verdict运行时reason裁决dispatcher该策略配置的分发器两个值得注意的设计点双身份字段input_identity与enforced_identity都是策略输入的规范化sha256:摘要是审计记录与策略当时看到的确切干预点、策略目标、快照、注解之间的稳定绑定键。对于非 transform 裁决二者相等但记录仍然同时携带两个字段使审计消费者可以依赖稳定的 schema审计与遥测的分工遥测只放指针键名审计记录放完整verification_pointers映射。这样遥测基数有界审计链路又完整可复现。规范给审计者定义的四步验证流程是整套证据体系的目标从审计记录读取evidence_artefact与verification_pointers通过指针 URL 或内容注册表取回证明 blob验证证明对应input_identity策略当时看到的内容当裁决是transform时还要验证发布的证明覆盖enforced_identity主机实际执行的内容证明验证通过则该决策是**可复现reproducible**的。第 3 步中区分input_identity/enforced_identity的细节尤其重要transform裁决会替换策略目标策略看到的世界和主机实际执行的世界可能不同证据必须覆盖后者才谈得上对执行结果的背书。5. 迁移边界与参考分发器规范的迁移边界规定遗留证据载体legacy evidence carriers仅由单向的 AGT 迁移命令解释运行时实现直接消费本规范定义的 ACS 裁决与遥测字段不再兼容旧格式。AGT 规划了三个参考分发器按规范位于integrations/dispatchers/下覆盖第 1 节列出的三类动机分发器形态行为agt-dispatcher-smt-z3Rust Python发出 Z3 脚本的artefact: sha256:agt-dispatcher-tee-sgxRust Python发出artefact与verification_pointers.attestation_endpointagt-dispatcher-static-proof读盘从磁盘读取预生成证明并附加到裁决需要注意的适用前提规范明确标注这三个参考分发器排期在 M5 / 5.0 之后不是 5.0 GA 的必要项文档版本为1.0.0-alpha状态为 Draft。从源码结构看当前仓库 policy-engine/integrations 目录已包含otel、mcp、openai、rig、annotators等集成但尚未包含dispatchers/子目录与尚未随 5.0 GA 交付的说明相符。也就是说现阶段读者可以把本规范当作**契约先行contract-first**的接口定义来理解SDK 与运行时的证据传播/脱敏/审计字段已经就位参考分发器本体待后续里程碑补齐。6. 一致性Conformance要求一个 AGT SDK 要声明符合本规范需同时满足三条无损往返在裁决上 round-tripevidence字段而不丢失任何成员遥测传播在携带证据裁决的遥测事件上发出evidence_artefact与evidence_verification_pointer_keys且键名排序、不含 URL审计持久化在 SDK 写入的任何审计记录中持久化完整的evidence对象含verification_pointers完整映射。这三条正好对应第 24 节讲到的三个契约层次wire 层schema 校验与 fail-closed、遥测层受控脱敏传播、审计层完整证据落盘。7. 小结AGT-EVIDENCE-1.0 用一份很短的规范定义了一套完整的离线可验证决策证据体系分发器侧只承担生成有界≤4 KiB、可寻址的证据对象的义务运行时侧只承担不透明搬运 键名脱敏传播 完整落盘审计的义务审计者侧则获得一条清晰的四步复现路径。它对实现者的核心启示是证据契约 fail-closed畸形或超大的evidence一律导致runtime_error:policy_output_invalid而不是静默丢弃遥测与审计分层遥测只放低基数的evidence_artefact和排序后的指针键名完整指针 URL 只进审计记录兼顾可观测性基数约束与审计完整性transform 场景的双身份校验验证transform裁决的证据时必须覆盖enforced_identity这是该规范在可验证性上的一个精细设计点。如需继续深入可对照阅读AGT-EVIDENCE-1.0 原文、SPECIFICATION.md§13 裁决与 §19 遥测审计、verdict.schema.json、Python SDK 遥测实现 及其 测试以及跨语言 parity 夹具 telemetry_redaction_canonical.json。【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考