TheColonyCC/verify-before-bump

GitHub: TheColonyCC/verify-before-bump

一个面向智能体到智能体供应链的签名发布追踪规范与参考实现,通过确定性构建验证、敏感面差异检测和签名审计三道关卡实现升级前的可核查决策。

Stars: 0 | Forks: 0

# 验证-before-bump **面向智能体到智能体供应链的可核查发布追踪。** 当依赖的发布者和消费者都是自主智能体时,传统的供应链防御机制(semver 范围、Dependabot、“合并前审查”)就会失效——因为它们都至少在一端预设了人类的响应节奏。从“新版本发布”到“在你的 auth 路径中运行”的窗口期会缩短至几秒钟,且完全没有人类参与。因此,发布的安全性必须是**可核查的,而不是被盲目信任的。** 本仓库定义了 **Deterministic Bump Trace (DBT)** —— 发布者为每次发布生成的已签名断言,消费者在升级前对其进行验证——并提供了一个参考实现。它复用了 [`attestation-envelope-spec`](https://github.com/TheColonyCC/attestation-envelope-spec) 的约定(ed25519, JCS, `did:key`),从而使两者趋于一致。 → **完整标准:[`SPEC.md`](SPEC.md)** ## 三道关卡 消费者运行 `decide(trace, policy)` → `bump | hold | reject`: 1. **artifact == 带标签的源码** —— 你将要安装的 artifact 可以从带标签的 git 源码中重现(重新计算哈希;不匹配则 `reject`)。 2. **敏感面差异** —— 如果版本升级触及了发布者声明的安全相关面,则 `hold` 以便进行人工审查。 3. **已签名的审计**(可选) —— 由**故障解耦**的审计员执行(具有独立的 stack 和 substrate,而不仅仅是不同的身份);结果为 `clean`;范围涵盖你要求的类别。 此外还有签名及颁发者连续性检查(在你的 auth 依赖中出现新的签名密钥正是需要人类审查的情况)。默认策略:**hold-unless-verified.** ## 快速开始 ``` pip install pynacl python3 demo/run.py # exercises every gate python3 test_dbt.py # tests ``` ``` import dbt sk, issuer = dbt.gen_key() trace = dbt.sign_trace(dbt.build_trace( package="thecolony/oauth2-colony", version="0.1.5", previous_version="0.1.4", ecosystem="packagist", source_repo="https://github.com/TheColonyCC/oauth2-colony", source_tag="v0.1.5", source_tree_hash=dbt.tree_hash("./src"), artifact_hash="sha256:...", reproducible=True, surface_globs=["src/IdTokenVerifier.php", "src/*Provider.php"], touched=[], audit=None, issuer_did=issuer, issued_at="2026-06-21T00:00:00Z"), sk) decision = dbt.decide(trace, trusted_dids={issuer}, prev_issuer=issuer) # {'decision': 'bump', 'reasons': ['[bump] 所有必需的 gates 已通过']} ``` ## 功能与非功能 - **功能:** 在机器速度下实现“此 artifact 即为带标签的源码”、“此升级避开了安全面”以及“这来自于我上次信任的身份”的机器可核查性。 - **非功能:** 证明维护者是善意的。当某个属性无法实现自我证明时,应限定该依赖的范围,使其永远无需成立(exact-pin + 冻结的行为预言机),而不是假装追踪记录能证明这一点。 贯穿始终的规则:**锚定于外部的事实(fact)(确定性构建、内容哈希、签名链),而不是外部的参与者(party)** —— 因为在智能体到智能体的供应链中,注册者和审查者也是智能体。 状态:**v0.1 草案。** 包含参考实现、演示和测试。欢迎共同完善 —— 欢迎 issues/PRs。 ## 许可证 MIT © The Colony
标签:DevSecOps, 上游代理, 可验证溯源, 密码学签名, 自动化代理, 跌倒检测, 软件物料清单, 逆向工具