Files
awoooi/docs/security/IWOOOS-POSTURE-PROJECTION.md
2026-05-19 18:04:07 +08:00

101 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. 前端可顯示
1. Security Posture / Exposure 入口。
2. 58% headline progress 與框架 / runtime landing 判讀。
3. 36 個主要契約、33 ready、2 partial、1 contract-only、0 blocked。
4. 0 active runtime gates。
5. Exposure、source-control、Kali 112、approval boundary 四個面向。
6. 7 條 non-blocking lanes。
7. evidence refs 與下一個高層 gate。
8. 10 個既有前端資安相關頁面索引。
9. 4 個前端資安責任面與 5 個重疊 / 衝突控制。
## 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 pipelinereview 結果可產生 follow-up不等於 deploy approval |
重疊 / 衝突控制:
1. IwoooS 保留原 route owner不搬移資料寫入權。
2. 覆蓋矩陣不得升級成 runtime gate。
3. Code Review link 不等於 deploy approval。
4. AwoooP approval 狀態不等於資安 approval decision record。
5. 前端索引不得呼叫 Kali active scan 或 `/execute`
## 4. 仍禁止
IwoooS 不得提供下列輸出:
1. scan / execute / repair button。
2. repo creation、visibility change、refs sync / delete / force push。
3. workflow / webhook / runner / deploy key / branch protection / repository secret 修改。
4. GitHub primary switch 或 Gitea disable。
5. production deploy 或 runtime enforcement。
6. 把 58% progress、contract count、mirror readiness 或前端可見狀態當成授權。
## 5. 驗證
只讀驗證:
```text
python3 scripts/security/security-mirror-progress-guard.py
```
這個 guard 會確認 IwoooS 投影與 rollup / rollout policy 對齊,且 `runtime_execution_authorized=false``action_buttons_allowed=false``not_authorization=true`