74 lines
3.5 KiB
Markdown
74 lines
3.5 KiB
Markdown
# 低摩擦資安 Rollout Policy
|
||
|
||
| 項目 | 內容 |
|
||
|------|------|
|
||
| 日期 | 2026-05-12 |
|
||
| 狀態 | 草案 |
|
||
| JSON snapshot | `docs/security/security-rollout-policy.snapshot.json` |
|
||
| Schema | `docs/schemas/security_rollout_policy_v1.schema.json` |
|
||
| 原則 | 初期先建立框架、可見性與追溯性,不把資安限制一次拉到最高 |
|
||
|
||
## 0. 核心結論
|
||
|
||
本資安網初期採 `observe-first`,不是 `block-first`。
|
||
|
||
目標是讓 Kali、Code Review、GitHub、Gitea、Codex、AwoooP 先共享 evidence、狀態與 approval boundary。初期不應把每個 LOW / MEDIUM finding、repo 差異、文件缺口、owner 待定都變成阻擋條件。
|
||
|
||
## 1. 四種模式
|
||
|
||
| Mode | 用途 | 初期處理 |
|
||
|------|------|----------|
|
||
| `observe` | read-only inventory、evidence mirror、狀態追蹤 | 允許持續推進,不阻擋 |
|
||
| `warn` | LOW / MEDIUM observation、非不可逆差異 | 產生 follow-up,不自動卡流程 |
|
||
| `approve_required` | 會碰 token、repo 建立、visibility、refs、secret、deploy、primary switch | 建立 approval candidate,批准後才執行下一步 |
|
||
| `block_candidate` | 無 rollback 的破壞性動作、保存 raw secret、force push | 預設不執行,只能走人工 exception |
|
||
|
||
## 2. 低摩擦矩陣
|
||
|
||
| 條件 | Mode | 可以做 | 不可以做 |
|
||
|------|------|--------|----------|
|
||
| Read-only inventory / evidence mirror | `observe` | 收 metadata、寫 redacted snapshot、更新文件、mirror 到 AwoooP | 寫入遠端、刪 repo、sync refs |
|
||
| LOW / MEDIUM observation,且不涉及不可逆變更 | `warn` | 標風險、建 follow-up、準備草案 | 擋 deploy、自動 patch、自動 merge |
|
||
| 使用 read-only token 或管理匯出 | `approve_required` | 人工批准後單次執行、只保存 `token_present` | 保存 token value、使用寫入 token、建立 repo |
|
||
| 建 repo / 改 visibility / sync refs | `approve_required` | 建 approval candidate、準備 migration / rollback plan | 未批准直接執行、直接 push refs、切 primary |
|
||
| secret / RBAC / NetworkPolicy / firewall / deploy / primary switch | `approve_required` | 建 approval event、準備 dry-run / rollback | auto execute、保存 secret value、跳過人工 review |
|
||
| 無 rollback 的破壞性動作或保存 raw secret | `block_candidate` | 記錄原因、要求人工 exception | force push、delete repo、保存 raw secret、關閉 audit |
|
||
|
||
## 3. AwoooP 初期行為
|
||
|
||
AwoooP 初期只應:
|
||
|
||
1. mirror Runtime State / Channel Event / Audit evidence。
|
||
2. 計算 read-only policy 建議。
|
||
3. 建立必要的 approval candidate。
|
||
4. 顯示阻塞原因,但不直接執行修復。
|
||
|
||
AwoooP 初期不應:
|
||
|
||
1. 直接啟動 Kali active scan。
|
||
2. 直接呼叫 Codex patch runner。
|
||
3. 直接建 GitHub repo 或修改 visibility。
|
||
4. 直接同步 refs 或切 GitHub primary。
|
||
5. 把所有 observation 都變成 blocking incident。
|
||
|
||
## 4. 階段性收斂
|
||
|
||
| 階段 | 目標 | 控制強度 |
|
||
|------|------|----------|
|
||
| S0 | 文件與契約同步 | observe |
|
||
| S1 | read-only evidence 建立 | observe / warn |
|
||
| S2 | AwoooP mirror-only | observe / warn |
|
||
| S3 | 高風險 approval gate | approve_required |
|
||
| S4 | 受控 migration / execution | approve_required + rollback |
|
||
| S5 | 規則收斂與自動化 | 只在 evidence 成熟後逐步提高 |
|
||
|
||
## 5. 永久邊界
|
||
|
||
即使後續提高資安等級,以下仍不得自動化:
|
||
|
||
1. 保存 raw secret / token value。
|
||
2. 無 rollback 的 repo 刪除 / force push。
|
||
3. 未經 owner 批准的 visibility 修改。
|
||
4. 未完成 parity 的 GitHub primary switch。
|
||
5. 未經人工批准的 production deploy。
|