b7n0de/proofbundle

GitHub: b7n0de/proofbundle

proofbundle 将 AI 评估结果转化为带有 Ed25519 签名和 Merkle 包含证明的可离线验证 JSON 凭证,使得任何人都能独立核查结果的签发者身份与完整性。

Stars: 1 | Forks: 1

b7n0de, Verified AI Work

proofbundle

**将 AI 评估结果转化为一份可移植、可离线验证的凭证。** 它证明的是*谁对这些确切的字节进行了签名*以及*此后没有任何改动* —— 而不是数字本身 是否真实。Ed25519 + RFC 6962 Merkle,单文件,无需服务器,无需网络。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/39/39faa54be350a1dab8afd3b2fb8c1c83e4d9cff84abfef2374d19a18053687c4.svg)](https://github.com/b7n0de/proofbundle/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/license-MIT-D6248A.svg)](LICENSE) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Mutation tested](https://img.shields.io/badge/tests-mutation_gated-D6248A.svg)](scripts/mutation_check.py)
## 问题所在 你读到的每一个 AI 评估数值 —— 安全基准、能力得分、排行榜条目 —— 都是一个 **无法验证的声明**。你选择信任实验室。目前没有一种可移植的方法能够在离线状态下核查一个结果 是否由声明的参与方签名、是否被篡改过,以及是否涵盖了其声称的样本。 proofbundle 就是这样的核查工具。它是一个采用 MIT 许可证的轻量级 Python 工具(一个紧凑、可审计的可信核心, 仅依赖于 [`cryptography`](https://cryptography.io)),可以将结果转换为带有签名的 凭证,任何人都可以通过单个文件进行验证 —— 并且它对自身的边界有着诚实的界定。 ## 60秒试用(离线,免安装) ``` pip install "proofbundle[eval]" proofbundle demo ``` 你将看到一次诚实的凭证验证 `=> OK`,接着是六次独立的篡改每次都验证为 `FAILED`,然后是一个 被调包的样本被抓获 —— 所有这些都在内存中进行。如果任何篡改漏网,该命令将以非零状态退出, 因此它也是一个自测过程。完整演示:**[docs/DEMO.md](docs/DEMO.md)**。 ``` # 你自己的收据,来自一个 signed payload: proofbundle emit --payload-file result.json --new-key signer.key --out receipt.json proofbundle verify receipt.json # exit 0 = OK, 1 = failed, 2 = malformed ``` ## 凭证证明了什么 —— 以及没有证明什么 | ✅ 它证明了 | ❌ 它**没有**证明 | |---|---| | 这些确切的字节由该密钥签名(**作者身份**) | 数值是**真实的** | | 自签名以来没有任何更改(**完整性**,Ed25519 + RFC 6962) | **签发者是诚实的** | | 结果可归属于声明的签发者 | **评估设计是合理的** | | 在隐藏模型/数据集的同时达到了某个阈值(加盐的 commitments) | **没有进行优选(cherry-picking)** —— 除非已预先注册 | | 可选:单个样本,可离线审计(基于样本的 Merkle) | **计算是正确的** —— 那需要 TEE 或独立复现 | 这条边界正是其核心所在,而非缺陷。凭证使得一项声明具备**可归属性、防篡改性, 并且 —— 结合预先注册和逐样本审计 —— 成为有界且可抽查的**。完整细节: **[THREAT_MODEL.md](THREAT_MODEL.md)**。 ## 组合方式 ``` flowchart LR H["eval harness
inspect_ai · lm-eval · promptfoo · pytest"] --> A["adapter → signed claim
salted commitments · provenance · samples root"] A --> R["receipt
one portable file"] R --> V{{"proofbundle verify — offline"}} V --> C["signature · Merkle inclusion · SD-JWT/KB ·
witness quorum · status list · sample openings"] C --> OK(["=> OK / FAILED"]) style V fill:#D6248A,stroke:#D6248A,color:#fff style OK fill:#D6248A,stroke:#D6248A,color:#fff ``` ## 包含的内容 - **核心** —— Ed25519 签名 + RFC 6962 / 9162 Merkle 包含证明,完全离线验证。检查 真实的 [Sigstore Rekor](https://docs.sigstore.dev/) 证明,因此正确性并非自说自话。 - **评估凭证** —— 来自你运行任务的签名声明(`metric ⋈ threshold`,`n`,加盐的模型/数据集 commitments, 保证级别,来源)。参见 [EVAL_CLAIM.md](EVAL_CLAIM.md)。 - **选择性披露** —— 带有 Key Binding 的 SD-JWT ([RFC 9901](https://datatracker.ietf.org/doc/rfc9901/)):在隐藏确切分数的同时证明达到了阈值。 - **透明日志互操作** —— C2SP `tlog-checkpoint` / cosignature / `.tlog-proof`,支持 后量子 **ML-DSA-44** 见证共签。可选的 Token-Status-List 吊销快照。 - **逐样本审计** —— 对每个样本进行 commitment;审计员挑战随机索引(使用新鲜的 nonce 或**公共随机信标**,v1.9),并且开包必须绑定到已签名的 root。在 300 个样本的情况下, 无论运行规模如何,都能以 95% 的置信度捕获 1% 的样本篡改。 - **预先注册** —— `proofbundle prereg ` 在运行前对协议进行 commitment,从而使 多次结果中的优选行为变得可见。 - **集成** —— 可选的 inspect_ai 任务结束 hook 和 pytest 插件(仅在 `PROOFBUNDLE_EMIT=1` / `--proofbundle` 时发射),以及 Hugging Face Community Evals 桥接。参见 [INTEGRATIONS.md](INTEGRATIONS.md)。 ## 文档 | 面向… | 阅读 | |---|---| | 怀疑论者(为什么不使用 SHA-256 / Sigstore / 信任签发者) | [docs/FAQ.md](docs/FAQ.md) | | 新手?通俗术语表 | [docs/GLOSSARY.md](docs/GLOSSARY.md) | | 审核员(30分钟对抗性审计路径) | [docs/REVIEWERS.md](docs/REVIEWERS.md) | | 每个信任锚(trust anchor)的来源 | [docs/TRUST_ANCHORS.md](docs/TRUST_ANCHORS.md) | | 逐级演示 | [docs/DEMO.md](docs/DEMO.md) | | 规范格式 + 验证顺序 | [SPEC.md](SPEC.md) | | 与 Rekor / in-toto / OMS / ValiChord 的客观对比 | [INTEROP.md](INTEROP.md) | | 合规性映射(以及绝对不能声称什么) | [COMPLIANCE.md](COMPLIANCE.md) | | 资助方 / 角色定位 | [docs/PROJECT_BRIEF.md](docs/PROJECT_BRIEF.md) | | **预览:** TEE 认证桥接(v2.0 beta) | [docs/EXPERIMENTAL_ENCLAVE.md](docs/EXPERIMENTAL_ENCLAVE.md) | ## 安装 ``` pip install proofbundle # core: offline verify + plain emit (dependency-free) pip install "proofbundle[eval]" # + eval receipts, prereg, and the demo (adds an RFC 8785 JCS canonicalizer) pip install "proofbundle[inspect]" # inspect_ai adapter + hook pip install "proofbundle[pq]" # verify ML-DSA-44 (post-quantum) witness cosignatures ``` 要求 Python 3.10+。验证路径绝不自行实现加密 —— Ed25519 来自 `cryptography`;Merkle 哈希采用 RFC 6962。 ## 状态与范围 Beta 阶段,承诺遵守 SemVer,包含 303 个测试 + CI 变异测试门控 + 基于属性的解析器模糊测试。正确性 锚定于外部 RFC 6962 向量和真实的 Rekor 证明,而不仅仅是其自身的 bundle。它 **不是**日志服务、完整的 in-toto 客户端、TEE、共识网络或合规产品 本身 —— 它是介于它们之间的轻量级、离线、原生标准的凭证层。安全政策: [SECURITY.md](SECURITY.md)。 ## 许可证 MIT —— 参见 [LICENSE](LICENSE)。

proofbundle 是 b7n0de(Verified AI Work)的一部分 · b7n0de.com

标签:CVE, IaC 扫描, Python, 人工智能, 区块链/证明, 安全规则引擎, 密码学, 手动系统调用, 数字签名, 数据验证, 无后门, 用户模式Hook绕过, 逆向工具