docs(iwooos): 記錄備份復原金庫 gate 驗證 [skip ci]

This commit is contained in:
Your Name
2026-06-15 15:34:36 +08:00
parent b00a817473
commit b16f4c7332

View File

@@ -1,3 +1,49 @@
## 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、不碰主機。
**完成項目**
- `scripts/security/backup-restore-owner-response-acceptance.py` 追加 restore recovery / freshness / isolation / dependency / classification / remote delete / retention / observer stop / credential recovery / no-false-green 欄位。
- Backup / Restore / Escrow owner response acceptance 固定為 acceptance fields `33`、required owner response fields `23`、reviewer checks `22`、outcome lanes `9`、blocked actions `31`,所有 received / accepted / runtime / action count 仍為 `0`
- 新增 `restore_recovery_backfill_required``remote_delete_retention_review_required` outcome lanes並阻擋缺 freshness SLO、缺隔離還原目標、缺 remote delete guard、缺 retention runway、缺 credential recovery 非明文證明、backup health false green、跳過 dependency map / data classification review 或保存 raw restore payload。
- `high-value-config-control-coverage``backup_restore_credential` 只讀成熟度從 `62%` 推進到 `64%`,狀態為 `restore_recovery_backfill_ready_needs_owner_live_evidence`;高價值配置平均成熟度維持 `69%`needs-live-evidence 類別維持 `10`
- `/zh-TW/iwooos` 前台顯示 `備份 / 還原 / 金庫``64%`、restore recovery、freshness SLO、隔離還原目標、遠端刪除保護、retention runway、credential recovery metadata-only 與 no-false-green backup health Gate`en.json` 維持繁中鏡像。
**本地驗證**
- JSON parse 驗證 `apps/web/messages/zh-TW.json``apps/web/messages/en.json` 與三份 security snapshot 通過。
- `python3 -m py_compile scripts/security/backup-restore-owner-response-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``DOC_SECRET_SANITY_OK scanned_files=871`
- `pnpm --filter @awoooi/web typecheck` 通過。
- `git diff --check` 通過。
- 前端敏感字串掃描未在產品文案中命中 `codex_delegation``source_thread_id`、逐字工作指令、原始 owner namespace、raw blocker 狀態或前台內網 IP只命中既有遮罩規則與 Work Items 內部欄位名稱。
**Gitea / CD**
- Code commit`03590202 feat(iwooos): 強化備份復原金庫回補 gate`
- Code-review run`3043`,成功。
- CD run`3042`,成功;`tests``build-and-deploy``post-deploy-checks` 皆成功。
- Deploy marker`b00a8174 chore(cd): deploy 0359020 [skip ci]`
**Production 驗證**
- in-app browser`/zh-TW/iwooos?_v=b00a8174-backup-restore-smoke` 顯示 IwoooS、`備份 / 還原 / 金庫``64%`、restore recovery、freshness SLO、隔離還原目標、遠端刪除保護、retention runway、credential recovery metadata-only、no-false-green backup health Gateconsole error `0`;頁面水平溢出 `0`;敏感字串命中 `0`
- Browser desktop `1280x720``/zh-TW/iwooos?_v=b00a8174-backup-restore-fixed-desktop``200`console error `0``horizontalOverflow=0`,必填文案缺漏 `0`,敏感字串命中 `0`
- Browser mobile `390x844``/zh-TW/iwooos?_v=b00a8174-backup-restore-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`
- Browser 截圖:
- `/tmp/awoooi-iwooos-desktop-1280x720-b00a8174.png`
- `/tmp/awoooi-iwooos-mobile-390x844-b00a8174.png`
**完成度與邊界**
- Backup / Restore / Escrow restore recovery backfill gate`0% -> 100%`
- Backup / restore / credential 只讀成熟度:`62% -> 64%`
- 高價值配置平均成熟度:維持 `69%`needs-live-evidence 類別:`10`
- IwoooS headline 維持 `64%`active runtime gate 維持 `0`
- owner response received / accepted、freshness SLO accepted、restore target isolation accepted、backup dependency map accepted、data classification accepted、remote delete guard accepted、retention runway accepted、restore observer stop condition accepted、credential recovery drill accepted、backup health no-false-green accepted、backup run、restore run、offsite sync、remote delete、retention change、secret collection、host write、production write、runtime execution、action button 全部維持 `0 / false`
- 本輪未 SSH、未讀 live backup raw payload、未執行 backup / restore / offsite sync、未 remote delete、未 restic prune、未寫 escrow marker、未改 retention、未改 Nginx、未重啟 Docker / service、未修改 firewall / iptables、未執行 active scan、未收 secrets 明文、未 force push。
## 2026-06-15Docker / systemd 主機服務事故恢復回補 Gate
**背景**110 端口與服務異常後IwoooS 不能只看「服務最後是否恢復」,也不能把 Docker / systemd / compose / repair bot / Ansible 的健康狀態誤判成配置已被資安接受。本階段補上主機服務事故恢復回補 Gate只建立只讀 owner response acceptance、前台可視化與拒收規則不讀 live host、不 SSH、不執行 Docker / systemctl / repair bot / Ansible、不重啟服務、不收 secret 明文。