From 2f9d72b7afd18cd4ea76e32c1f33faa585602276 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 15 Jun 2026 06:06:59 +0800 Subject: [PATCH] =?UTF-8?q?docs(iwooos):=20=E8=A8=98=E9=8C=84=E4=BE=9B?= =?UTF-8?q?=E6=87=89=E9=8F=88=E5=9F=BA=E7=B7=9A=E9=A9=97=E8=AD=89=20[skip?= =?UTF-8?q?=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/LOGBOOK.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 732a2842..70888019 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,45 @@ +## 2026-06-15|Package / Docker 供應鏈 repo-only baseline 完成 + +**背景**:IwoooS 資安治理已把 Nginx、K8s、Secrets、runner、firewall、backup 與 monitoring 納入高價值配置帳本,但 package manifest、Python dependency、lockfile、Dockerfile 與 docker-compose image refs 尚未有獨立 repo-only 供應鏈基線。此缺口會讓 CVE / license / SBOM / image digest / registry owner 後續沒有可比較的起點。 + +**完成項目**: +- 新增 `scripts/security/package-supply-chain-baseline.py`,只讀掃描 repo 內 package manifest、lockfile、Python dependency file、Dockerfile 與 docker-compose image refs。 +- 新增 `docs/security/package-supply-chain-baseline.snapshot.json`,固定目前 baseline:`package_json=6`、`pyproject=4`、`requirements=2`、`dockerfiles=2`、`compose=6`、`gaps=5`、`runtime_gate=0`。 +- 新增 `docs/security/PACKAGE-SUPPLY-CHAIN-BASELINE.md` 與 `docs/schemas/package_supply_chain_baseline_v1.schema.json`,定義判讀、owner evidence 欄位、指令與邊界。 +- 更新 `SECURITY-SUPPLY-CHAIN-PROGRESS.md` 與 `IWOOOS-CONFIG-CONTROL-INVENTORY.md`,把 Package / Docker supply-chain baseline 納入 P2 repo-only evidence。 +- 明確標註本 baseline 尚未列入 `security-supply-chain-contract-manifest.snapshot.json` 的 36 個正式 AwoooP 消費 contract;若後續要前台消費,必須同步 manifest、readiness、route、rollup、dry-run、posture projection 與 guard count。 + +**目前缺口**: +- `python_lockfile_absent`:Python 專案尚無 lockfile / lock policy 基線。 +- `requirements_unpinned_entries_present`:`requirements.txt` 共 `26` 條 entry,目前皆非 `==` pin。 +- `docker_base_images_not_all_digest_pinned`:Dockerfile 外部 `FROM` image 共 `3` 個,digest pinning `0`。 +- `docker_copy_from_images_not_all_digest_pinned`:Dockerfile 外部 `COPY --from` image 共 `1` 個,digest pinning `0`。 +- `compose_images_not_all_digest_pinned`:docker-compose image refs 共 `16` 個,digest pinning `0`。 + +**本地驗證**: +- `python3 -m py_compile scripts/security/package-supply-chain-baseline.py` 通過。 +- `python3 scripts/security/package-supply-chain-baseline.py --root . --generated-at 2026-06-15T06:20:00+08:00 --output docs/security/package-supply-chain-baseline.snapshot.json` → `PACKAGE_SUPPLY_CHAIN_BASELINE_OK package_json=6 pyproject=4 requirements=2 dockerfiles=2 compose=6 gaps=5 runtime_gate=0`。 +- `python3 -m json.tool docs/security/package-supply-chain-baseline.snapshot.json` 通過。 +- `python3 -m json.tool docs/schemas/package_supply_chain_baseline_v1.schema.json` 通過。 +- `python3 scripts/security/iwooos-config-control-guard.py --root .` → `IWOOOS_CONFIG_CONTROL_GUARD_OK`。 +- `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 .gitea` → `DOC_SECRET_SANITY_OK scanned_files=862`。 +- `git diff --check` 通過。 + +**Git / Gitea**: +- Baseline commit:`1ab85f51 test(iwooos): 新增 package docker 供應鏈基線 [skip ci]`。 +- 本輪為 repo-only 文件 / snapshot / 腳本更新,`[skip ci]`,不觸發正式部署。 + +**完成度與邊界**: +- Package / Docker supply-chain repo-only baseline:`0% -> 100%`。 +- Node lockfile 基線:`80%`,`pnpm-lock.yaml` 存在,仍需 owner policy。 +- Python lock policy:`30%`,已盤點但尚缺 owner 決策。 +- Docker / compose image policy:`35%`,已盤點但尚缺 digest pinning policy、registry owner 與 rollback owner。 +- CVE / license / SBOM 驗證:`0%`。 +- IwoooS 整體仍維持 `64%`;active runtime gate 仍維持 `0`。 +- 本輪未 install、未 upgrade、未跑 CVE / license / SBOM scan、未 pull / build / push image、未改 tag、未登入 registry、未修改 workflow / secret / runner、未部署。 + ## 2026-06-15|IwoooS 高價值配置集中 Guard 完成 **背景**:高價值配置控管已涵蓋 Nginx、DNS / TLS、K8s / ArgoCD、Secrets / runner、Public runtime、SSH / firewall、Backup / DR、Monitoring 與 agent-bounty-protocol 等多個只讀帳本,但缺少一個集中 guard 去確認 14 類配置、C0 類別、owner / change evidence 帳本、supply-chain manifest 與 `0 / false` 邊界仍一致。此缺口會讓 Nginx、runner、secret、firewall、backup 等控管容易停在文件盤點,後續也容易被局部 snapshot 漂移。