@ ailu-ai/ 验证
离线、 独立核查人 Ailu 执行证书 - 签字的审计出口
捆绑( e)GET /runs/:id/audit-export) (中文(简体) ). 它检查完整性并重放 从太空舱独自, (中文(简体) ),
没有控制飞机。 认证需要独立获取的发行者密钥 .
npx @ailu-ai/verify capsule.json
# The command above checks integrity only: at best INTACT (origin not proven), exit 3.
# Pin the signing key you obtained out-of-band to verify the issuer:
npx @ailu-ai/verify capsule.json --key <base64-spki-public-key>
三次独立检查:
- 签名 - Ed25519 完毕
sha256(bundle − signature)与嵌入式密钥相对. - 链式 ——批准证明链与散列相连,每个签名都有效.
如果记录缺失或为空, CLI 显示
— not applicable (no records)。 。 。 . - 重播 - 运行是 在开放源码软件引擎上重新生成 从嵌入式
{ graph, entryState, journal }并且必须到达 同经证实的裁决,顺序:工具呼叫其代理人要求,然后 人类的大门,它停在那里replayedDecisions从@ailu-ai/graph-sdk) (中文(简体) ). 不要相信我们.. 重新运行它自己.
判断和退出代码(verdict 在图书馆:
| 判决 | 退出 | 含义 |
|---|---|---|
已证实 (单位:千美元)verified(中文(简体) ) | 0 | 密钥被钉住,签名被封住, 每张记录都由该密钥签名, 重播复制 已证实的决定 |
未证实 (单位:千美元)not-verified(中文(简体) ) | 1 | 检查失败: 签名、 被钉住的密钥、 链条、 重放 —— 或 胶囊 证明已经签名的决定, 但没有复制( 否) reproduction,或者一个没有 graphDefinition 或者说 entryState: replay missing |
| 使用错误 | 2 | 没有胶囊, 一个无法读取的胶囊,或者 --key 无值 |
进口 (单位:千美元)intact(中文(简体) ) | 3 | 每一个可以通过检查的检查,但有没有证明:来源(否) --key: 发行者是 已销毁)或跑步(无决定和再生:没有再生) |
ok 实值 verdict === "verified"· ; issuerTrusted 上面写着签名在被钉住的钥匙下.
信任锚. 无
--key时,签名将对照密钥进行校验 内部 胶囊.. 伪造者可以用自己的钥匙重新签署一个被医用胶囊. 过--key有你信任的钥匙 (从发行人那里通过一个可靠的渠道) 把它钉上。 从一个 无人信任的胶囊不能建立信任.
信托模式. 每一份证明记录都必须由锚定键——被钉住的键——签署
太空舱本身的 (G2). 由任何其他密钥(已退役的发售人密钥,第三方)签名的记录失败
链条 : chainValid 假的,太空舱没有被证实. chainValid 没有
独立认证在 resolvedBy。 。 。 .
未经管理审批的运行可能有一个空链:没有检查任何决定
chainValid 仍然是虚无的真理。 没有复制数据的太空舱 没有重放
(单位:千美元)reproducible 财务报告和审定财务报表 replayValid 假的 : 通过签名的决定, 它不会被验证( 重播)
)),无一是最多INTACT. 当复制数据存在时,回放必须成功.
图书馆用途 :
import { verifyCapsule } from "@ailu-ai/verify";
const result = await verifyCapsule(capsule, { expectedPublicKey });
// → { signatureValid, keyPinned, issuerTrusted, chainValid, replayValid, reproducible, verdict, ok, notes }
重放后腿需要本土引擎(@ailu-ai/napi在你的平台上.
被证实的行为和不行为
已证实 表示:胶囊由你所钉的钥匙签名,其证明链完整无缺, 然后从太空舱重跑 得出与签名链接名称相同的决定 ——对于人门,"回放停止于"X口"和"X口"的签名链接名. 没错 没有 即“X出入口”是根据法定人数批准的。 特别是:
-
被钉住的钥匙固定着太空舱和所有记录. 由另一个密钥签名的记录 被钉住的钥匙在胶囊里被拒.
chain不认证 审批人. -
重放开始于图的条目节点. 太空舱的进入状态从别处开始 未证实:重播会跳过部分跑道.
-
重播不叫 LLM 提供者, 也不需要密钥 —— 但是它可能到达您的服务 环境配置. 与
AILU_PII_REDACTOR_URL, (中文(简体) ),AILU_SECRETS_REDACTOR_URL, (中文(简体) ),AILU_LLMLINGUA_URL或者说AILU_RERANK_ENDPOINT设置, 重放使用该服务的图表 将胶囊的内涵传送给它;胶囊没有固定服务,它塑造什么 重放再现. 校对者在标语上发出警告并补充replay may reach: <VARIABLE>改为notes(由CLI打印出):携带这种音符的VIFIED可能依赖于这种服务. 校验下线env -i。 。 。 . -
此时不重放
AILU_FS_BACKEND_URL已经设定. 一个fs启用的代理文件工具是本地的—— 日记不为他们服务——所以重放会把胶囊的内容写到后端. 随着它的设定(除了空字符串之外的任何值, 引擎读取它时—— 空白空间只算为 (胶囊携带其复制并开始于图中的条目) 节点),核查者不重放:它在stderr, notes上警告refused: AILU_FS_BACKEND_URL is set — unset it (env -i) for an offline verification,则 胶囊读作 " 不核实 " (退出1),其签名、密钥和链条仍在报告。 没有重播 计划变量被忽略了: 判决是太空舱挣得的,没有它. -
该决定的地位不作比较. 重播不能复制人类的选择 所以 重放检查忽略
approved编号 :rejected: 有链条rejected链接,然后是approved链接。 阅读签名的链接 给谁决定什么. -
部分签字构成决定. 链接带无
kind无需签名 计算,因此核查者无法从决议中得知法定人数的中间签名,也无法检查 达到法定人数。 同一请求的若干链接(相同的运行、请求编号、主题和 call)算作一个决定;根据同一请求在另一个主题或呼叫下签名的链接 id 这是它自己的决定,必须照搬.