docs(security): add IwoooS S4.9 dispatch preflight [skip ci]
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
|
||||
| 項目 | 內容 |
|
||||
|------|------|
|
||||
| 日期 | 2026-06-01 |
|
||||
| 狀態 | 草稿已整理,尚未送出 |
|
||||
| 日期 | 2026-06-04 |
|
||||
| 狀態 | 草稿與送件前交接包已整理,尚未送出 |
|
||||
| 對應階段 | S4.9 |
|
||||
| 對應收件包 | `docs/security/GITEA-INVENTORY-OWNER-ATTESTATION-RESPONSE.md` |
|
||||
| 快照 | `docs/security/gitea-inventory-owner-attestation-request-draft.snapshot.json` |
|
||||
@@ -60,3 +60,50 @@
|
||||
| runtime gate opened | false |
|
||||
| action buttons allowed | false |
|
||||
|
||||
## 6. 2026-06-04 送件前交接包
|
||||
|
||||
本段把五題補件草稿提升成可交接的人工送件封套。它只代表 reviewer / AwoooP operator 可以照表核對送件內容,不代表已送出請求、不代表收件對象已確認、不代表收到 owner response,也不代表任何 repo、refs、workflow、secret、GitHub primary、Kali、主機維護或 runtime execution 授權。
|
||||
|
||||
| 指標 | 值 |
|
||||
|------|----|
|
||||
| dispatch preflight package | ready |
|
||||
| dispatch preflight completion | 100% |
|
||||
| dispatch authorized | false |
|
||||
| request sent | false |
|
||||
| request sent count | 0 |
|
||||
| recipients confirmed count | 0 |
|
||||
| owner response received count | 0 |
|
||||
| owner response accepted count | 0 |
|
||||
| runtime gate opened | false |
|
||||
|
||||
### 6.1 送件前檢查
|
||||
|
||||
| 順序 | 檢查項 | 完成條件 | 目前狀態 |
|
||||
|------|--------|----------|----------|
|
||||
| 1 | 同步基線 | 送件前先確認 `gitea/main` 與另一個 AwoooP Session 最新 commit,不使用舊 refs / 舊 deploy marker | 已定義,未送件 |
|
||||
| 2 | 題目版本 | 五題 template id、必填欄位與收件包版本需一致 | 已定義,未送件 |
|
||||
| 3 | 收件角色 | 收件對象只記錄 role / team,不收個人敏感資料或憑證 | 已定義,未送件 |
|
||||
| 4 | 證據參照 | 僅附 repo 內文件、snapshot、ticket id、hash 或脫敏 metadata ref | 已定義,未送件 |
|
||||
| 5 | 禁止條款 | 明確標示此包不是 approval、不是 execution、不是 source-control mutation | 已定義,未送件 |
|
||||
| 6 | 稽核紀錄 | 只有實際送件後才可記錄 request shown metadata;不得預填已送出 | 已定義,未送件 |
|
||||
| 7 | 計數不變 | 無實際送件證據前,`request_sent_count`、received、accepted、rejected 全部維持 0 | 已定義,未送件 |
|
||||
|
||||
### 6.2 交接封套欄位
|
||||
|
||||
| 欄位 | 內容規則 |
|
||||
|------|----------|
|
||||
| `request_id` | 固定對應 S4.9 Gitea owner attestation request,不建立新的 runtime action id |
|
||||
| `stage_id` | 固定 `S4.9` |
|
||||
| `requested_templates` | 只能引用本文件第 2 節五個 template id |
|
||||
| `recipient_role_or_team` | 只填 role / team;不得填 token、PAT、cookie、session 或私人聯絡資訊 |
|
||||
| `sender_role_or_team` | 只填送件操作角色;不得把 AwoooP approval 視為資安批准 |
|
||||
| `requested_response_deadline_or_window` | 可填人工約定窗口;空值不得阻擋 0 / false gate |
|
||||
| `allowed_response_format` | 只接受本文件第 3 節欄位與脫敏 evidence refs |
|
||||
| `redacted_evidence_refs` | 僅指向既有文件、snapshot、ticket id、hash 或 quarantine pointer |
|
||||
| `forbidden_payloads` | secrets、repo archive、DB dump、runner token、deploy key private key、git object pack 全部拒收 |
|
||||
| `followup_owner` | 只記後續補證 role / team |
|
||||
| `not_approval` | 必須為 `true` |
|
||||
|
||||
### 6.3 送件後不變條件
|
||||
|
||||
即使後續有人實際送出此請求,也只能在有可稽核的人工送件 metadata 後,把 `request_sent_count` 從 `0` 調整為真實數字;不得同時把 owner response received / accepted / rejected 拉高。收到回覆後仍需經過 S4.9 response preflight、敏感材料隔離、跨包一致性檢查與 reviewer 驗收,才能更新對應 read-only matrix。任何 GitHub primary、repo / refs / workflow / secret、Kali、SSH、主機維護或 runtime gate 都必須另走人工批准與 rollback / post-check。
|
||||
|
||||
@@ -1,24 +1,31 @@
|
||||
{
|
||||
"schema_version": "gitea_inventory_owner_attestation_request_draft_v1",
|
||||
"status": "request_draft_ready_not_sent",
|
||||
"date": "2026-06-01",
|
||||
"date": "2026-06-04",
|
||||
"stage_id": "S4.9",
|
||||
"mode": "owner_request_draft_only",
|
||||
"runtime_execution_authorized": false,
|
||||
"source_packet": "docs/security/GITEA-INVENTORY-OWNER-ATTESTATION-RESPONSE.md",
|
||||
"source_snapshot": "docs/security/gitea-inventory-owner-attestation-response.snapshot.json",
|
||||
"summary": {
|
||||
"request_draft_package_ready": true,
|
||||
"request_draft_template_count": 5,
|
||||
"request_draft_template_ready_count": 5,
|
||||
"frontstage_package_visible": true,
|
||||
"frontstage_card_count": 5,
|
||||
"frontstage_detail_visible": true,
|
||||
"frontstage_detail_row_count": 5,
|
||||
"frontstage_required_field_total": 30,
|
||||
"frontstage_forbidden_action_count": 10,
|
||||
"request_sent": false,
|
||||
"request_sent_count": 0,
|
||||
"summary": {
|
||||
"request_draft_package_ready": true,
|
||||
"request_draft_template_count": 5,
|
||||
"request_draft_template_ready_count": 5,
|
||||
"frontstage_package_visible": true,
|
||||
"frontstage_card_count": 5,
|
||||
"frontstage_detail_visible": true,
|
||||
"frontstage_detail_row_count": 5,
|
||||
"frontstage_required_field_total": 30,
|
||||
"frontstage_forbidden_action_count": 10,
|
||||
"dispatch_preflight_package_ready": true,
|
||||
"dispatch_preflight_completion_percent": 100,
|
||||
"dispatch_preflight_check_count": 7,
|
||||
"dispatch_packet_field_count": 11,
|
||||
"dispatch_authorized": false,
|
||||
"request_dispatch_allowed_without_human_operator": false,
|
||||
"post_dispatch_count_increment_allowed_without_evidence": false,
|
||||
"request_sent": false,
|
||||
"request_sent_count": 0,
|
||||
"recipients_confirmed_count": 0,
|
||||
"owner_response_received_count": 0,
|
||||
"owner_response_accepted_count": 0,
|
||||
@@ -70,6 +77,97 @@
|
||||
"required_fields": ["owner_role_or_team", "decision", "decision_reason", "affected_repos", "evidence_refs", "followup_owner"]
|
||||
}
|
||||
],
|
||||
"dispatch_preflight_checks": [
|
||||
{
|
||||
"check_id": "dispatch-baseline-sync",
|
||||
"display_order": 1,
|
||||
"check": "送件前確認 gitea/main 與另一個 AwoooP Session 最新 commit,不使用舊 refs 或舊 deploy marker。",
|
||||
"current_status": "defined_not_dispatched",
|
||||
"execution_authorized": false
|
||||
},
|
||||
{
|
||||
"check_id": "dispatch-template-version",
|
||||
"display_order": 2,
|
||||
"check": "五題 template id、必填欄位與收件包版本需一致。",
|
||||
"current_status": "defined_not_dispatched",
|
||||
"execution_authorized": false
|
||||
},
|
||||
{
|
||||
"check_id": "dispatch-recipient-role-only",
|
||||
"display_order": 3,
|
||||
"check": "收件對象只記錄 role / team,不收個人敏感資料或憑證。",
|
||||
"current_status": "defined_not_dispatched",
|
||||
"execution_authorized": false
|
||||
},
|
||||
{
|
||||
"check_id": "dispatch-redacted-evidence-refs",
|
||||
"display_order": 4,
|
||||
"check": "僅附 repo 內文件、snapshot、ticket id、hash 或脫敏 metadata ref。",
|
||||
"current_status": "defined_not_dispatched",
|
||||
"execution_authorized": false
|
||||
},
|
||||
{
|
||||
"check_id": "dispatch-forbidden-action-banner",
|
||||
"display_order": 5,
|
||||
"check": "明確標示此包不是 approval、不是 execution、不是 source-control mutation。",
|
||||
"current_status": "defined_not_dispatched",
|
||||
"execution_authorized": false
|
||||
},
|
||||
{
|
||||
"check_id": "dispatch-audit-metadata-only-after-send",
|
||||
"display_order": 6,
|
||||
"check": "只有實際送件後才可記錄 request shown metadata;不得預填已送出。",
|
||||
"current_status": "defined_not_dispatched",
|
||||
"execution_authorized": false
|
||||
},
|
||||
{
|
||||
"check_id": "dispatch-counts-remain-zero",
|
||||
"display_order": 7,
|
||||
"check": "無實際送件證據前,request_sent_count、received、accepted、rejected 全部維持 0。",
|
||||
"current_status": "defined_not_dispatched",
|
||||
"execution_authorized": false
|
||||
}
|
||||
],
|
||||
"dispatch_packet_template": {
|
||||
"request_id": "s4_9_gitea_owner_attestation_response_request",
|
||||
"stage_id": "S4.9",
|
||||
"requested_templates": [
|
||||
"response-public-only-vs-local-gitea-gap",
|
||||
"response-org-user-endpoint-identity",
|
||||
"response-internal-110-adjacent-scope",
|
||||
"response-repo-owner-canonical-scope",
|
||||
"response-legacy-or-inaccessible-disposition"
|
||||
],
|
||||
"recipient_role_or_team_required": true,
|
||||
"sender_role_or_team_required": true,
|
||||
"requested_response_deadline_or_window_optional": true,
|
||||
"allowed_response_format": [
|
||||
"owner_role_or_team",
|
||||
"decision",
|
||||
"decision_reason",
|
||||
"affected_scope",
|
||||
"redacted_evidence_refs",
|
||||
"followup_owner"
|
||||
],
|
||||
"redacted_evidence_refs_only": true,
|
||||
"forbidden_payloads": [
|
||||
"secret_plaintext",
|
||||
"repo_archive",
|
||||
"database_dump",
|
||||
"runner_registration_token",
|
||||
"deploy_key_private_key",
|
||||
"git_object_pack"
|
||||
],
|
||||
"followup_owner_required": true,
|
||||
"not_approval": true,
|
||||
"runtime_execution_authorized": false
|
||||
},
|
||||
"post_dispatch_invariants": [
|
||||
"request_sent_count 只能在有可稽核人工送件 metadata 後調整。",
|
||||
"送件後不得同步提高 owner_response_received_count、owner_response_accepted_count 或 owner_response_rejected_count。",
|
||||
"收到回覆後仍需經過 S4.9 response preflight、敏感材料隔離、跨包一致性檢查與 reviewer 驗收。",
|
||||
"任何 GitHub primary、repo / refs / workflow / secret、Kali、SSH、主機維護或 runtime gate 都必須另走人工批准與 rollback / post-check。"
|
||||
],
|
||||
"allowed_outputs": [
|
||||
"owner role/team metadata",
|
||||
"decision and decision reason",
|
||||
|
||||
Reference in New Issue
Block a user