docs(iwooos): 記錄端口事故 gate 與手機驗證 [skip ci]

This commit is contained in:
Your Name
2026-06-15 13:50:31 +08:00
parent 25d6c4f386
commit ed8c19059d

View File

@@ -1,3 +1,57 @@
## 2026-06-15端口 / 防火牆事故型 Gate 與前台手機溢出收斂
**背景**2026-06-12 14:00 左右的 110 端口關閉事件暴露「端口 / 防火牆變更」不能只用一般配置變更欄位驗收,必須要求事故等級、服務健康影響、外部 route 影響、恢復時間、操作員通知與事後補件 owner。使用者也指出前台不得揭露工作視窗對話、原始 owner / repo namespace、raw blocked 狀態或內部英文識別資訊;因此本階段同步做 production 前台敏感資訊與手機溢出驗證。
**完成項目**
- `scripts/security/port-firewall-change-evidence-acceptance.py` 已升級事故型收件規則change evidence fields `40`、required evidence fields `21`、reviewer checks `21`、outcome lanes `9`、blocked actions `28`
- `docs/security/PORT-FIREWALL-CHANGE-EVIDENCE-ACCEPTANCE.md``port-firewall-change-evidence-acceptance.snapshot.json``HIGH-VALUE-CONFIG-CONTROL-COVERAGE.md``IWOOOS-CONFIG-CONTROL-INVENTORY.md``iwooos-posture-projection.snapshot.json` 與相關 guard 已同步。
- SSH / firewall / network access 只讀成熟度從 `60%` 推進到 `62%`;高價值配置平均只讀成熟度維持 `69%`
- `/zh-TW/iwooos` 前台已顯示端口 / 防火牆事故型證據驗收進度、`62%``runtime gate 0` 邊界。
- `apps/web/src/app/[locale]/governance/tabs/automation-inventory-tab.tsx` 修正手機版載入 skeletonKPI grid 改為 `auto-fit`skeleton 寬度改為容器相對寬度,避免 `/zh-TW/governance?tab=automation-inventory` 載入瞬間產生 20px 水平溢出。
**Gitea / CD**
- 端口 / 防火牆事故型 Gate code commit`b9b61e50 feat(iwooos): 強化端口防火牆事故證據驗收`
- 端口 / 防火牆事故型 Gate code-review run`3031`,成功。
- 端口 / 防火牆事故型 Gate CD run`3030`,成功。
- 端口 / 防火牆事故型 Gate deploy marker`93606d57 chore(cd): deploy b9b61e5 [skip ci]`
- Governance 手機載入溢出 code commit`25aae855 fix(governance): 修正自動化盤點手機載入溢出`
- Governance 手機載入溢出 code-review run`3033`,成功。
- Governance 手機載入溢出 CD run`3032`,成功。
- Governance 手機載入溢出 deploy marker`25d6c4f3 chore(cd): deploy 25aae85 [skip ci]`
**本地驗證**
- `python3 -m json.tool` 驗證 `docs/security/port-firewall-change-evidence-acceptance.snapshot.json``docs/security/high-value-config-control-coverage.snapshot.json``docs/security/iwooos-posture-projection.snapshot.json` 通過。
- `python3 -m py_compile scripts/security/port-firewall-change-evidence-acceptance.py scripts/security/high-value-config-control-coverage.py scripts/security/iwooos-config-control-guard.py scripts/security/security-mirror-progress-guard.py` 通過。
- `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` 通過。
- `pnpm --filter @awoooi/web typecheck` 通過。
- `git diff --check` 通過。
- 本機 Next standalone build 不作為本階段正式判定;先前 trace copy 因本機磁碟空間不足中止,本階段以 Gitea CD deploy marker 與 production route / browser 驗證作為正式部署證據。
**Production 驗證**
- Route smoke`/zh-TW/iwooos``/zh-TW/awooop/tenants``/zh-TW/governance?tab=automation-inventory``/zh-TW/code-review` 皆回 `200`
- Browser desktop `1280x720``/zh-TW/iwooos?_v=25d6c4f3-prod-desktop-clean` 顯示 IwoooS、端口 / 防火牆事故 Gate、`62%``runtime gate 0``horizontalOverflow=0`console error `0`
- Browser mobile `390x844``/zh-TW/iwooos?_v=25d6c4f3-prod-mobile-clean` 顯示 IwoooS、端口 / 防火牆事故 Gate、`62%``runtime gate 0``horizontalOverflow=0`console error `0`
- Browser mobile `390x844``/zh-TW/governance?tab=automation-inventory&_v=25d6c4f3-prod-mobile-clean``horizontalOverflow` 已從 `20px` 收斂為 `0`console error `0`
- Browser mobile `390x844``/zh-TW/awooop/tenants?_v=25d6c4f3-prod-mobile-clean` 頁面級 `horizontalOverflow=0`,前台顯示「前台只顯示脫敏範圍代號,不揭露原始負責人或命名空間」。
- 敏感資訊掃描IwoooS、Tenants、Governance、Code Review 均未命中工作視窗文字、`codex_delegation``source_thread_id``批准!`、原始 owner/repo namespace、`blocked_waiting_*``blockers=`、前台內網 IP 或明顯 secret value。
- Browser 截圖:
- `/tmp/awoooi-iwooos-desktop-1280x720-25d6c4f3.png`
- `/tmp/awoooi-iwooos-mobile-390x844-25d6c4f3.png`
- `/tmp/awoooi-governance-automation-mobile-390x844-25d6c4f3.png`
**完成度與邊界**
- Port / firewall incident evidence readiness`0% -> 100%`
- SSH / firewall / network access 只讀成熟度:`60% -> 62%`
- Governance automation inventory mobile loading overflow`0% -> 100%`
- Frontend public sensitive redaction defense維持 `89%`,本階段以 production readback 證明未回歸。
- IwoooS headline 維持 `64%`active runtime gate 維持 `0`
- service health impact accepted、operator notification accepted、owner response received / accepted、runtime execution、action button、host update、Nginx reload、Docker restart、firewall change、active scan、secret collection、GitHub primary switch、repo creation、refs sync 全部維持 `0 / false`
- 本輪未 SSH 修改主機、未讀 live conf raw payload、未改 Nginx、未重啟 Docker / service、未修改 firewall / iptables、未執行 active scan、未收 secrets 明文、未 force push。
## 2026-06-15公開前端 env 範例內網拓樸防回歸
**背景**production `/api/sentry-tunnel` 已不再回顯實際 upstream target但 repo 內 `apps/web/.env.example` 仍保留多個 `NEXT_PUBLIC_*` 內網 IP 範例與 server-side `SENTRY_HOST` 內網 URL。這不一定代表目前正式站已外洩但會讓未來複製範例建置時把內網拓樸 bake 進 JS bundle 或公開文件,違反前端內網 IP 禁令。