58 lines
3.4 KiB
Markdown
58 lines
3.4 KiB
Markdown
# Security Supply Chain Contract Manifest
|
||
|
||
| 項目 | 內容 |
|
||
|------|------|
|
||
| 日期 | 2026-05-12 |
|
||
| 狀態 | 草案 |
|
||
| JSON snapshot | `docs/security/security-supply-chain-contract-manifest.snapshot.json` |
|
||
| Schema | `docs/schemas/security_supply_chain_contract_manifest_v1.schema.json` |
|
||
| 預設 enforcement | `mirror_only` |
|
||
| 原則 | AwoooP 先讀 manifest,再依合約 mirror / read-only policy / approval queue 消費 |
|
||
|
||
## 0. 核心結論
|
||
|
||
目前 Security Supply Chain 已有 12 個主要契約可交給 AwoooP 消費。Manifest 的用途是把分散的 schema、snapshot、人讀文件、允許動作與禁止動作收成一份入口,避免不同 Session 各自解讀。
|
||
|
||
初期預設仍是 `mirror_only`。Manifest 不授權 runtime enforcement、不授權 GitHub/Gitea 主控切換、不授權 repo 建立或 refs sync。
|
||
|
||
## 1. Contract 清單
|
||
|
||
| Contract | Consumption | 主要用途 | Snapshot |
|
||
|----------|-------------|----------|----------|
|
||
| `security_rollout_policy_v1` | read-only policy | 低摩擦 observe-first policy | `docs/security/security-rollout-policy.snapshot.json` |
|
||
| `security_finding_v1` | mirror-only | Kali / code / infra finding | 無正式 snapshot |
|
||
| `coding_task_v1` | suggest-only | Code Review 接 Codex patch-only | 無正式 snapshot |
|
||
| `source_control_migration_event_v1` | mirror-only | Gitea/GitHub refs 差異 | `gitea-github-awoooi`、`clawbot-v5`、`wooo-aiops` |
|
||
| `gitea_repo_inventory_v1` | mirror-only | Gitea repo inventory | public-only / blocked endpoint snapshots |
|
||
| `local_git_remote_inventory_v1` | mirror-only | 本機 remote coverage | `local-git-remote-inventory.snapshot.json` |
|
||
| `github_target_probe_v1` | mirror-only | GitHub target visibility | `github-target-probe.snapshot.json` |
|
||
| `github_target_decision_v1` | mirror-only | GitHub target 決策 | `github-target-decision.snapshot.json` |
|
||
| `github_target_repo_approval_package_v1` | approval-only | 逐 repo approval queue draft | `github-target-repo-approval-package.snapshot.json` |
|
||
| `local_repo_canonical_probe_v1` | mirror-only | momo/ewoooc lineage evidence | `local-repo-canonical-ewoooc-momo.snapshot.json` |
|
||
| `git_remote_refs_probe_v1` | mirror-only | 110 / GitHub remote refs readiness | `bitan-tsenyang`、`wooo-infra-config` |
|
||
| `approval_required_event_v1` | approval-only | 高風險 / 敏感邊界 approval | `gitea-readonly-inventory-approval.snapshot.json` |
|
||
|
||
## 2. AwoooP 消費順序
|
||
|
||
1. 先讀 `security_rollout_policy_v1`,確認目前仍是 `mirror_only`。
|
||
2. 再讀本 manifest,取得可消費 contract 與禁止動作。
|
||
3. 將 snapshot mirror 成 Runtime State / Channel Event / Audit evidence。
|
||
4. 只對 `approval_required_event_v1` 與 repo approval package 建 approval candidate。
|
||
5. 不新增 execution action button,不做 runtime enforcement。
|
||
|
||
## 3. 永久禁止
|
||
|
||
1. 不保存 raw secret、token、cookie、private key。
|
||
2. 不直接啟動 Kali active scan。
|
||
3. 不直接呼叫 Codex patch runner。
|
||
4. 不直接建立 GitHub repo 或修改 visibility。
|
||
5. 不直接同步 refs。
|
||
6. 不切 GitHub primary。
|
||
7. 不停用、刪除、封存 Gitea repo。
|
||
|
||
## 4. 下一步
|
||
|
||
1. AwoooP 主線可把 manifest 當作 mirror-only contract index。
|
||
2. Security Supply Chain Session 後續新增 schema / snapshot 時,必須同步更新本 manifest。
|
||
3. 等 runtime integration 被正式批准前,本 manifest 只作文件與 evidence 路由,不作 execution router。
|