2.2 KiB
2.2 KiB
ADR-007:AIOS V2 Run Provenance 可信执行来源控制
- 状态:已采纳
- 日期:2026-07-20
- 影响范围:Runtime 执行、Evidence、GitOps、部署、回滚、审计
1. 背景
AIOS V2 在进入预生产阶段前,需要证明每一次高权限动作来源可信。仅依靠进程内 runId、sender 或任务字段无法证明:
- 谁授权了执行;
- 执行是否属于当前任务;
- Git、部署、回滚和 Evidence 写入是否经过批准;
- 是否存在重放或伪造运行记录。
2. 决策
引入 Run Provenance:
Owner / Control Plane
|
v
Ed25519 Signed Provenance
|
v
Persistent Provenance Store
|
v
Controlled Writer
|
v
Runtime / GitOps / Deploy / Evidence / Rollback
3. 七类受保护路径
生产 Provenance 必须覆盖:
- code_change
- git_operation
- deployment
- runtime_execute
- evidence_write
- rollback
- audit
任何未授权路径默认拒绝。
4. 安全规则
- 私钥只用于签发端。
- Runtime 只持有公钥验证能力。
- Provenance 使用 Ed25519 签名。
- 状态持久保存 issued、verified、used、expired、revoked。
- 相同 provenance/path/request_digest 不允许重复授权。
- Secret 不进入 Git、日志和 Evidence。
5. 实现映射
代码:
active-runtime/app/aios_v2/provenance.py
active-runtime/app/aios_v2/provenance_git.py
active-runtime/app/aios_v2/provenance_operations.py
active-runtime/app/aios_v2/provenance_cli.py
接入:
orchestrator.py
execution_tracking.py
app.py
6. 验收要求
必须验证:
- 签名正确执行;
- 篡改拒绝;
- 过期拒绝;
- revoke 拒绝;
- replay 拒绝;
- 无 Provenance Runtime Dispatch 拒绝;
- 无 Evidence 授权写入拒绝;
- 无 Git 授权操作拒绝;
- 无 Deployment/Rollback 授权拒绝。
7. 回滚
若 Provenance 服务异常:
- 不允许降级绕过安全检查进入生产;
- 候选环境可以在明确测试配置中关闭强制模式;
- 生产模式必须保持 AIOS_REQUIRE_RUN_PROVENANCE=true。
8. 后续演进
生产阶段可进一步接入:
- HSM/KMS;
- 外部不可变审计;
- 多签审批;
- 硬件密钥认证。