50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# 資安鏡像 Dry-run 報告契約
|
||
|
||
| 項目 | 內容 |
|
||
|------|------|
|
||
| 日期 | 2026-05-13 |
|
||
| 狀態 | 草案 |
|
||
| Schema | `docs/schemas/security_mirror_dry_run_v1.schema.json` |
|
||
| Snapshot | `docs/security/security-mirror-dry-run.snapshot.json` |
|
||
| 模式 | `mirror_only` |
|
||
| runtime 執行授權 | `false` |
|
||
|
||
## 0. 核心結論
|
||
|
||
`security_mirror_dry_run_v1` 定義 AwoooP 進行資安供應鏈 mirror-only 接入演練時應回報的結果格式。
|
||
|
||
本輪只建立契約,尚未代表 AwoooP 已實際執行 dry-run。
|
||
|
||
## 1. Dry-run Steps
|
||
|
||
| Step | 目的 | 必須維持 |
|
||
|------|------|----------|
|
||
| `LOAD_CONTRACT_INDEXES` | 載入 manifest / readiness / route / acceptance / quarantine indexes | 不執行 contract |
|
||
| `CHECK_EVENT_ENVELOPE` | 確認每筆 payload 不可執行、不可顯示執行按鈕 | `execution_authorized=false` |
|
||
| `CHECK_ROUTE_COVERAGE` | 確認 route groups 覆蓋所有 contracts | 不建立 fallback execution route |
|
||
| `CHECK_ACCEPTANCE_AND_QUARANTINE` | 確認驗收與隔離只處理 mirror payload | 不阻擋 runtime |
|
||
| `CHECK_LOW_NOISE_CHANNEL` | 確認 Channel Event 低噪音 | 不對 LOW / MEDIUM 洗版 |
|
||
| `CONFIRM_NO_RUNTIME_ACTION` | 確認 dry-run 沒有任何 runtime action | 不掃描、不 deploy、不 sync refs |
|
||
|
||
## 2. AwoooP 可做
|
||
|
||
1. 顯示 dry-run 報告。
|
||
2. 顯示每個 step 的 pass / warn / blocked 狀態。
|
||
3. 將 dry-run 結果寫入 Audit evidence。
|
||
4. 對 blocked step 顯示需要修正的 contract 或 snapshot。
|
||
5. 維持 `runtime_actions_executed=false`。
|
||
|
||
## 3. AwoooP 不可做
|
||
|
||
1. 不把 dry-run 轉成 production ingestion。
|
||
2. 不在 dry-run 中啟動 scan、execute、repo、refs、deploy、secret 類動作。
|
||
3. 不把 LOW / MEDIUM observation 變成 blocking gate。
|
||
4. 不保存 raw secret、token、cookie、private key 或 exploit payload。
|
||
5. 不自動建立 repo、不 sync refs、不切 GitHub primary。
|
||
|
||
## 4. 階段定位
|
||
|
||
S2.6 只提供 dry-run 報告格式,讓 AwoooP 主線未來可以用同一套欄位回報接入演練。
|
||
|
||
它仍然屬於框架期,不代表鏡像資料已進 production ingestion,也不代表任何執行面已開啟。
|