Verity

一次本机运行的签名记录

凭证记录 Verity 检查了什么、使用了哪个仓库副本、在哪里运行,以及何时运行。签名可以发现这份记录后来是否被修改。

凭证记录什么

当前原始 schema 是 `verity-verification-receipt.v3`。它将结果绑定到仓库与快照指纹、所选目标、记录的宿主与执行环境、完成阶段、机器 Oracle、时间和本机 Ed25519 签名。

完整凭证留在本机。它可能包含路径和详细执行证据,应当按本机诊断材料处理。

何时接受验证结果

verity verify-receipt RECEIPT.json \
  --repository C:\path\to\repository \
  --json

只有以下条件同时满足,`accepted` 才为 true:

  1. schema 严格等于 `verity-verification-receipt.v3`;
  2. Ed25519 签名有效;
  3. 当前仓库指纹匹配;
  4. 原始 snapshot 与 repository 指纹一致;
  5. 记录的结果为 `verified`。

旧 schema 会被拒绝。

稳定拒绝原因

原因含义
`tampered`签名内容已无法验证。
`stale`当前仓库与记录指纹不同。
`wrong-repository`凭证属于另一个仓库。
`unsupported-schema`凭证 schema 不是当前接受契约。
`not-verified`原始运行没有得到已验证结果。

JSON 响应包含什么

`verity-receipt-verification.v1` 只返回凭证标识、结果、签名状态、指纹匹配状态、`accepted` 与稳定原因码。它不返回源码、路径、日志、阶段输出或命令输出。

本机签名只证明本安装的防篡改状态。它不证明操作者身份,也不构成远程身份或仓库安全认证。

与 Agent Guardrails 配合

Agent Guardrails 不依赖 Verity。只有显式传入凭证才会消费:

agent-guardrails check \
  --verity-receipt .\receipt.json \
  --review

接受的凭证只提供运行验证证据。scope、security、protected paths、required commands 和 evidence files 仍是独立检查。