Files
awoooi/docs/security/SECURITY-APPROVAL-DECISION-RECORD.md
Your Name 9e15fd08b3
All checks were successful
CD Pipeline / tests (push) Successful in 1m39s
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 5m19s
CD Pipeline / post-deploy-checks (push) Successful in 2m11s
feat(web): land iwooos security posture surfaces
2026-05-25 20:35:52 +08:00

62 lines
2.7 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.
# 資安人工決策紀錄契約
| 項目 | 內容 |
|------|------|
| 日期 | 2026-05-13 |
| 狀態 | 草案 |
| Schema | `docs/schemas/security_approval_decision_record_v1.schema.json` |
| Snapshot | `docs/security/security-approval-decision-record.snapshot.json` |
| 模式 | `decision_record_only` |
| runtime 執行授權 | `false` |
## 0. 核心結論
`security_approval_decision_record_v1` 是 S3.1 的人工決策稽核格式。
它只保存人工決策本身,例如批准範圍、拒絕、延後、要求補 evidence 或維持 blocked。
它不是 runner也不是授權 token。任何決策紀錄都必須維持 `execution_authorized=false`
S3.2 的 `security_approval_review_packet_v1` 只負責把待審項目整理成封包。Review packet 不是決策;只有人工審完後,才可把結果寫入本契約。
S3.3 的 `security_approval_state_transition_v1` 只負責把本契約中的決策轉成 next state。State transition 不是 runner也不會讓 `approve_scope` 直接變成可執行。
S3.4 的 `security_followup_runtime_gate_v1` 只負責顯示未來若要進 runtime gate 時需要的前置 evidence、preflight checks 與 rollback / disable requirement。目前沒有 active runtime gate。
## 1. 目前狀態
| 指標 | 數量 |
|------|------|
| Decision records | 0 |
| Approved scope | 0 |
| Rejected | 0 |
| Deferred | 0 |
| Request more evidence | 0 |
| Keep blocked | 0 |
| Runtime actions authorized | `false` |
## 2. AwoooP 可做
1.`security_approval_gate_v1` 的 gate item 記錄人工決策。
2. 保存 reviewer、時間、evidence refs 與批准範圍。
3. 顯示哪些決策仍需要 follow-up runtime gate。
4. 將決策紀錄寫入 Audit evidence。
5. 將拒絕、延後或補 evidence 的原因顯示給 Operator。
6. 連回原始 `security_approval_review_packet_v1`,讓 Operator 可追溯決策前看到的 evidence 與限制。
7.`security_approval_state_transition_v1` 顯示決策後狀態,例如 `scope_approved_waiting_runtime_gate``blocked_by_default`
8.`security_followup_runtime_gate_v1` 顯示後續 runtime gate 準備模板,但仍不執行。
## 3. AwoooP 不可做
1. 不把 decision record 當成執行命令。
2. 不因為 `approve_scope` 就自動執行。
3. 不啟動 scan、credentialed scan 或 Kali `/execute`
4. 不建立 GitHub repo、不改 visibility、不 sync refs、不切 GitHub primary。
5. 不保存 raw secret、token、cookie、private key、credential value 或 exploit payload。
## 4. 階段定位
S3.1 只是讓人工決策可追溯。
它讓治理面更清楚,但仍然維持低摩擦:沒有 runtime enforcement沒有自動修復沒有把 approval queue 接成 runner。