docs(iwooos): 記錄前台敏感資訊防洩漏驗證 [skip ci]

This commit is contained in:
Your Name
2026-06-15 16:11:53 +08:00
parent 157542de02
commit 0def6daf04

View File

@@ -1,3 +1,51 @@
## 2026-06-15前台敏感資訊防洩漏 Guard 與 public runtime config 可視化
**背景**AwoooP / IwoooS 前台不可暴露原始 owner / repo namespace、內部 blocked 狀態、工作視窗溝通內容、內網 IP 或可識別個人資訊。本階段把前台敏感資訊檢查從人工掃描提升為可重跑 guard 與 snapshot並將 public / admin / API runtime config 的防洩漏成熟度放到 IwoooS 前台;仍只做只讀驗證,不授權 route / CORS / env / deploy / runtime 變更。
**完成項目**
- `scripts/security/public-frontend-env-guard.py` 擴充為前台 source / messages 敏感面 guard掃描 `apps/web/src``apps/web/messages``.json``.mdx``.ts``.tsx` 檔案。
- Guard 固定 `225` 個前台檔案、`12` 類禁字 / 禁樣式、`2` 個既有遮罩器 allowlist、violations `0`、runtime gate `0`
- 新增 `docs/security/public-frontend-sensitive-surface-guard.snapshot.json`,把前台 sensitive surface 檢查結果納入 `security-mirror-progress-guard`
- `public_admin_api_runtime_config` 只讀成熟度從 `64%` 推進到 `66%`,狀態為 `frontend_sensitive_surface_guard_ready_needs_runtime_config_owner_evidence`
- 高價值配置平均成熟度從 `69%` 推進到 `70%`needs-live-evidence 類別維持 `10`
- `/zh-TW/iwooos` 前台顯示 `Public / admin / API runtime config``66%`、前台 source / messages、`225 個檔案``12 類禁字``違規 0` 與 runtime gate `0``en.json` 維持繁中鏡像。
**本地驗證**
- `python3 scripts/security/public-frontend-env-guard.py --root .``OK public frontend sensitive surface guard files=225 patterns=12 allowlisted=2 violations=0 runtime_gate=0`
- `python3 scripts/security/iwooos-config-control-guard.py --root .``IWOOOS_CONFIG_CONTROL_GUARD_OK`
- `python3 scripts/security/security-mirror-progress-guard.py --root .``SECURITY_MIRROR_PROGRESS_GUARD_OK`
- `python3 scripts/security/source-control-owner-response-guard.py --root .``SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK`
- `python3 scripts/security/package-supply-chain-owner-policy-guard.py --root .``PACKAGE_SUPPLY_CHAIN_OWNER_POLICY_GUARD_OK`
- `python3 scripts/ops/doc-secrets-sanity-check.py docs .gitea``DOC_SECRET_SANITY_OK scanned_files=872`
- `pnpm --filter @awoooi/web typecheck` 通過。
- `git diff --check` 通過。
- 前端 source / messages 掃描未在產品文案中命中工作視窗內容、原始 owner namespace、raw blocker 狀態或前台內網 IP僅保留既有遮罩器 allowlist。
**Gitea / CD**
- Guard code commit`65f2d50d feat(iwooos): 強化前台敏感資訊防洩漏 guard`
- 可視化補正 commit`5d400376 fix(iwooos): 顯示前台防洩漏成熟度`
- Code-review runs`3045``3047`,皆成功。
- CD runs`3044``3046`,皆成功。
- Deploy markers`f5b6ab75 chore(cd): deploy 65f2d50 [skip ci]``157542de chore(cd): deploy 5d40037 [skip ci]`
**Production 驗證**
- in-app browser`/zh-TW/iwooos?_v=157542de-public-sensitive-visible-smoke` 顯示 IwoooS、`70%``Public / admin / API runtime config``66%`、前台 source / messages、`225 個檔案``12 類禁字``違規 0`console error `0`;頁面水平溢出 `0`;敏感字串命中 `0`
- Browser desktop `1280x720``/zh-TW/iwooos?_v=157542de-public-sensitive-fixed-desktop``200`console error `0``horizontalOverflow=0`,必填文案缺漏 `0`,敏感字串命中 `0`
- Browser mobile `390x844``/zh-TW/iwooos?_v=157542de-public-sensitive-fixed-mobile``200`console error `0``horizontalOverflow=0`,必填文案缺漏 `0`,敏感字串命中 `0`
- Browser mobile `390x844` 補充 route smoke`/zh-TW/governance?tab=automation-inventory``/zh-TW/awooop/tenants``/zh-TW/code-review` 皆回 `200`、console error `0``horizontalOverflow=0`、敏感字串命中 `0`Tenants 已不顯示原始 owner / repo namespace、raw blocker 狀態或內網 IP。
- Browser 截圖:
- `/tmp/awoooi-iwooos-desktop-1280x720-157542de.png`
- `/tmp/awoooi-iwooos-mobile-390x844-157542de.png`
**完成度與邊界**
- Frontend public sensitive surface guard`0% -> 100%`
- Public / admin / API runtime config 只讀成熟度:`64% -> 66%`
- 高價值配置平均成熟度:`69% -> 70%`needs-live-evidence 類別維持 `10`
- IwoooS headline 維持 `64%`active runtime gate 維持 `0`
- raw namespace exposure、work window transcript exposure、raw blocker exposure、internal IP exposure、frontend sensitive source violations、production sensitive smoke violations 全部為 `0`
- route / CORS / env / deploy / runtime owner acceptance、live runtime config owner evidence、host write、Nginx reload、Docker / service restart、firewall / iptables change、active scan、secret collection、production write、action button 全部維持 `0 / false`
- 本輪未 SSH、未讀 live conf raw payload、未改 Nginx、未重啟 Docker / service、未修改 firewall / iptables、未執行 active scan、未收 secrets 明文、未 force push。
## 2026-06-15備份 / 還原 / 金庫 restore recovery 回補 Gate
**背景**備份與還原不能只看「有備份」或「health 顯示正常」,也不能把 offsite sync、remote delete、credential escrow、retention 或 restore drill 的 UI 可見狀態誤判成已授權。本階段補強 Backup / Restore / Escrow owner response acceptance只建立只讀收件欄位、reviewer checks、outcome lanes、blocked actions 與前台可視化;不執行 backup、不 restore、不跑 offsite sync、不 remote delete、不寫 escrow marker、不改 retention、不讀 secret value、不碰主機。