77 lines
5.8 KiB
Markdown
77 lines
5.8 KiB
Markdown
# 資安供應鏈鏡像接收計畫
|
||
|
||
| 項目 | 內容 |
|
||
|------|------|
|
||
| 日期 | 2026-05-13 |
|
||
| 狀態 | 草案 |
|
||
| Schema | `docs/schemas/security_mirror_intake_plan_v1.schema.json` |
|
||
| Snapshot | `docs/security/security-mirror-intake-plan.snapshot.json` |
|
||
| 模式 | `mirror_only` |
|
||
| runtime 執行授權 | `false` |
|
||
|
||
## 0. 核心結論
|
||
|
||
本 intake plan 是給 AwoooP 主線實作 mirror-only / read-only 消費時使用的安全路線圖。
|
||
|
||
它只定義讀取順序、鏡像目的地、允許處理與禁止處理,不授權任何 runtime 執行。
|
||
|
||
## 1. Intake Waves
|
||
|
||
| Wave | 目的 | 主要 contracts | Exit gate |
|
||
|------|------|----------------|-----------|
|
||
| `M0_index_bootstrap` | 先載入 readiness、manifest、低摩擦 policy、鏡像事件信封、鏡像路由矩陣、驗收契約、隔離契約、dry-run 報告格式、status rollup、IwoooS posture projection、approval gate、decision record、review packet、state transition、follow-up runtime gate preparation、GitHub primary readiness gate、rollback ADR 與 workflow / secret name inventory gate | readiness / manifest / rollout policy / mirror event / mirror route / acceptance / quarantine / dry-run / status rollup / IwoooS posture projection / approval gate / decision record / review packet / state transition / follow-up runtime gate / primary readiness gate / rollback ADR / workflow-secret inventory | 顯示 36 個 contract 且 `execution_allowed=false` |
|
||
| `M1_kali_visibility` | 顯示 Kali 112、scan scope、approval queue | Kali status / scan scope / approval queue / finding sample | 顯示 5 個 scope groups 與 8 個 queue items,沒有執行按鈕 |
|
||
| `M2_source_control_visibility` | 顯示 Gitea/GitHub source-control evidence、GitHub primary readiness blockers、rollback ADR 草案與 workflow / secret 名稱 inventory 缺口 | migration / inventory / refs / approval board / primary readiness gate / rollback ADR / workflow-secret inventory | 顯示 blocking reasons,repo/refs/primary/workflow/secret actions 全 disabled |
|
||
| `M3_approval_candidates` | 顯示 approval candidates、S3 gate、decision record、review packet、state transition、follow-up runtime gate preparation、GitHub primary readiness gate、rollback ADR、workflow / secret 名稱 inventory gate 與人工決策留痕 | approval events / approval queue / approval gate / decision record / review packet / state transition / follow-up runtime gate / primary readiness gate / rollback ADR / workflow-secret inventory / source-control board | 可留痕,不可自動批准或執行 |
|
||
| `M4_patch_only_backlog` | 顯示 Codex patch-only backlog lane | coding task | 只顯示 lane,不接 Codex runner action |
|
||
|
||
## 2. AwoooP 可做
|
||
|
||
1. 讀取 `security_mirror_readiness_v1`、manifest 與 rollout policy,並顯示 7 條 non-blocking escalation lanes。
|
||
2. 使用 `security_mirror_event_v1` 包裝每一筆 mirror payload。
|
||
3. 使用 `security_mirror_route_v1` 決定目的地、channel policy 與 review lane。
|
||
4. 使用 `security_mirror_acceptance_v1` 驗收 contract count、event envelope、route coverage 與 redaction。
|
||
5. 使用 `security_mirror_quarantine_v1` 隔離驗收失敗 payload 並顯示 retry gate。
|
||
6. 使用 `security_mirror_dry_run_v1` 回報接入演練結果。
|
||
7. 使用 `security_mirror_status_rollup_v1` 顯示跨 Session 狀態與下一個 gate。
|
||
8. 將 ready / partial contracts mirror 成 Operator Console / Runtime State / Channel Event / Audit evidence。
|
||
9. 將 approval-only contracts mirror 到 Approval Queue。
|
||
10. 使用 `security_approval_gate_v1` 顯示批准範圍與 follow-up runtime gate。
|
||
11. 使用 `security_approval_decision_record_v1` 保存人工決策紀錄。
|
||
12. 使用 `security_approval_review_packet_v1` 顯示 review packet、required reviewers、blocked reason、evidence refs、review order。
|
||
13. 使用 `security_approval_state_transition_v1` 顯示人工決策後的 next state,但不自動執行後續動作。
|
||
14. 使用 `security_followup_runtime_gate_v1` 顯示未來 runtime gate 的準備模板,但不啟用 runtime gate。
|
||
15. 使用 `source_control_primary_readiness_gate_v1` 顯示 GitHub primary parity、owner、rollback 與人工批准缺口,但不切 primary。
|
||
16. 使用 `source_control_primary_rollback_adr_v1` 顯示 rollback ADR 草案、validation window 與 owner review;不執行 rollback。
|
||
17. 使用 `source_control_workflow_secret_name_inventory_v1` 顯示 workflow / webhook / runner / deploy key / branch protection / CODEOWNERS / secret 名稱 inventory 缺口,但不保存 secret value、不修改 workflow。
|
||
|
||
## 3. AwoooP 不可做
|
||
|
||
1. 不啟動 Kali scan。
|
||
2. 不呼叫 Kali `/execute`。
|
||
3. 不做 credentialed scan。
|
||
4. 不建立 GitHub repo。
|
||
5. 不修改 repo visibility。
|
||
6. 不 sync refs。
|
||
7. 不切 GitHub primary。
|
||
8. 不自動 merge、production deploy 或 secret rotation。
|
||
9. 不保存 raw secret、token、cookie、private key 或 exploit payload。
|
||
|
||
## 4. Acceptance Gates
|
||
|
||
| Gate | Requirement |
|
||
|------|-------------|
|
||
| `MIRROR_ONLY_DEFAULT` | 所有 waves 都必須維持 `runtime_execution_authorized=false` |
|
||
| `NO_ACTION_BUTTONS` | Operator Console 不得新增 scan、execute、repo、refs、deploy、secret 類執行按鈕 |
|
||
| `REDACTION_ONLY` | Mirror payload 不得保存 raw sensitive value |
|
||
| `LOW_MEDIUM_NOT_BLOCKING` | LOW / MEDIUM、缺 owner response、partial mirror、source-control drift、Kali observe finding、workflow / secret name gap 與 headline holding 初期只能 observe / warn |
|
||
|
||
## 5. 與目前主線的邊界
|
||
|
||
AwoooP 主線已經在推 MCP Gateway 與 approved SSH execution。這不改變本 security supply chain intake plan 的初期邊界:
|
||
|
||
1. Security Supply Chain contracts 仍然只是 mirror/read-only evidence。
|
||
2. Approval queue 只是人審隊列,不是 execution router。
|
||
3. Kali `/execute` 仍是 block candidate。
|
||
4. Gitea/GitHub 遷移仍不允許 repo 建立、visibility 修改、refs sync 或 primary switch。
|