# 資安鏡像事件契約

| 項目 | 內容 |
|------|------|
| 日期 | 2026-05-13 |
| 狀態 | 草案 |
| Schema | `docs/schemas/security_mirror_event_v1.schema.json` |
| 範例 snapshot | `docs/security/security-mirror-event-sample.snapshot.json` |
| 模式 | `mirror_only` |
| runtime 執行授權 | `false` |

## 0. 核心結論

`security_mirror_event_v1` 是 AwoooP 鏡像資安供應鏈 contracts 時使用的統一事件信封。

它的目的不是新增功能，而是讓每一筆 mirror 事件都明確帶上以下欄位：

1. `execution_authorized=false`
2. `action_buttons_allowed=false`
3. `redaction_status`
4. `source_contract`
5. `source_snapshot_path`
6. `destinations`
7. `blocked_actions`

這樣 AwoooP 可以安全顯示 Runtime State / Channel Event / Audit evidence，而不會把鏡像 evidence 誤解成執行授權。

## 1. 可鏡像的目的地

| 目的地 | 用途 |
|-------------|------|
| `operator_console` | 顯示 contract readiness、queue item、blocked reason |
| `runtime_state` | 保存目前狀態摘要 |
| `channel_event` | 發送低噪音狀態通知 |
| `audit_evidence` | 保存可追溯 evidence |
| `approval_queue` | 顯示人工決策候選 |

## 2. 永久邊界

每個 `security_mirror_event_v1` 都必須保持：

1. 不執行 mirror item。
2. 不產生執行按鈕。
3. 不保存 raw secret、token、cookie、private key 或 exploit payload。
4. 不啟動 Kali scan。
5. 不呼叫 Kali `/execute`。
6. 不建立 GitHub repo。
7. 不修改 visibility。
8. 不 sync refs。
9. 不切 GitHub primary。

## 3. 第一個範例

`docs/security/security-mirror-event-sample.snapshot.json` 以 `security_mirror_readiness_v1` 作為範例來源。

它只表示 AwoooP 可以 mirror readiness index，不代表 AwoooP 可以啟動 scan、執行 approval queue item、同步 refs 或切換 GitHub primary。
