# 112 / 111 / 168 Observe-only 資產 Mapping

| 項目 | 內容 |
|------|------|
| 日期 | 2026-06-04 |
| 狀態 | observe-only mapping + 維護準備 / scope handoff 規範；尚未寫入 DB / inventory seed |
| 範圍 | Kali 資安主機與兩台開發主機 |
| 上游 | `docs/security/KALI-SECURITY-MESH-BLUEPRINT.md` |

## 0. 原則

112 / 111 / 168 初期全部採 `observe_only=true`。

這代表：

- 可以盤點。
- 可以建立資產 mapping。
- 可以產生 warning-only findings。
- 可以 mirror evidence 到 AwoooP。
- 不可以 blocking release。
- 不可以自動封鎖。
- 不可以自動修復。
- 不可以執行 credentialed scan，除非另行批准。

## 1. Host Mapping

| Host | 暫定 asset_key | 角色 | 初期模式 | Owner |
|------|----------------|------|----------|-------|
| `192.168.0.112` | `host:kali-112` | Kali 資安感測主機 | `observe_only` | Security Supply Chain |
| `192.168.0.111` | `host:dev-ai-111` | Local AI / Ollama fallback / 開發輔助主機 | `observe_only` | Dev Host Steward |
| `192.168.0.168` | `host:dev-workstation-168` | 開發工作站 / local development origin | `observe_only` | Dev Host Steward |

## 1.1 維護準備欄位

以下欄位只是維護窗口草案的最低資料，不代表批准維護、掃描或主機變更。

| Host | scope | maintenance window | credential handling | rollback owner | validation 指標 |
|------|-------|--------------------|---------------------|----------------|-----------------|
| `192.168.0.112` | Kali scanner health、tool version、package posture、`networking.service`、service hardening readiness；P1-7 草案見 `KALI-112-MAINTENANCE-WINDOW-DRAFT.md` | 待人工指定；目前不得更新、重啟、hardening 或 active scan | SSH key / token 狀態只可記錄 present / absent；不得保存密碼、token value、private key | Security Supply Chain 指派後才可動作 | scanner health、node exporter、wg-easy、pending updates、failed services、reboot required、post-check screenshot / log ref |
| `192.168.0.111` | Ollama fallback、model inventory、host reachability、SSH policy posture、fallback readiness；P1-8 草案見 `DEV-HOSTS-111-168-SCOPE-HANDOFF.md` | 待人工指定；目前不得停止模型、重啟服務或改 fallback route | 不收模型 API key、SSH 密碼、private key、token、cookie、authorization header 或任何可還原 secret derivative；只保存脫敏 evidence ref | Dev Host Steward 指派後才可動作 | Ollama route truth、fallback availability、model list hash、service status、AI route smoke |
| `192.168.0.168` | local development origin、repo hygiene、dev-only CORS、local service exposure；P1-8 草案見 `DEV-HOSTS-111-168-SCOPE-HANDOFF.md` | 待人工指定；目前不得 credentialed scan、讀取未授權目錄、讀個人資料或改 CORS / firewall / service | 不收個人憑證、不讀私有目錄、不保存 secrets value、secret hash、masked token 或 partial token | Dev Host Steward 指派後才可動作 | repo secret scan summary、local service list summary、CORS origin review、rollback / disable note |

## 1.2 目前已知 111 / 168 缺口

| 缺口 | 狀態 | 邊界 |
|------|------|------|
| `192.168.0.111` Ollama fallback route truth | P1-8 scope handoff 已建立；owner response 未收 | 不改 `OLLAMA_URL`、`OLLAMA_SECONDARY_URL`、`OLLAMA_FALLBACK_URL`、proxy route 或 model runtime |
| `192.168.0.111` model inventory posture | 只允許收模型清單摘要 / hash 與 owner evidence ref | 不收 prompt、token、API key、私有資料或模型操作命令 |
| `192.168.0.111` service / SSH policy posture | 只允許收服務狀態摘要與 policy posture | 不 SSH、不 restart、不改 firewall、不停止模型 |
| `192.168.0.168` local development origin | P1-8 scope handoff 已建立；owner response 未收 | 不改 dev-only CORS、不改 production route、不把 local origin 當 production 授權 |
| `192.168.0.168` repo hygiene / secret summary | 只允許 repo 層級摘要與脫敏 evidence ref | 不讀未授權目錄、不收 secret value / hash / partial token、不掃描個人資料 |
| `192.168.0.168` local service exposure | 只允許 owner 提供或授權的 service summary | 不 port scan、不改 firewall、不停止服務 |

## 1.3 目前已知 112 缺口

| 缺口 | 狀態 | 邊界 |
|------|------|------|
| 待更新套件 | 約 1994 | 不得直接 `apt upgrade` |
| `networking.service` | failed | 不得直接 restart |
| 服務硬化 | 0/4 | 不得直接套 hardening |
| active scan / `/execute` | 未批准 | 不得由 AwoooP 或 Codex 觸發 |
| reboot | 未授權 | 需 maintenance window、rollback、post-check |

## 2. 初期允許盤點項目

| Host | 允許項目 | 不允許項目 |
|------|----------|------------|
| `112` | scanner health、工具版本、scan job metadata、結果匯出格式 | 未批准的 exploit scan、credentialed host scan、production active DAST |
| `111` | Ollama API exposure、模型 inventory、host reachability、SSH policy posture | 自動停止模型、自動改 firewall、自動調整 fallback route |
| `168` | local service exposure、repo secrets hygiene、dev-only CORS 來源確認 | 掃描個人資料、讀取未授權目錄、credentialed scan |

## 3. Finding 對應

| 類型 | 對應 category | recommended_mode |
|------|---------------|------------------|
| 112 scanner down | `tool` / `exposure` | `warn` |
| 112 scanner result schema drift | `supply_chain` | `observe` |
| 111 Ollama API 暴露過寬 | `exposure` | `warn` |
| 111 模型 fallback 不可用 | `misconfig` | `observe` |
| 168 dev CORS 來源漂移 | `misconfig` | `warn` |
| 168 repo 疑似 secret | `secret` | `approve_required` |

## 4. AwoooP Mirror

初期 mirror 成：

- `security_finding_v1`
- `approval_required_event_v1`，僅在 `secret`、`HIGH`、`CRITICAL` 或任何需要權限變更時使用

AwoooP 初期只做：

- policy 建議。
- approval queue。
- audit / evidence 顯示。
- exception / accepted risk 記錄。

AwoooP 初期不做：

- 直接執行 scan。
- 直接執行 host command。
- 直接改 firewall / RBAC / NetworkPolicy。
- 直接 rotate secrets。

## 5. 未來 DB Seed 前置條件

要寫入 `asset_inventory` 前，必須先確認：

1. `asset_key` 命名被接受。
2. owner mapping 被接受。
3. observe-only scope 被接受。
4. redaction policy 被接受。
5. rollback / disable flag 被命名。

目前尚未開始 DB 實作。

## 6. IwoooS 顯示邊界

IwoooS 可以顯示 112 / 111 / 168 的 observe-only 狀態、維護準備欄位、scope handoff、缺口與下一步，但不得顯示或提供任何會直接觸發主機命令、掃描、更新、重啟、hardening、credentialed scan、fallback route change、CORS / firewall / service 修改、firewall/RBAC/NetworkPolicy 修改或 `/execute` 的 action button。
