7.1 KiB
IwoooS 前端資安態勢投影契約
| 項目 | 內容 |
|---|---|
| 日期 | 2026-05-19 |
| 狀態 | 草案 |
| Schema | docs/schemas/iwooos_posture_projection_v1.schema.json |
| Snapshot | docs/security/iwooos-posture-projection.snapshot.json |
| 模式 | mirror_only |
| runtime 執行授權 | false |
1. 目的
iwooos_posture_projection_v1 定義 IwoooS 如何把既有資安網資料投影到前端。
它只允許顯示資安態勢、headline progress、framework / runtime landing、non-blocking lanes、evidence refs 與下一個高層 gate。它不是掃描器、不是修復器、不是 approval gate,也不是 GitHub primary cutover 授權。
2. 來源
IwoooS 首版只讀取或對齊以下已提交 evidence:
| 來源 | 用途 |
|---|---|
security_mirror_status_rollup_v1 |
58% headline、36 contracts、0 active runtime gates、下一個高層 gate |
security_rollout_policy_v1 |
7 條 low-friction non-blocking lanes |
source_control_owner_response_validation_rollup_v1 |
owner response 仍為 0、S4.9 下一個收件候選 |
kali_integration_status_v1 |
Kali 112 observe-only 整合態勢 |
/iwooos 前端路由 |
顯示入口,不提供執行按鈕 |
| 既有前端資安頁面 | 只讀索引,不搬移原頁責任邊界、不新增執行控制 |
3. 前端可顯示
- Security Posture / Exposure 入口。
- 58% headline progress 與框架 / runtime landing 判讀。
- 36 個主要契約、33 ready、2 partial、1 contract-only、0 blocked。
- 0 active runtime gates。
- Exposure、source-control、Kali 112、approval boundary 四個面向。
- 7 條 non-blocking lanes。
- evidence refs 與下一個高層 gate。
- 10 個既有前端資安相關頁面索引。
- 4 個前端資安責任面與 5 個重疊 / 衝突控制。
- 6 個只讀資安處理旅程階段。
- 7 個 owner evidence readiness items。
3.1 既有前端資安頁面整合
S2.10 將前端原本已存在的資安相關頁面收進 IwoooS,只作為 route / source / read-only mode 索引。
| Route | 來源 | IwoooS 呈現 |
|---|---|---|
/security-compliance |
SecurityPanel / CompliancePanel |
安全合規整合頁 |
/security |
apps/web/src/app/[locale]/security/page.tsx |
既有安全監控頁 |
/compliance |
apps/web/src/app/[locale]/compliance/page.tsx |
既有合規頁 |
/alerts |
useIncidents / IncidentCard |
告警管理 |
/errors |
ErrorsPanel |
錯誤與 UX 稽核 |
/authorizations |
LiveApprovalPanel |
HITL / multi-sig 授權中心 |
/governance |
Governance tabs | AI 治理中樞 |
/alert-operation-logs |
Alert operation log page | 告警操作稽核 |
/awooop/approvals |
AwoooP approvals page | AwoooP 審批佇列 |
/code-review |
Code Review page | AI Code Review 控制面 |
這些 route 仍保留原本功能與 owner 邊界;IwoooS 只提供可見索引,不把任何頁面升級成 scan、execute、repair、blocking gate、deploy approval 或 runtime authorization。
3.2 覆蓋與邊界矩陣
S2.11 將 10 個既有前端資安頁面分成四個責任面,讓使用者看懂「訊號在哪裡、人工控制在哪裡、治理稽核在哪裡、工程審查在哪裡」。
| 責任面 | Route | 邊界 |
|---|---|---|
| 訊號與暴露面 | /security-compliance、/security、/compliance、/alerts、/errors |
顯示風險、事件、錯誤、UX audit 與合規訊號,不把 observation 直接升 blocking |
| 人工控制邊界 | /authorizations、/awooop/approvals |
顯示 HITL / multi-sig / AwoooP approvals;不等於資安 runtime gate 已批准 |
| 治理與稽核 | /governance、/alert-operation-logs |
顯示治理事件、SLO、補救佇列與操作日誌;audit event 不是執行授權 |
| 工程審查 | /code-review |
顯示 AI Code Review pipeline;review 結果可產生 follow-up,不等於 deploy approval |
重疊 / 衝突控制:
- IwoooS 保留原 route owner,不搬移資料寫入權。
- 覆蓋矩陣不得升級成 runtime gate。
- Code Review link 不等於 deploy approval。
- AwoooP approval 狀態不等於資安 approval decision record。
- 前端索引不得呼叫 Kali active scan 或
/execute。
3.3 資安處理旅程
S2.12 將使用者可見的資安處理流程固定為 6 個只讀階段:
| 順序 | 階段 | 輸出 |
|---|---|---|
| 1 | 讀取目前態勢 | 顯示 posture / progress / gate 狀態,不代表授權 |
| 2 | 開啟既有資安頁面 | 進入原 route,保留原 owner 與資料邊界 |
| 3 | 判讀非阻擋分流 | 建 follow-up,不直接升 blocking |
| 4 | 收 owner evidence | 更新 received / accepted 狀態,不執行 repo / refs / workflow / Kali 動作 |
| 5 | 等待人工決策 | 需要 decision record,不用 AwoooP approval、Code Review 或進度數字替代 |
| 6 | 準備後續 runtime gate | 只有人工批准後才另開 follow-up runtime gate;目前 active runtime gates 仍為 0 |
這個旅程是 status projection,不是 execution queue。任何 active scan、repair、deploy、GitHub primary、repo / refs / workflow / runner 或 secret 變更,都仍需獨立批准與後續 runtime gate。
3.4 Owner Evidence Readiness
S2.13 將 headline 進度下一步真正需要的 evidence 顯示成只讀 readiness board。
| 順序 | Evidence item | 目前狀態 | 解除條件 |
|---|---|---|---|
| 1 | S4.9 Gitea owner attestation response | next collection candidate;received=0、accepted=0 | 收到並接受脫敏 owner response |
| 2 | S4.10 GitHub target owner response | waiting owner response;received=0、accepted=0 | GitHub target owner response accepted |
| 3 | S4.11 refs truth owner response | waiting owner response;received=0、accepted=0 | refs truth owner response accepted |
| 4 | S4.12 workflow / secret name owner response | waiting owner response;received=0、accepted=0 | workflow / secret owner response accepted |
| 5 | Redacted finding ingestion | approval required;received=0、accepted=0 | 人工批准後接收脫敏 finding |
| 6 | Kali scan scope approval | approval required;received=0、accepted=0 | scan scope approval + follow-up runtime gate |
| 7 | Follow-up runtime gate | locked until human decision;active gate=0 | decision record accepted 後另開 runtime gate |
這個 board 只說明「還缺什麼」,不代表已收到 evidence、已接受 evidence、已批准、已可掃描、已可修復、已可部署或已可切 GitHub primary。
4. 仍禁止
IwoooS 不得提供下列輸出:
- scan / execute / repair button。
- repo creation、visibility change、refs sync / delete / force push。
- workflow / webhook / runner / deploy key / branch protection / repository secret 修改。
- GitHub primary switch 或 Gitea disable。
- production deploy 或 runtime enforcement。
- 把 58% progress、contract count、mirror readiness 或前端可見狀態當成授權。
5. 驗證
只讀驗證:
python3 scripts/security/security-mirror-progress-guard.py
這個 guard 會確認 IwoooS 投影與 rollup / rollout policy 對齊,且 runtime_execution_authorized=false、action_buttons_allowed=false、not_authorization=true。