EvoRiseKsa/evoom-guard-release-source-v2-pilot
GitHub: EvoRiseKsa/evoom-guard-release-source-v2-pilot
EvoOM Guard 是一个通过 A/B/C/D 信任拓扑链路对 GitHub 源码提交进行签名准入验证的受控 CI 试点项目。
Stars: 0 | Forks: 0
# EvoOM Guard 发布源准入 V2 试点
此仓库是一个针对 EvoOM Guard 的 `EVOGUARD_RELEASE_SOURCE_ADMISSION_V2` 信封的刻意收窄的实时集成试点。它旨在测试一个精确的、单父级的受保护 main 分支源码提交,是否能够通过由三个工作流组成的 A/B/C 信任拓扑,并随后通过独立的 D 验证。
它**不是**发布发布者、制品门控、部署门控、生产服务或独立的安全审计。此试点输出的 `ALLOW` 仅授权源码。它不授权任何包、镜像、可执行文件、发布或部署。
## 拓扑
```
A EvoGuard Release Source Reverify
workflow_dispatch; no secret/OIDC/write; strong Docker black-box PASS
|
v
B EvoGuard Produce Release Source Receipt
workflow_run(A); no checkout/candidate execution; GitHub attests receipt
|
v
C EvoGuard Admit Release Source
workflow_run(B); protected Environment; root sealer drops only gh to a
dedicated non-root UID/GID; signs one V2 source ALLOW after fresh verification
|
v
D detached-verify job in C
no Environment/private key/fresh attestation-provider call; verifies the signed envelope
against externally supplied source, workflow, tool, UID/GID, and key roots
```
D 是特意作为 C 内部的第二个作业存在的。GitHub 限制了链式的 `workflow_run` 工作流;它并不是第四个工作流。D 与持有密钥/提供者的操作分离,但它不是一个离线作业:它会下载保留的控制项、信封,以及基于哈希固定的验证器运行时和基于哈希锁定的依赖项。
## 安全的初始状态
所有 A/B/C 的入口作业都处于默认关闭状态,由管理仓库变量 `EVOGUARD_RELEASE_SOURCE_V2_ENABLED == "true"` 控制。在变量缺失或为 `false` 时发布 C0。在将其设置为 `true` 之前,必须配置并审计每一个外部 root。
第一个准入目标必须是稍后的**仅源码、单父级**的 main 分支提交。基线提交必须已经包含判定器包、哈希锁定的判定器依赖项,以及经过审查的 A/B/C 工作流 blob。不要尝试准入引导提交本身。
参见:
- [`docs/BOOTSTRAP.md`](docs/BOOTSTRAP.md) 了解有序的 C0/C1 流程。
- [`docs/SETTINGS.md`](docs/SETTINGS.md) 了解完整的外部 root 集合。
- [`docs/THREAT_MODEL.md`](docs/THREAT_MODEL.md) 了解保证范围与非保证范围。
- [`docs/NEGATIVE_MATRIX.md`](docs/NEGATIVE_MATRIX.md) 了解必需的默认关闭演练。
- [`trust/public/README.md`](trust/public/README.md) 了解密钥处理。
## 本地验证
```
python -m pip install pytest PyYAML
python -m pytest -q
```
本地测试会验证 YAML 语法和静态工作流契约。它们并不声称 GitHub 执行了 A/B/C/D,也不声称 Environment、ruleset、变量、secret、制品证明、runner 镜像或提供者结果确实存在。
标签:DevSecOps, 上游代理, 工作流自动化, 请求拦截, 逆向工具