feat(web): 視覺化 IwoooS 資安指揮板
All checks were successful
CD Pipeline / tests (push) Successful in 1m35s
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / build-and-deploy (push) Successful in 3m43s
CD Pipeline / post-deploy-checks (push) Successful in 3m10s

This commit is contained in:
Your Name
2026-05-31 18:45:53 +08:00
parent ab780892b6
commit 59b4943bf9
6 changed files with 901 additions and 8 deletions

View File

@@ -1,3 +1,58 @@
## 2026-05-31IwoooS 視覺化資安指揮板與 Kali 維護就緒度
**背景**
- 使用者指出 `/zh-TW/iwooos` 文字量過高,不符合專業資安市場主流的視覺化、圖表化、互動式資安體驗。
- 本輪保持 Gate 0 與低摩擦原則:只改善前台 UX、只讀 evidence 與 guard不啟動掃描、`/execute`、Kali 更新、重啟或 GitHub primary 切換。
**本次調整**
- `apps/web/src/app/[locale]/iwooos/page.tsx`
- 新增 `IwoooSVisualCommandDashboard`,第一層改成風險環、產品 / 主機覆蓋節點、Gate 矩陣與 drill-down details。
- overview 長內容改為預設收合,避免首頁一進來就被大量文字淹沒。
- 新增 `KaliMaintenanceReadinessBoard`,把 Kali `192.168.0.112` 的只讀快照、待更新套件 `1994`、failed systemd unit `1`、full-upgrade / reboot Gate 0 邊界視覺化。
- `apps/web/messages/zh-TW.json` / `apps/web/messages/en.json`
- 補齊視覺化資安指揮板與 Kali 維護就緒度文案;兩個語系維持繁體中文鏡像。
- `docs/security/iwooos-posture-projection.snapshot.json`
- 新增 `display_visual_command_dashboard``visual_command_dashboard_widget_count=13``long_form_sections_default_collapsed=true`
- 新增 Kali 維護就緒度四個只讀 projection item。
- `scripts/security/security-mirror-progress-guard.py`
- 新增視覺化指揮板、Kali 維護就緒度、繁中鏡像與禁止升級成執行授權的 guard。
**驗證**
```text
python3 scripts/security/security-mirror-progress-guard.py -> SECURITY_MIRROR_PROGRESS_GUARD_OK
python3 scripts/security/source-control-owner-response-guard.py -> SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK
python3 -m json.tool apps/web/messages/zh-TW.json / en.json / docs/security/iwooos-posture-projection.snapshot.json -> pass
cmp -s apps/web/messages/zh-TW.json apps/web/messages/en.json -> pass
pnpm --dir apps/web run typecheck -> pass
NEXT_PUBLIC_API_URL=https://awoooi.wooo.work pnpm --dir apps/web run build -> pass
local browser smoke:
/zh-TW/iwooos desktop 1440:
visualDashboardVisible=true
overviewOpen=false
horizontalOverflow=false
hasChartRing=true
hasKaliGate=true
/zh-TW/iwooos mobile 390:
visualDashboardVisible=true
overviewOpen=false
horizontalOverflow=false
hasChartRing=true
hasKaliGate=true
screenshots:
/tmp/iwooos-visual-dashboard-desktop-20260531.png
/tmp/iwooos-visual-dashboard-mobile-20260531.png
```
**進度邊界**
- 整體資安進度仍維持 `61%`;這是 UX / 可理解性 / read-only projection 進步,不是 runtime 開閘。
- Kali `192.168.0.112` 仍沒有執行 full-upgrade、autoremove、reboot、active scan 或 `/execute`
- 下一個真正推動 headline progress 的 Gate 仍是負責人回覆被驗收、redacted finding ingestion、GitHub primary evidence 或 active runtime gate 其中之一。
## 2026-05-31Work Items 焦點 Incident 稽核鏈 local 收斂
**背景**

View File

@@ -32,6 +32,9 @@
"approval_queue_total": 8,
"pending_approval_count": 7,
"block_candidate_count": 1,
"visual_command_dashboard_widget_count": 13,
"visual_command_dashboard_first_layer": true,
"long_form_sections_default_collapsed": true,
"owner_response_validation_received_count": 0,
"owner_response_validation_accepted_count": 0,
"github_primary_ready_count": 0,
@@ -49,6 +52,7 @@
"operator_journey_step_count": 6,
"owner_evidence_readiness_item_count": 7,
"host_coverage_item_count": 3,
"kali_maintenance_readiness_item_count": 4,
"host_action_gate_item_count": 6,
"host_evidence_readiness_item_count": 7,
"host_evidence_collection_step_count": 7,
@@ -242,6 +246,7 @@
"allowed_frontend_outputs": [
"display_security_posture",
"display_progress_estimate",
"display_visual_command_dashboard",
"display_awooop_read_only_landing_readiness",
"display_awooop_cross_session_handoff_packets",
"display_progress_hold_movement_gates",
@@ -254,6 +259,7 @@
"display_operator_journey_steps",
"display_owner_evidence_readiness_board",
"display_host_coverage_view",
"display_kali_maintenance_readiness_board",
"display_host_action_gate_matrix",
"display_host_evidence_readiness_board",
"display_evidence_refs",
@@ -1139,6 +1145,57 @@
"not_authorization": true
}
],
"kali_maintenance_readiness_items": [
{
"item_id": "kali_112_read_only_snapshot",
"display_order": 1,
"source_contract": "kali_integration_status_v1",
"source_observed_at_taipei": "2026-05-31T17:22:20+08:00",
"readiness_state": "snapshot_collected_read_only",
"display_mode": "maintenance_readiness_only",
"runtime_execution_authorized": false,
"package_update_executed": false,
"host_reboot_executed": false,
"active_scan_executed": false,
"not_authorization": true
},
{
"item_id": "kali_112_upgradable_package_count",
"display_order": 2,
"source_contract": "kali_integration_status_v1",
"metric_value": 1994,
"readiness_state": "maintenance_window_required",
"display_mode": "maintenance_readiness_only",
"full_upgrade_authorized": false,
"runtime_execution_authorized": false,
"package_update_executed": false,
"not_authorization": true
},
{
"item_id": "kali_112_failed_systemd_unit_count",
"display_order": 3,
"source_contract": "kali_integration_status_v1",
"metric_value": 1,
"readiness_state": "pre_maintenance_health_check_required",
"display_mode": "maintenance_readiness_only",
"runtime_execution_authorized": false,
"host_reboot_executed": false,
"not_authorization": true
},
{
"item_id": "kali_112_full_upgrade_reboot_gate",
"display_order": 4,
"source_contract": "security_approval_queue_v1",
"source_queue_item_id": "kali-full-upgrade-reboot-approval-20260513",
"readiness_state": "pending_approval_requires_window_snapshot_rollback_post_health",
"display_mode": "maintenance_readiness_only",
"full_upgrade_authorized": false,
"reboot_authorized": false,
"runtime_execution_authorized": false,
"action_buttons_allowed": false,
"not_authorization": true
}
],
"host_action_gate_items": [
{
"action_id": "host_active_scan_gate",