Files
awoooi/docs/security/SECURITY-MIRROR-DRY-RUN.md

50 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 資安鏡像 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也不代表任何執行面已開啟。