67 lines
3.5 KiB
Markdown
67 lines
3.5 KiB
Markdown
# 資安鏡像狀態彙整契約
|
||
|
||
| 項目 | 內容 |
|
||
|------|------|
|
||
| 日期 | 2026-05-13 |
|
||
| 狀態 | 草案 |
|
||
| Schema | `docs/schemas/security_mirror_status_rollup_v1.schema.json` |
|
||
| Snapshot | `docs/security/security-mirror-status-rollup.snapshot.json` |
|
||
| 模式 | `mirror_only` |
|
||
| runtime 執行授權 | `false` |
|
||
|
||
## 0. 核心結論
|
||
|
||
`security_mirror_status_rollup_v1` 是 AwoooP 與 Security Supply Chain Session 的共同狀態入口。
|
||
|
||
它只彙整目前框架、鏡像契約、approval queue 與下一個安全 gate,不授權任何 scan、execute、repo、refs、deploy 或 secret 類動作。
|
||
|
||
## 1. 目前狀態
|
||
|
||
| 類型 | 狀態 |
|
||
|------|------|
|
||
| Contract manifest | 34 個 contracts |
|
||
| Mirror readiness | 31 ready、2 partial、1 contract-only、0 blocked |
|
||
| Approval queue | 8 items:7 pending approval、1 block candidate |
|
||
| Approval gate | S3.0 已建立;0 approved、7 pending、1 block candidate |
|
||
| Decision records | S3.1 已建立;目前 0 筆決策紀錄 |
|
||
| Review packets | S3.2 已建立;8 packets、7 ready for human review、1 block candidate |
|
||
| State transitions | S3.3 已建立;5 個 decision options 都有 next state,且都不授權執行 |
|
||
| Follow-up runtime gate templates | S3.4 已建立;8 個 templates、0 個 active runtime gates |
|
||
| GitHub primary readiness gate | S4.0 已建立;8 個 candidate repos、7 個 in-scope blocked、0 個 primary ready |
|
||
| Workflow / secret name inventory | S4.1 已建立;S4.2 補 4 個 repos、31 個 workflow files、43 個 referenced secret names 的 local evidence;0 個 inventory complete、禁止收集 secret value |
|
||
| Dry-run | `contract_defined_not_executed` |
|
||
| Runtime actions | `false` |
|
||
| Payload ingestion | `false` |
|
||
|
||
## 2. AwoooP 可做
|
||
|
||
1. 顯示 S0 到 S4 的階段狀態。
|
||
2. 顯示 contract readiness、approval queue summary、approval gate summary 與下一個 gate。
|
||
3. 將彙整結果寫入 Audit evidence。
|
||
4. 低噪音通知階段完成、blocked reason 或人工批准必要事件。
|
||
5. 把下一步限制在 `observe` / `approval_required` / `block_candidate`。
|
||
|
||
## 3. AwoooP 不可做
|
||
|
||
1. 不把 rollup 當成 runtime authorization。
|
||
2. 不新增 scan、execute、repo、refs、deploy、secret 類 action button。
|
||
3. 不把 LOW / MEDIUM observation 變成 blocking gate。
|
||
4. 不把 approval queue 接成 runner。
|
||
5. 不把 GitHub primary、refs sync 或 Kali `/execute` 當成已批准。
|
||
|
||
## 4. 下一個安全 gate
|
||
|
||
下一步仍不是 runtime enforcement。
|
||
|
||
建議先讓 AwoooP 主線只讀消費本 rollup、`security_approval_gate_v1`、`security_approval_decision_record_v1`、`security_approval_review_packet_v1`、`security_approval_state_transition_v1`、`security_followup_runtime_gate_v1`、`source_control_primary_readiness_gate_v1` 與 `source_control_workflow_secret_name_inventory_v1`,並由人工依序 review:
|
||
|
||
1. redacted finding ingestion adapter。
|
||
2. safe web crawl scope。
|
||
3. Gitea private/internal read-only inventory。
|
||
4. GitHub target / owner / visibility / canonical。
|
||
5. Kali `/execute` 維持 block candidate。
|
||
6. GitHub primary readiness blockers 與 rollback ADR 缺口。
|
||
7. workflow / webhook / runner / deploy key / branch protection / CODEOWNERS / secret 名稱 inventory 缺口,先看 S4.2 local evidence,再補 webhook / deploy key / branch protection / repository secret parity;只保存名稱與 owner,不保存 value。
|
||
|
||
任何批准後的執行仍需下一階段 runtime gate 與獨立 evidence,不得由本 rollup 自動觸發。
|