# 資安鏡像隔離契約 | 項目 | 內容 | |------|------| | 日期 | 2026-05-13 | | 狀態 | 草案 | | Schema | `docs/schemas/security_mirror_quarantine_v1.schema.json` | | Snapshot | `docs/security/security-mirror-quarantine.snapshot.json` | | 模式 | `mirror_only` | | runtime 執行授權 | `false` | ## 0. 核心結論 `security_mirror_quarantine_v1` 定義 AwoooP 在 mirror-only 資安資料驗收失敗時的隔離與回報方式。 它只處理「鏡像資料本身」的品質問題,不阻擋產品、不阻擋部署、不啟動修復動作。 ## 1. 隔離 Lanes | Lane | 觸發來源 | 初期處理 | |------|----------|----------| | `contract_count_mismatch` | `CONTRACT_COUNT_MATCH` | 隔離該批 payload,要求重新產生一致 snapshot | | `missing_event_envelope` | `EVENT_ENVELOPE_REQUIRED` | 拒收未帶不可執行信封的 payload | | `route_coverage_gap` | `ROUTE_GROUP_COVERAGE` | 隔離未知或未路由 contract,要求補 route | | `redaction_failed` | `REDACTION_ONLY` | 拒收含 raw sensitive value 的 payload | | `schema_or_json_invalid` | `SCHEMA_JSON_PARSE` | 隔離無法 parse 或 schema 不合格的 snapshot | ## 2. AwoooP 可做 1. 顯示隔離原因。 2. 顯示 owner、recovery request 與 retry gate。 3. 將隔離 metadata 寫入 Audit evidence。 4. 等新的 snapshot commit 後重新驗收。 5. 對非 runtime 風險保留 observe / warn。 6. 將隔離狀態提供給 `security_mirror_dry_run_v1` dry-run 報告與 `security_mirror_status_rollup_v1` 狀態彙整。 ## 3. AwoooP 不可做 1. 不自動重試同一份失敗 payload。 2. 不猜測缺漏 contract 或 route。 3. 不把 quarantine lane 轉成 runtime blocker。 4. 不把 quarantine lane 轉成 execution queue。 5. 不保存 raw secret、token、cookie、private key 或 exploit payload。 6. 不啟動 scan、不呼叫 Kali `/execute`、不建立 repo、不 sync refs、不切 GitHub primary。 ## 4. Retry 原則 重試必須等新的 snapshot commit。 同一份失敗 payload 不自動 retry;這是為了避免 AwoooP 在資料不完整或未脫敏時反覆吃進錯誤 evidence,也避免把框架期驗收問題升級成 runtime 事故。