docs(iwooos): 記錄供應鏈基線驗證 [skip ci]
This commit is contained in:
@@ -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 漂移。
|
||||
|
||||
Reference in New Issue
Block a user