docs(security): add IwoooS P0 governance ledger [skip ci]
This commit is contained in:
156
docs/workplans/2026-06-04-iwooos-security-governance-p0.md
Normal file
156
docs/workplans/2026-06-04-iwooos-security-governance-p0.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# 2026-06-04 IwoooS 資安治理 P0 推進總帳
|
||||
|
||||
> 本文件是本工作視窗推進 IwoooS 分支專案的 P0 主控板。所有內容維持繁體中文、只讀證據優先、低摩擦分階段收斂。它不是 runtime 授權、不是 Kali active scan 授權、不是 GitHub primary 切換授權,也不是自動修復授權。
|
||||
|
||||
## 0. 當前同步基線
|
||||
|
||||
| 項目 | 目前值 |
|
||||
|------|--------|
|
||||
| 工作視窗 | IwoooS / AWOOOI 資安治理 P0 |
|
||||
| 本次乾淨 worktree | `/private/tmp/awoooi-iwooos-governance-p0-20260604` |
|
||||
| 本次分支 | `codex/iwooos-governance-p0-20260604` |
|
||||
| 最新觀察到的 `gitea/main` | `0260ec89 chore(cd): deploy 973fc7a [skip ci]` |
|
||||
| 前一個正式 IwoooS 候選基準 | code `7b8fc093`、deploy marker `45c63488`、LOGBOOK `02cadee6` |
|
||||
| 最新導航 IA 基準 | code `973fc7a4`、LOGBOOK `2555c811`、deploy marker `0260ec89` |
|
||||
| 禁止事項 | 不 force push、不 destructive git、不 SSH 修改主機、不 active scan、不收 secrets 明文、不把 AwoooP approval 當資安批准、不把 UI 可見當 runtime 授權 |
|
||||
|
||||
## 1. 完成度總表
|
||||
|
||||
| 面向 | 目前完成度 | 本輪是否可調高 | 判讀 |
|
||||
|------|------------|----------------|------|
|
||||
| IwoooS 整體 | 64% | 否 | 本輪先補治理總帳與 Gate 規範,不代表 owner response accepted 或 runtime gate 開啟 |
|
||||
| 框架 / 只讀證據 / 前台可視化 | 92% | 否 | 框架已成熟,但仍需 owner response 與 redacted evidence 進一步驗收 |
|
||||
| runtime landing | 40-45% | 否 | production 只讀頁存在,不等於 runtime ingestion 或 execution router |
|
||||
| active runtime gate | 0 | 否 | 必須維持 0,直到獨立人工批准、rollback、post-check 與 guard 成立 |
|
||||
| S4.9 owner response gate | 0% | 可在收到合格回覆後調整 | 目前只定義欄位、預檢、收件與驗收,不標記 received / accepted |
|
||||
| GitHub primary readiness | 0 | 否 | 目前只讀盤點,不建立 repo、不同步 refs、不切 primary |
|
||||
| Kali 112 維護準備 | 只讀證據已納管,維護尚未開始 | 否 | 不更新套件、不重啟、不 hardening、不 active scan |
|
||||
| 111 / 168 開發主機納管 | observe-only mapping 已有,維護包需補強 | 可補文件,不調 runtime | 仍不 credentialed scan、不讀未授權資料、不自動修復 |
|
||||
| VibeWork 納入 IwoooS | 前端態勢已有 onboarding 欄位,產品邊界需補規範 | 可補文件 | 保留 VibeWork 獨立產品邊界 |
|
||||
|
||||
## 2. P0 工作拆解與優先順序
|
||||
|
||||
| 優先 | 工作 | 完成度 | 下一步 | 必要驗證 |
|
||||
|------|------|--------|--------|----------|
|
||||
| P0-0 | 跨 Session 同步與乾淨 worktree | 100% | 每次改檔前重新 `git fetch gitea` 與檢查 `gitea/main` | `git status --short --branch`、`git log --oneline -8 gitea/main` |
|
||||
| P0-1 | IwoooS 狀態總帳 | 100% | 本文件已落地;後續每階段只更新同一總帳與 LOGBOOK | Markdown 檢查、guard、不調高 0 / false gate |
|
||||
| P0-2 | S4.9 owner response gate | 100% | 欄位、預檢、收件、驗收、拒收與補件條件已固定成人類可讀規範 | `source-control-owner-response-guard.py --root .` 通過 |
|
||||
| P0-3 | AwoooP 同步封包 | 90% | 同步內容已固定;缺後續實際 AwoooP Session readback | 本文件與 mirror checklist readback |
|
||||
| P0-4 | production live sanity 節點 | 100% | desktop / mobile / 展開區塊 / overflow / action href 檢查已完成 | Playwright production sanity 通過 |
|
||||
| P0-5 | LOGBOOK 與完成度更新 | 90% | LOGBOOK 本輪將同步記錄;Gitea run 需等實際 push 後回填 | `docs/LOGBOOK.md` readback |
|
||||
|
||||
## 3. S4.9 Owner Response Gate 規範
|
||||
|
||||
S4.9 是目前 IwoooS 64% 能往前的第一優先 gate。驗收前所有 count 必須維持 `0`,所有授權 flag 必須維持 `false`。
|
||||
|
||||
### 3.1 必填封套欄位
|
||||
|
||||
| 欄位 | 說明 | 缺漏時處理 |
|
||||
|------|------|------------|
|
||||
| `owner_role_or_team` | 負責角色或團隊,不需要個人敏感資料 | 補件,不增加 received |
|
||||
| `decision` | 允許值:`confirm`、`defer`、`reject`、`request_more_evidence` | 非允許值直接拒收 |
|
||||
| `decision_reason` | 決策理由摘要,不得貼 raw secret、token、cookie 或未脫敏截圖 | 補件或隔離 |
|
||||
| `affected_scope` | 影響範圍,例如 repo 群、Gitea coverage、canonical owner、legacy disposition | 補件 |
|
||||
| `redacted_evidence_refs` | 只接受文件路徑、ticket id、hash、摘要或脫敏 evidence ref | 疑似敏感 payload 進 quarantine |
|
||||
| `followup_owner` | 後續補證或決策負責人 | 補件 |
|
||||
|
||||
### 3.2 驗收前禁止誤用
|
||||
|
||||
| 禁止誤用 | 規則 |
|
||||
|----------|------|
|
||||
| 把 request template 當已送件 | `request_sent_count` 必須維持 0,除非有人工送件紀錄 |
|
||||
| 把 owner 回覆候選當 accepted | `accepted_response_count` 必須維持 0,直到預檢、跨包一致性與 reviewer checklist 通過 |
|
||||
| 把 AwoooP approval 當資安批准 | AwoooP approval 只能是只讀候選或人工流程入口,不等於 security approval decision record |
|
||||
| 把 UI 可見當 runtime 授權 | 前端卡片、Gate、矩陣、候選狀態都不是 execution router |
|
||||
| 收 secrets 明文 | token、secret、private key、cookie、session、authorization header、runner token、webhook secret 全部拒收或隔離 |
|
||||
| 夾帶執行要求 | repo 建立、visibility change、refs sync、workflow 修改、runner 啟用、Kali scan、`/execute`、host update 全部 hard reject |
|
||||
|
||||
## 4. 驗證節點規則
|
||||
|
||||
| 階段類型 | 必跑驗證 | 是否需要實際開頁 |
|
||||
|----------|----------|------------------|
|
||||
| 純文件 / 總帳更新 | `git diff --check`、相關 guard | 不一定,但若文件聲稱 production 狀態,必須開頁 |
|
||||
| snapshot / guard 更新 | `python3 scripts/security/security-mirror-progress-guard.py --root .`、`python3 scripts/security/source-control-owner-response-guard.py --root .` | 不一定 |
|
||||
| 前端 IwoooS UX 更新 | i18n JSON parse、TypeScript、build、desktop/mobile browser smoke | 必須開 local preview,部署後也要開 production |
|
||||
| production 聲明更新 | Gitea run、deploy marker、HTML readback、desktop/mobile、水平溢出、相關展開區塊 | 必須開 production |
|
||||
| Kali / 主機維護準備 | 只讀文件與 maintenance window 檢查 | 不開 active scan;不得 SSH 改主機 |
|
||||
| runtime / execution gate | 人工批准、rollback、post-check、disable plan、guard、production readback | 必須開 production,且不得只靠 UI |
|
||||
|
||||
### 4.1 `/zh-TW/iwooos` live sanity 清單
|
||||
|
||||
1. 首屏正常回應,HTTP 200。
|
||||
2. 頁面仍顯示 IwoooS 主入口,不拆出第二個「安全合規」孤島入口。
|
||||
3. 「前台入口與既有資安頁整合」可展開且文案正常。
|
||||
4. 「審查後修正候選」可見。
|
||||
5. S4.9 / owner response / active runtime gate 仍顯示 0 或 false。
|
||||
6. desktop 與 mobile `horizontalOverflow=0`。
|
||||
7. 無 action button 觸發 scan、execute、host update、repo / refs / workflow / secret / primary switch。
|
||||
|
||||
## 5. AwoooP Session 同步封包
|
||||
|
||||
每次階段完成後,同步另一個 AwoooP Session 時至少包含:
|
||||
|
||||
| 類別 | 必填 |
|
||||
|------|------|
|
||||
| commits | 最新 source commit、deploy marker、LOGBOOK commit、是否包含上一階段基準 |
|
||||
| runs | Gitea CD / code-review run id 與狀態 |
|
||||
| production | URL、desktop / mobile sanity、overflow、展開區塊結果 |
|
||||
| gate | IwoooS 整體%、framework%、runtime landing%、active runtime gate、owner response count |
|
||||
| 邊界 | 未授權事項、不可誤讀事項、下一個 gate |
|
||||
| 衝突處理 | 如果 `gitea/main` 前進,先重讀 latest delta,不 rebase 到不明狀態、不 force push |
|
||||
|
||||
## 6. P1 / P2 / P3 後續待辦
|
||||
|
||||
| 優先 | 工作 | 細項 | 驗證 |
|
||||
|------|------|------|------|
|
||||
| P1 | GitHub primary readiness 只讀重盤 | repo visibility、refs、tags、workflow、secret name、runner、rollback ADR | 只讀 inventory;不建立 repo、不同步 refs |
|
||||
| P1 | Kali 112 維護窗口草案 | 1994 pending updates、`networking.service` failed、服務硬化 0/4、rollback、post-check | 文件與人工批准;不 `apt upgrade`、不 restart |
|
||||
| P1 | 111 / 168 主機 scope 補強 | scope、maintenance window、credential handling、rollback owner、validation 指標 | observe-only;不 credentialed scan |
|
||||
| P1 | VibeWork 納入 IwoooS | repo、product、surface、owner、evidence refs、獨立產品邊界 | 繁中 docs/specs;不合併產品責任 |
|
||||
| P1 | Code Review 候選分類 | 前端體驗、測試補洞、文件同步、低風險重構;人工批准後才 Codex | 候選不自動改 code、不自動 deploy |
|
||||
| P2 | IwoooS UX 精簡 | 首屏摘要、圖、矩陣、Gate;長證據改展開式 | desktop/mobile 開頁、overflow |
|
||||
| P2 | 資安圖表專業化 | 主拓樸圖、攻擊路徑圖、主機 / 產品 / 版本來源關聯圖、Gate flow | local + production browser |
|
||||
| P2 | 全站繁中檢查 | `zh-TW` 與鏡像內容繁中;不得放內部對話或抱怨 | i18n parse、頁面抽查 |
|
||||
| P3 | AI Agent 評估 | NemoTron / Hermes / OpenClaw / ElephantAlpha dry-run、benchmark、成本、安全邊界 | 不切 production |
|
||||
| P3 | runtime gate 收斂 | owner evidence、人工批准、rollback、disable、post-check | production truth,不只 UI |
|
||||
|
||||
## 7. 2026-06-04 本輪驗證紀錄
|
||||
|
||||
| 驗證 | 結果 |
|
||||
|------|------|
|
||||
| `git diff --check` | 通過 |
|
||||
| `python3 -m json.tool docs/security/iwooos-posture-projection.snapshot.json` | 通過 |
|
||||
| `python3 -m json.tool docs/security/source-control-owner-response-validation-rollup.snapshot.json` | 通過 |
|
||||
| `python3 scripts/security/source-control-owner-response-guard.py --root .` | `SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK` |
|
||||
| `python3 scripts/security/security-mirror-progress-guard.py --root .` | `SECURITY_MIRROR_PROGRESS_GUARD_OK` |
|
||||
| production desktop `/zh-TW/iwooos` | HTTP / DOM 正常;展開「前台入口與既有資安頁」後候選卡可見;`horizontalOverflow=false` |
|
||||
| production mobile `/zh-TW/iwooos` | 展開「前台入口與既有資安頁」後候選卡可見;`horizontalOverflow=false` |
|
||||
| action href 檢查 | `/execute`、scan、repo / refs / workflow / secret / primary mutation href 皆為 0 |
|
||||
| 截圖 | `/private/tmp/iwooos-governance-p0-prod-desktop-summary-open-20260604.png`、`/private/tmp/iwooos-governance-p0-prod-mobile-summary-open-20260604.png` |
|
||||
|
||||
本輪驗證後仍維持:
|
||||
|
||||
```text
|
||||
owner_response_received_count=0
|
||||
owner_response_accepted_count=0
|
||||
active_runtime_gate_count=0
|
||||
github_primary_ready_count=0
|
||||
runtime_execution_authorized=false
|
||||
action_buttons_allowed=false
|
||||
host_update_authorized=false
|
||||
active_scan_authorized=false
|
||||
```
|
||||
|
||||
## 8. 本輪狀態更新格式
|
||||
|
||||
每個階段完成後用以下格式更新:
|
||||
|
||||
```text
|
||||
階段:
|
||||
完成度:
|
||||
已完成:
|
||||
驗證:
|
||||
production 頁面檢查:
|
||||
仍維持 0 / false 的 gate:
|
||||
下一步:
|
||||
```
|
||||
Reference in New Issue
Block a user