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

2.7 KiB
Raw Blame History

資安人工決策紀錄契約

項目 內容
日期 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_gateblocked_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。