Files
awoooi/docs/security/GITEA-INVENTORY-COVERAGE-ATTESTATION.md
Your Name 9e15fd08b3
All checks were successful
CD Pipeline / tests (push) Successful in 1m39s
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 5m19s
CD Pipeline / post-deploy-checks (push) Successful in 2m11s
feat(web): land iwooos security posture surfaces
2026-05-25 20:35:52 +08:00

95 lines
5.4 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.
# Gitea 清冊覆蓋 Owner Attestation
| 項目 | 內容 |
|------|------|
| 日期 | 2026-05-17 |
| 狀態 | 草案,等待 owner attestation |
| 資料契約 | `docs/schemas/gitea_inventory_coverage_attestation_v1.schema.json` |
| 快照 | `docs/security/gitea-inventory-coverage-attestation.snapshot.json` |
| 來源契約 | `gitea_repo_inventory_v1` |
| 上游請求 | `gitea_authenticated_inventory_export_request_v1` / `gitea_authenticated_inventory_import_acceptance_v1` |
| Response 收件包 | `docs/security/GITEA-INVENTORY-OWNER-ATTESTATION-RESPONSE.md` |
| 模式 | `coverage_attestation_only` |
| 執行面授權 | `false` |
## 0. 核心結論
S4.7 補的是「owner 怎麼說明 Gitea 清冊覆蓋缺口」。
S4.9 已補上 owner response request packet、template status ledger、audit event templates、redaction examples、display sections、collection checks 與收件包,規範 AwoooP 要如何提示 owner、如何逐 template 顯示 waiting / request ready、如何顯示 0 emitted 的脫敏 metadata audit template、如何提供脫敏 evidence 回覆範例、如何固定只讀顯示順序、如何維持 request / received / accepted 分離、owner 回覆這 5 個 items 時的必填欄位、驗收規則與拒收規則;目前仍未收到 response。
目前 `gitea_repo_inventory_v1` 仍是 public-only / partial未認證公開範圍只看到 2 個 repos本機 remote evidence 看到 4 個 Gitea unique repos另有 4 個 110 internal adjacent sources 需要判定是否屬本輪 GitHub migration scope。
此文件不要求使用者貼 token不匯入 payload不寫 Gitea不建立 GitHub repo不 sync refs也不切 GitHub primary。它只把 owner 需要表態的 5 個 coverage items 固定下來,讓 AwoooP 可以 mirror 成 review lane。
## 1. Attestation 摘要
| 指標 | 值 |
|------|----|
| owner attestation 狀態 | `waiting_owner_attestation` |
| 必要 attestation items | 5 |
| 已收到 attestation | 0 |
| 已接受 attestation | 0 |
| 已拒收 attestation | 0 |
| S4.9 owner response request packet | 1 |
| S4.9 owner response template statuses | 5 |
| S4.9 owner response audit event templates | 3 |
| S4.9 owner response redaction examples | 5 |
| S4.9 owner response display sections | 8 |
| S4.9 owner response collection checks | 6 |
| S4.9 owner response templates | 5 |
| 已收到 owner response | 0 |
| 未認證公開範圍 repos | 2 |
| 本機可見 Gitea unique repos | 4 |
| 本機 Gitea 覆蓋缺口 | 2 |
| 110 internal adjacent sources | 4 |
| 需要 owner scope decision | `true` |
| 允許收集 token value | `false` |
| 允許 repo write / refs sync | `false` |
| 授權切換 GitHub primary | `false` |
## 2. 必要 Attestation Items
| Item | 需要 owner 判定 | 目前缺口 |
|------|----------------|----------|
| `public_only_vs_local_gitea_gap` | `wooo/clawbot-v5``wooo/wooo-aiops` 是否仍屬本輪 scope | public-only 2 repos本機 Gitea unique 4 repos |
| `org_user_endpoint_identity` | `wooo` 應以 user、org 或兩者盤點 | org endpoint blocked / 404 不等於沒有 private repos |
| `internal_110_adjacent_scope` | `bitan-pharmacy``root/momo-pro-system``tsenyang-website``wooo/wooo-infra-config` 是否納入 | 110 adjacent sources 未正式 scope decision |
| `repo_owner_canonical_scope` | 每個 in-scope repo 的 owner、canonical source、GitHub target、visibility 責任人 | GitHub target / canonical / owner 尚未全量確認 |
| `legacy_or_inaccessible_repo_disposition` | legacy、archived、external 或 inaccessible repo 的處置 | 未出現在 payload 的 repo 不能自動視為完成 |
## 3. 可接受決策值
| 決策值 | 意義 |
|--------|------|
| `in_scope` | 納入本輪 inventory / GitHub migration scope |
| `out_of_scope` | 排除本輪 scope但必須留下 owner 理由 |
| `legacy_archived` | 歷史或封存來源,只保留 evidence 與後續 review |
| `external_system` | 由外部系統或非本輪 source-control 管線管理 |
| `inaccessible_requires_followup` | 目前不可讀,需要 owner / 管理者補 evidence |
| `unknown_requires_more_evidence` | evidence 不足,維持 blocker |
## 4. AwoooP 可做
1. 顯示 S4.7 owner attestation request 與 5 個 coverage items。
2. 將每個 item mirror 成 review lane 或 approval candidate。
3. 顯示目前 `received_attestation_count=0``accepted_attestation_count=0`
4. 在 owner 提供決策後,只更新 read-only matrix、decision table、readiness gate 與 status rollup。
5. 維持 `gitea_repo_inventory_v1.status=partial`,直到 S4.6 payload 通過且 attestation 被接受。
## 5. AwoooP 不可做
1. 不要求使用者貼 token value。
2. 不保存 token、secret、cookie、session、private key。
3. 不用 write-capable token。
4. 不寫入 Gitea不建立、刪除、封存或修改 repo。
5. 不建立 GitHub repo不修改 visibility不 sync refs不 delete refs不 force push。
6. 不把 owner attestation 當成 GitHub primary approval。
7. 不新增 scan / execute / repo / refs action button。
## 6. 階段定位
S4.7 是 S4.5 匯出請求與 S4.6 匯入驗收之後的 owner scope decision gate。
它解決的是「哪些缺口需要 owner 說清楚」,不是「開始搬 repo」。完成 S4.7 後,仍需 authenticated/admin export payload、refs truth、workflow / secret name parity、rollback ADR owner approval 與逐 repo runtime gate才能談 GitHub primary cutover。