From 013c13763d7c38039ee10fd0fbfc5e06ae57fb8b Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 26 Jun 2026 20:03:44 +0800 Subject: [PATCH] docs(logbook): record controlled apply guard verification [skip ci] --- docs/LOGBOOK.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 64e07e78..920623d8 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,54 @@ +## 2026-06-26|IwoooS controlled apply guard 收斂:資安讀回、防退化與正式站驗證完成 + +**背景**:P2-414B 已把 AwoooP allowlisted low / medium / high 修復路徑改成 `controlled_apply`,但部分資安 guard 與文件仍停在舊的 `runtime_write_gate=0` / `candidate_only` / 高風險人工 Gate 語意,造成 CD guard 與最新產品方向衝突。本段只收斂 source / guard / readback / production verification,不碰主機、Wazuh live、Kali、Nginx、Docker、firewall、secret 或 Telegram send。 + +**完成**: +- `telegram-alert-readability-guard.py`、`iwooos-config-control-guard.py` 與 guard snapshot 已改為要求 `controlled_playbook_queue`、`runtime_write_gate=controlled`、`allowlisted PlayBook`,並保留 `AI 自動化判讀`、`Top evidence`、`禁止事項` 等可讀性 marker。 +- `security-mirror-progress-guard.py` 已把 Code Review 只讀交接的舊人工 Gate 文案改為 `Codex 工作候選分類`、`受控自動接手`、`allowlist 內由 AI 受控修補與驗證`,並持續封鎖 auto merge、secret、force push 與 destructive action。 +- `apps/web/messages/en.json` 已同步目前繁中鏡像,避免語系切換後回到舊的人工 Gate / runtime closed 語意。 +- `SECURITY-SUPPLY-CHAIN-PROGRESS.md`、`HIGH-VALUE-CONFIG-CONTROL-COVERAGE.md`、`IWOOOS-CONFIG-CONTROL-INVENTORY.md` 已補上 controlled apply 例外與 no-false-green 邊界。 +- 已明確避開另一個工作視窗正在處理的 `apps/api/src/services/telegram_gateway.py` 與 `apps/api/tests/test_telegram_ai_automation_block.py` timeout fallback 語意,沒有重複推版。 + +**Commit / Deploy / Runs**: +- 本段 guard 修復 commit:`159196957 fix(security): align alert guards with controlled apply`。 +- Deploy marker:`73fd70474 chore(cd): deploy 1591969 [skip ci]`;Gitea CD `#3516` 成功。 +- 後續前端 mobile 防溢位收斂:`3fadddbfc fix(web): tighten security compliance mobile grid`,deploy marker `afdbdc0f7 chore(cd): deploy 3fadddb [skip ci]`,Gitea CD `#3518` 成功。 +- 後續 drilldown label wrapping:`647131d59 fix(web): wrap security compliance drilldown labels`,deploy marker `a28786c55 chore(cd): deploy 647131d [skip ci]`,Gitea CD `#3520` 成功。 +- 本視窗已 rebase 到最新 `gitea/main` `aee743ba6 fix(web): convert mobile navigation to drawer shell`;此提交未納入本段 production 驗收宣稱。 + +**本地驗證**: +- `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/ops/doc-secrets-sanity-check.py docs/security docs/templates docs/LOGBOOK.md apps/web/messages ...`:`DOC_SECRET_SANITY_OK scanned_files=274`。 +- `python3 -m json.tool apps/web/messages/zh-TW.json` / `apps/web/messages/en.json`:通過。 +- IwoooS / Telegram / operator 關鍵子集:`254 passed, 2 warnings`。 +- 完整 API CD 等價測試:`3377 passed, 23 skipped, 5 warnings`。 +- `git diff --check`:通過。 +- 本輪最後未重跑 web typecheck,因臨時 worktree 缺本地 `apps/web/node_modules/typescript`;正式瀏覽器驗證以下列 production smoke 為準。 + +**正式站 API 讀回**: +- `GET /api/v1/iwooos/security-control-coverage`:`200`,`schema_version=iwooos_security_control_coverage_v1`,`status=committed_scope_rollup_ready_with_controlled_apply_exception`,`control_plane_visibility_percent=71`,`actual_runtime_acceptance_percent=0`。 +- `GET /api/v1/iwooos/runtime-security-readback`:`200`,`schema_version=iwooos_runtime_security_readback_v1`,`status=blocked_waiting_owner_evidence_and_runtime_gates`,`control_plane_visibility_percent=84`,`actual_runtime_acceptance_percent=0`。 + +**正式站瀏覽器驗證**: +- `/zh-TW/iwooos?_v=647131d-final-desktop-browser` desktop `1280x900`:首屏正常,`IwoooS Runtime 資安讀回`、`IwoooS 資安納管覆蓋總表`、`實際 runtime acceptance` 可見;console error `0`、horizontal overflow `false`。 +- `/zh-TW/iwooos?_v=647131d-final-mobile-browser` mobile `390x844`:頁面完整載入,捲動後 Runtime board 與 Coverage board 均可見;console error `0`、horizontal overflow `false`。 +- `/zh-TW/security-compliance?_v=647131d-final-mobile-browser` mobile `390x844`:`安全合規`、`IwoooS`、`只讀`、`執行閘門` 可見;console error `0`、horizontal overflow `false`。 +- 三組 DOM 檢查均未出現 `工作視窗`、`批准!繼續`、`In app browser`、`My request for Codex` 或內網位址字串。 + +**完成度同步**: +- 本階段 controlled apply guard / 文件 / production readback 收斂:`100%`。 +- Telegram alert readability guard controlled apply alignment:`100%`。 +- Security mirror guard 與 controlled apply 相容性:`100%`。 +- IwoooS 只讀讀回與前台防退化層:`92% -> 94%`。 +- IwoooS 整體資安推進保守上修:`64% -> 65%`;不因 UI 可見、guard 通過或 route 200 虛增 runtime acceptance。 +- IwoooS runtime acceptance:仍 `0%`。 +- Owner response received / accepted:仍 `0 / 0`。 +- Wazuh manager registry accepted:仍 `0`。 +- Active scan / active response / host write / secret collection / Telegram send:仍 `0 / false`。 + +**邊界**:本段沒有修 Wazuh agent enrollment、沒有重啟 Wazuh manager / dashboard、沒有 SSH 主機、沒有改 Nginx / Docker / firewall / systemd / K8s、沒有啟動 Kali scan 或 `/execute`、沒有收集 secret 明文、沒有送 Telegram、沒有 force push;所有 runtime 授權與 owner acceptance 仍維持 `0 / false`。 + ## 2026-06-26|重啟後 live 全面清查與實際修復:服務層恢復,Stock 今日資料等待 EOD,168/110 已處理 **背景**:統帥要求停止只做文件 / 治理卡片,改以 live evidence 判斷所有主機、服務、網站、產品版本與資料 freshness 是否真的恢復。本輪只讀優先,並只對明確、低風險、已授權的資源壓力做最小修復;沒有重啟 Docker / Nginx / K3s / Wazuh / firewall,也沒有讀取 secret。