Files
awoooi/docs/security/gitea-authenticated-inventory-export-request.snapshot.json

251 lines
11 KiB
JSON
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.
{
"schema_version": "gitea_authenticated_inventory_export_request_v1",
"status": "draft_waiting_owner_export",
"date": "2026-06-04",
"mode": "redacted_export_request_only",
"runtime_execution_authorized": false,
"source_contract": "gitea_repo_inventory_v1",
"source_indexes": [
"docs/security/gitea-repo-inventory.snapshot.json",
"docs/security/gitea-public-repo-search.snapshot.json",
"docs/security/gitea-org-repo-inventory-blocked.snapshot.json",
"docs/security/local-git-remote-inventory.snapshot.json",
"docs/security/gitea-readonly-inventory-approval.snapshot.json",
"docs/security/security-rollout-policy.snapshot.json"
],
"summary": {
"gitea_base_url": "http://192.168.0.110:3001",
"org_or_user": "wooo",
"public_only_repo_count": 2,
"local_gitea_unique_repo_count": 4,
"local_gitea_gap_count": 2,
"export_source_option_count": 2,
"target_inventory_status": "gitea_repo_inventory_v1.status=ok",
"token_value_collection_allowed": false,
"write_token_allowed": false,
"repo_write_allowed": false,
"refs_sync_allowed": false,
"github_primary_switch_authorized": false,
"action_buttons_allowed": false,
"s4_9_owner_response_gate_required": true,
"request_handoff_package_ready": true,
"request_dispatch_handoff_completion_percent": 100,
"request_packet_field_count": 8,
"request_dispatch_authorized": false,
"admin_export_payload_received_count": 0,
"admin_export_payload_accepted_count": 0,
"inventory_imported_count": 0,
"runtime_inventory_execution_authorized": false
},
"export_source_options": [
{
"option_id": "gitea_readonly_token_api_inventory",
"title": "Gitea read-only token API inventory",
"request_status": "waiting_human_approval_or_owner_export",
"producer": "repo owner or security commander runs existing read-only inventory tool",
"allowed_processing": [
"使用 `GITEA_READONLY_TOKEN` 環境變數執行 `scripts/security/gitea-repo-inventory.py`",
"輸出只保存 `token_present=true`,不保存 token value",
" repo metadatafull nameownerprivatearchivedemptydefault branchredacted clone / ssh URL",
" `gitea_repo_inventory_v1.status=ok` snapshot review"
],
"blocked_processing": [
" token value LOGBOOKshell scriptsnapshot ",
"使 write-capable token",
" Gitea repo",
"sync refs GitHub primary"
],
"acceptance_gate": [
"`visibility_scope=authenticated`",
"`status=ok`",
"`repo_count` public-only repo count",
"owner read-only token write / admin / secret scope",
" tokenpasswordprivate keywebhook secret repository secret value"
],
"execution_authorized": false
},
{
"option_id": "gitea_redacted_admin_export_inventory",
"title": "Gitea redacted admin export inventory",
"request_status": "waiting_human_approval_or_owner_export",
"producer": "Gitea administrator exports repo metadata and redacts before import",
"allowed_processing": [
" repo list JSON",
" repo metadata secretwebhookdeploy key token material",
" `visibility_scope=admin_export` `status=ok` inventory snapshot",
" export local remote inventory coverage review"
],
"blocked_processing": [
" Gitea DB dump git object packprivate key webhook secret",
" API tokenPATcookiesessionCSRF token",
" GitHub repo refs",
" admin export primary cutover approval"
],
"acceptance_gate": [
"`visibility_scope=admin_export`",
"`status=ok`",
" repo `full_name` `owner.login + name`",
" repo `private``archived``empty` `default_branch` metadata",
" URL redacted usernamepassword token"
],
"execution_authorized": false
}
],
"required_inventory_fields": [
"full_name or owner.login + name",
"name",
"owner.login",
"private",
"archived",
"empty",
"default_branch",
"clone_url_redacted",
"ssh_url_redacted",
"github_repo_candidate"
],
"coverage_gap_hints": [
{
"gap_id": "public_only_vs_local_gitea_gap",
"title": "Public-only API Gitea remote ",
"current_evidence": [
"Public-only Gitea API `wooo/awoooi` `wooo/ewoooc`",
" remote inventory 4 unique Gitea repos`wooo/awoooi``wooo/clawbot-v5``wooo/ewoooc``wooo/wooo-aiops`",
" `wooo/clawbot-v5` `wooo/wooo-aiops` authenticated inventory owner attestation "
],
"required_resolution": [
"authenticated inventory admin export local-gitea repos owner external / legacy / inaccessible",
" owner review repo"
],
"execution_authorized": false
},
{
"gap_id": "org_endpoint_blocked_gap",
"title": "Gitea org endpoint blocked",
"current_evidence": [
"`orgs/wooo/repos` blocked / 404 evidence",
"`users/wooo/repos` public search public-only "
],
"required_resolution": [
" read-only token redacted admin export `wooo` userorg ",
" 404 private/internal repos"
],
"execution_authorized": false
},
{
"gap_id": "internal_110_adjacent_source_gap",
"title": "110 internal git adjacent source-control gap",
"current_evidence": [
" remote inventory internal 110 repos`bitan-pharmacy``root/momo-pro-system``tsenyang-website``wooo/wooo-infra-config`",
" Gitea org inventory"
],
"required_resolution": [
"Gitea authenticated inventory owner internal 110 repos GitHub migration scope",
" Gitea inventory request internal 110 source"
],
"execution_authorized": false
}
],
"request_dispatch_preflight_checks": [
{
"check_id": "p1-2-prerequisite-s4-9-owner-response",
"display_order": 1,
"check": "S4.9 owner response request packet request / received / accepted ",
"current_status": "defined_not_dispatched",
"execution_authorized": false
},
{
"check_id": "p1-2-source-option-selected",
"display_order": 2,
"check": " token API redacted admin export ",
"current_status": "defined_not_dispatched",
"execution_authorized": false
},
{
"check_id": "p1-2-metadata-only-output",
"display_order": 3,
"check": " repo metadataredacted URLowner/team evidence refs",
"current_status": "defined_not_dispatched",
"execution_authorized": false
},
{
"check_id": "p1-2-forbidden-sensitive-inputs",
"display_order": 4,
"check": " token valuewrite tokenDB dumpgit object packsecretwebhookdeploy key runner token material",
"current_status": "defined_not_dispatched",
"execution_authorized": false
},
{
"check_id": "p1-2-counts-remain-zero",
"display_order": 5,
"check": " payload received / accepted / imported count 0",
"current_status": "defined_not_dispatched",
"execution_authorized": false
}
],
"request_handoff_packet": {
"request_id": "p1_2_gitea_authenticated_inventory_request",
"prerequisite_gate": "s4_9_owner_response_gate",
"allowed_source_options": [
"readonly_token_api_inventory",
"redacted_admin_export_inventory"
],
"recipient_role_or_team_required": true,
"requested_outputs": [
"repo_metadata",
"redacted_clone_url",
"redacted_ssh_url",
"visibility_scope",
"coverage_notes",
"redacted_evidence_refs"
],
"forbidden_inputs": [
"token_value",
"write_credential",
"database_dump",
"repo_archive",
"git_object_pack",
"deploy_key_private_key",
"webhook_secret",
"runner_registration_token"
],
"intake_acceptance_ref": "docs/security/GITEA-AUTHENTICATED-INVENTORY-IMPORT-ACCEPTANCE.md",
"not_approval": true,
"execution_authorized": false
},
"post_dispatch_invariants": [
" payload ",
"S4.6 import acceptance gitea_repo_inventory_v1.status=ok",
"S4.7 / S4.9 owner response coverage gap reviewer",
" repo refs syncworkflow / secret GitHub primary cutoverGitea runtime gate "
],
"acceptance_rules": [
"S4.5 Gitea authenticated inventory export request inventory ",
" gate `gitea_repo_inventory_v1.status=ok` `visibility_scope` `authenticated` `admin_export`",
"export public-only repo count 2 local Gitea unique repo count 4 gap",
" mirror quarantine",
" inventory gate migration matrixdecision tableapproval board readiness gate refs GitHub primary"
],
"redaction_rules": [
"API token `token_present=true|false` value",
"URL usernamepasswordtoken query secret redacted clone / ssh URL",
" webhook secretrepository secret valuedeploy key private keyrunner registration tokencookiesession CSRF token",
" Gitea DB dump git object pack credentials partial token",
" export "
],
"forbidden_actions": [
"store_token_value",
"use_write_capable_token",
"write_to_gitea",
"create_gitea_repo",
"delete_or_archive_gitea_repo",
"create_github_repo",
"change_repo_visibility",
"sync_git_refs",
"delete_git_refs",
"force_push",
"switch_github_primary",
"disable_gitea",
"add_action_button"
]
}