5.1 KiB
5.1 KiB
IwoooS 高價值配置變更 Gate
| 項目 | 內容 |
|---|---|
| 日期 | 2026-06-11 |
| 狀態 | classification_gate_ready |
| 工具 | scripts/security/high-value-config-change-gate.py |
| Snapshot | docs/security/high-value-config-change-gate.snapshot.json |
| runtime gate | 0 |
1. 目的
此 Gate 將「所有重要配置都要被控管」落成可重跑的只讀分類流程。它會讀取 git diff 或手動指定檔案,判斷是否碰到 C0 / C1 / C2 / C3 高價值配置,並列出後續 owner response、rollback、redacted evidence 與驗證需求。
本階段是低摩擦分類 Gate,不接 CI blocking,不修改 workflow、不讀 secret value、不 SSH、不 reload、不部署、不開 runtime gate。
2. 納管配置
| 優先 | 等級 | 配置類別 |
|---|---|---|
| P0 | C0 | Nginx / reverse proxy / public route |
| P0 | C0 | DNS / TLS / certbot / certificate path |
| P0 | C0 | K8s / ArgoCD / production manifests |
| P0 | C0 | Secret metadata / injection / redaction |
| P0 | C0 | Gitea workflow / runner / deploy key / webhook / branch protection |
| P0 | C0 | Public / admin / API / frontend runtime config |
| P0 | C0 | Backup / restore / escrow / retention |
| P0 | C0 | agent-bounty-protocol runtime / MCP / A2A / treasury boundary |
| P1 | C1 | Prometheus / Alertmanager / Grafana / SigNoz / Sentry / Langfuse |
| P1 | C1 | Docker Compose / systemd / host service config |
| P1 | C1 | SSH / sudoers / known_hosts / firewall / WireGuard / NodePort |
| P1 | C1 | AI provider / model routing / Ollama proxy / cost and privacy |
| P2 | C2 | AWOOOI / AwoooP / IwoooS / VibeWork / other product runtime routes |
| P3 | C3 | Security evidence / snapshot / guard tooling |
3. 指令
檢查目前 commit 相對前一個 commit:
python3 scripts/security/high-value-config-change-gate.py \
--root . \
--base HEAD~1 \
--head HEAD
手動分類單一檔案:
python3 scripts/security/high-value-config-change-gate.py \
--root . \
--changed-file infra/ansible/roles/nginx/templates/188-all-sites.conf.j2
更新 committed snapshot:
python3 scripts/security/high-value-config-change-gate.py \
--root . \
--base HEAD~1 \
--head HEAD \
--generated-at 2026-06-11T12:30:00+08:00 \
--output docs/security/high-value-config-change-gate.snapshot.json
未來若要升級成更嚴格的人工審核,可提供 owner response evidence JSON:
python3 scripts/security/high-value-config-change-gate.py \
--root . \
--base gitea/main \
--head HEAD \
--evidence /path/to/redacted-owner-response.json \
--fail-on-missing-evidence
4. owner response 欄位
所有 C0 / C1 高價值配置變更至少要補:
owner_role_or_teamdecisiondecision_reasonaffected_scoperedacted_evidence_refsfollowup_ownerrollback_ownermaintenance_windowvalidation_plan
這些欄位只是讓 reviewer 可以判斷,不等同 runtime 授權。
5. 必須維持 false
| flag | 要求 |
|---|---|
runtime_execution_authorized |
false |
host_write_authorized |
false |
secret_value_collection_allowed |
false |
workflow_modification_authorized |
false |
runner_change_authorized |
false |
refs_sync_authorized |
false |
force_push_authorized |
false |
active_scan_authorized |
false |
action_buttons_allowed |
false |
6. 判讀規則
| 狀態 | 意義 | 可做事項 |
|---|---|---|
impacted_c0_category_count > 0 |
變更碰到公開入口、secret、部署、備份、agent runtime 等最高風險配置 | 先建立 owner response packet;不可直接 reload、deploy、sync 或修改主機 |
impacted_c1_category_count > 0 |
變更碰到監控、主機服務、網路、AI provider 等近程高風險配置 | 建立 maintenance window、rollback owner 與驗證計畫 |
| 只有 C2 | 產品 runtime route 或前端呈現變更 | 需要產品 owner、i18n、desktop / mobile smoke |
| 只有 C3 | 文件、snapshot、guard 或 evidence tooling | 跑 guard、JSON parse、doc secret sanity;不可提高 runtime gate |
7. 邊界
- 本工具不接 CI blocking。
- 本工具不修改
.gitea/workflows。 - 本工具不讀 secret value、hash、partial token、private key、runner token 或 webhook secret。
- 本工具不 SSH、不執行
nginx -t、不 reload / restart。 - 本工具不做 DNS 修改、TLS renew、ArgoCD sync、kubectl、active scan 或 agent-bounty runtime execution。
- IwoooS UI 可顯示分類結果,但不得把分類結果當 runtime 授權。
8. 完成度
| 工作 | 完成度 | 說明 |
|---|---|---|
| 高價值配置 path pattern 分類 | 100% |
已覆蓋 Nginx、DNS / TLS、K8s、secret、workflow、runner、backup、monitoring、host service、network、AI provider、agent-bounty-protocol 與產品 route |
| owner response 欄位檢查 | 70% |
支援 evidence JSON 欄位與 false flag 檢查;尚未接正式收件 API |
| CI blocking | 0% |
本階段刻意不接,避免初期摩擦過大 |
| live runtime 驗證 | 0% |
本工具只分類,不執行 live probe |