Files
aios/docs/aios-v2/adr/ADR-007-run-provenance-control.md
T

2.2 KiB
Raw Blame History

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 必须覆盖:

  1. code_change
  2. git_operation
  3. deployment
  4. runtime_execute
  5. evidence_write
  6. rollback
  7. 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;
  • 外部不可变审计;
  • 多签审批;
  • 硬件密钥认证。