51 lines
2.1 KiB
Markdown
51 lines
2.1 KiB
Markdown
# 資安鏡像隔離契約
|
||
|
||
| 項目 | 內容 |
|
||
|------|------|
|
||
| 日期 | 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 事故。
|