5.5 KiB
5.5 KiB
Gitea 清冊 Owner Attestation Response 收件包
| 項目 | 內容 |
|---|---|
| 日期 | 2026-05-17 |
| 狀態 | 草案,等待 owner response |
| 資料契約 | docs/schemas/gitea_inventory_owner_attestation_response_v1.schema.json |
| 快照 | docs/security/gitea-inventory-owner-attestation-response.snapshot.json |
| 來源契約 | gitea_inventory_coverage_attestation_v1 |
| 目標契約 | gitea_repo_inventory_v1 |
| 模式 | owner_response_intake_only |
| 執行面授權 | false |
0. 核心結論
S4.9 補的是「owner 要怎麼回覆 S4.7 的 5 個 coverage attestation items」。
S4.7 已定義要問什麼,S4.8 已把它接到 AwoooP approval lane;S4.9 則把回覆欄位、驗收規則、拒收規則與允許輸出固定下來,避免 owner response 混入 token、DB dump、git object、repo 建立、refs sync 或 GitHub primary approval。
此文件不要求貼 token,不接受 raw secret,不寫 Gitea,不建立 GitHub repo,不 sync refs,也不把任何 attestation response 當成 migration approval。
1. Response 摘要
| 指標 | 值 |
|---|---|
| owner response 狀態 | waiting_owner_response |
| 必要 response items | 5 |
| 已收到 response | 0 |
| 已接受 response | 0 |
| 已拒收 response | 0 |
| response templates | 5 |
| acceptance checks | 8 |
| rejection rules | 10 |
| 允許收集 token value | false |
| 允許 raw secret | false |
| 允許 repo write / refs sync | false |
| 授權切換 GitHub primary | false |
| 允許 action button | false |
2. Owner Response 必填欄位
每筆 response 至少要能回答:
owner_role_or_team:回覆者的角色或團隊,不要求個人敏感資訊。decision:必須是該 S4.7 item 允許的決策值。decision_reason:為什麼做此 scope / disposition 判定。affected_repos、affected_sources或canonical_namespace:指出受影響 repo、namespace 或 110 adjacent source。evidence_refs:只能指向 repo 內文件、snapshot 或 owner 提供的脫敏 metadata。followup_owner:若需要補 evidence,需指定下一個負責角色或團隊。
3. 五個 Response Template
| Template | 對應 S4.7 item | 驗收重點 |
|---|---|---|
response-public-only-vs-local-gitea-gap |
public_only_vs_local_gitea_gap |
逐項判定 wooo/clawbot-v5、wooo/wooo-aiops 是否屬本輪 scope |
response-org-user-endpoint-identity |
org_user_endpoint_identity |
說明 wooo 應以 user、org 或兩者盤點;不得把 404 視為完成 |
response-internal-110-adjacent-scope |
internal_110_adjacent_scope |
逐項判定 bitan-pharmacy、root/momo-pro-system、tsenyang-website、wooo/wooo-infra-config |
response-repo-owner-canonical-scope |
repo_owner_canonical_scope |
為 in-scope repo 指定 owner、canonical source、GitHub target candidate 與 visibility review owner |
response-legacy-or-inaccessible-disposition |
legacy_or_inaccessible_repo_disposition |
對 legacy / inaccessible / external repo 留下 disposition、理由與後續 owner |
4. 驗收規則
- response 必須對應 S4.7 的 5 個 item 之一。
decision必須在該 item 的允許值內。- 必須有 owner 理由,不能只有「同意」或「排除」。
evidence_refs必須已脫敏,不得包含 token、secret、cookie、session、private key 或私有 URL 憑證。- 必須列出受影響 repo、namespace 或 source。
- 不得夾帶 runtime 或 source-control 執行要求。
- 要把 S4.7 標示為 accepted 前,5 個 items 都必須有可驗收 response。
- response 通過後,GitHub primary readiness 仍維持 blocked,
primary_ready_count不得因此大於 0。
5. 必須拒收
- token value、PAT、cookie、session、CSRF token 或 partial token。
- webhook secret、repository secret value、runner registration token 或 deploy key private key。
- private key、DB dump、git object pack、裸 repo tarball 或可還原 credential 的 artifact。
- 要求使用 write-capable token、admin token 或 secret scope token。
- 要求建立、刪除、封存或修改 Gitea repo。
- 要求建立 GitHub repo、修改 visibility、sync refs、delete refs 或 force push。
- 未逐項對應 S4.7 attestation item。
- 只提供口頭同意、截圖或不完整 repo metadata。
- 把 owner attestation 當成 repo migration approval 或 GitHub primary approval。
- 任何不確定是否含敏感值的回覆。
6. AwoooP 可做
- 顯示 5 個 owner response templates。
- 顯示 acceptance checks 與 rejection rules。
- 在 owner response 到來後,只更新 read-only snapshot、matrix、decision table、readiness gate 與 status rollup。
- 將不完整或可疑 response 放進 mirror quarantine。
- 持續顯示
received_response_count=0、accepted_response_count=0,直到真的收到脫敏 response。
7. AwoooP 不可做
- 不要求使用者貼 token、secret、private key、cookie、session 或 DB dump。
- 不把 response 當成 read-only inventory 已執行。
- 不把 response 當成 repo migration approval。
- 不建立 GitHub repo。
- 不修改 Gitea repo。
- 不 sync refs。
- 不新增執行按鈕。
8. 階段定位
S4.9 是 S4.7 / S4.8 後面的安全收件包。
它讓 owner response 變得可審、可驗收、可拒收,但仍然停在框架期。真正讓 gitea_repo_inventory_v1.status=ok,仍必須等 S4.6 脫敏 payload 通過、S4.7 五個 owner response 全部接受、refs truth / workflow-secret parity / rollback ADR / runtime gate 都補齊後,才能進下一階段。