{
  "format": "agent-article-v0",
  "article_id": "EA-266",
  "canonical_url": "/tools/ea-266-attestation-slsa-ai-artifact",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EA-266-CURRENT-APPROVAL",
    "EA-266-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-266-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-06",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "V23-CANDIDATE-EA266-FIRST-20261015-C4",
    "BODY-SHA256:bd85f06f426e5c3d500d66cebe6664ab3cc9c265117369ac64631264df91e33f"
  ],
  "article_sources": [
    {
      "id": "EA-266-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "V23-CANDIDATE-EA266-FIRST-20261015-C4"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER!A63:U63",
        "EA_REVISION_LEDGER!A63:U63",
        "EA-266-FIRST-20261006"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-266-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-17",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:bd85f06f426e5c3d500d66cebe6664ab3cc9c265117369ac64631264df91e33f"
      ],
      "supporting_locators": [
        "content/staging/EA-266.md",
        "bd85f06f426e5c3d500d66cebe6664ab3cc9c265117369ac64631264df91e33f",
        "EA-266-FIRST-20261006"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "PUBLIC_CLAIM",
      "text": "AI Artifactの検証では、artifact bytesのdigest、署名者/issuer、attestation subject、provenance predicate、builder/workflow identityをconsumer policyに照らして確認します。\n\n\n署名が暗号学的に有効であることだけを、artifactの安全性、品質、無脆弱性、完全なdependency inventoryの証明にはしません。"
    },
    {
      "heading": "SUBJECT_AND_DIGEST",
      "text": "mutable tagやfile nameではなくimmutable digestをrelease identityの基礎にします。署名・attestationのsubject digestが、実際にdeploy/useするartifact bytesのdigestと一致することを検証します。container index、platform別image、model weights、prompt bundle等、複数artifactがある場合は対象を曖昧にしません。"
    },
    {
      "heading": "SIGNER_AND_ISSUER",
      "text": "signature validityに加えて、期待するsigner identity、certificate issuer/OIDC issuer、repository/workflow/build identityをpolicyへ固定します。keyless署名で「Sigstore verificationが成功した」ことだけをsigner authorizationとして扱いません。KMS/key signingではkey ownership、rotation、revocation、build stepからのsecret isolationを確認します。"
    },
    {
      "heading": "ATTESTATION_POLICY",
      "text": "attestationが存在することと、そのpredicate内容を承認することを分離します。predicate type/version、builder、source、workflow、external parameters等をpolicyで評価します。signature verificationだけでpredicateの意味内容を自動承認しません。"
    },
    {
      "heading": "SLSA_PROVENANCE",
      "text": "SLSA provenanceはartifactがどのbuild process/platformから生成されたかを検証する材料です。builder.idをtrust boundaryとして扱い、許可するbuilderをconsumer側で管理します。SLSA Build L3であってもbuild platform自体の侵害まで防ぐ保証ではありません。externalParametersはuntrusted inputとしてdownstreamで検証します。resolvedDependenciesは有用ですが完全性はbest effortであり、完全SBOMと同一視しません。"
    },
    {
      "heading": "AI_RELEASE_MANIFEST",
      "text": "AI releaseを単一containerだけで表現できない場合、model/model adapter、prompt/system instruction、agent graph/state-machine definition、tool/MCP schema、RAG/retrieval configuration、policy/guardrail configuration、runtime/container、dependency/SBOM reference、evaluation/acceptance artifactをmanifest化します。各構成物をdigestでbindし、release manifest自体もimmutableにします。"
    },
    {
      "heading": "GITHUB_ARTIFACT_ATTESTATIONS",
      "text": "GitHub Artifact Attestationsを使用する場合、attestationを取得できることだけで完了としません。artifact digest、signature/timestamp、signer identity、repository/workflow等をgh attestation verify等で検証し、organization policyと照合します。SBOM等の別predicateを要求する場合はpredicate typeを明示します。"
    },
    {
      "heading": "SIGSTORE_COSIGN",
      "text": "cosignではsignature/attestation verification時に期待identity/issuerとartifact digest claimを確認します。claim checkingを無効化する設定を使用した場合、何が未検証になるかを明示します。in-toto attestationではpredicateに対するpolicy validationを別途行います。"
    },
    {
      "heading": "OFFLINE_VERIFICATION",
      "text": "air-gapped/offline環境ではattestation bundleとtrusted root materialを持ち込みoffline verificationを行えます。ただしoffline trusted rootはrefresh後に発生したrevocationを自動的に知りません。trusted-root更新頻度とrevocation SLOを運用条件にします。"
    },
    {
      "heading": "FAIL_CLOSED",
      "text": "signature欠落、attestation欠落、subject mismatch、identity mismatch、predicate policy failure、trusted-root failureを暗黙にallowしません。例外はowner、理由、対象digest、期限を持つbreak-glassとして記録します。"
    },
    {
      "heading": "VERIFICATION_READBACK",
      "text": "release/deployment時にartifact/release digest、signer identity/issuer、builder/workflow identity、predicate type/version、policy revision、verification result/timestamp、trusted-root/bundle revision、exception statusを記録します。「署名済み」というラベルだけをreadback結果にしません。"
    },
    {
      "heading": "FAILURE_ENVELOPE",
      "text": "wrong digest、mutable tag、unauthorized valid signer、wrong issuer、broad identity policy、builder compromise、predicate confusion、policy未評価、dependency omission、AI manifest欠落、prompt/config差替え、stale offline roots、key compromise/revocation lag、claim-check無効化、registry substitution、multi-arch ambiguity、fail-open admission、break-glass残置を想定します。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "本項は2026-10-06時点のSLSA v1.2、Sigstore/cosign、GitHub Artifact Attestations公開資料に基づきます。organization artifactへのlive signing/verification、registry/admission/deployment mutationは未実施です。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "AI Artifactの署名・attestation検証では、artifact bytesのdigest、署名者/issuer、attestation subject、provenance predicate、builder/workflow identityをconsumer policyに照らして検証します。署名が暗号学的に有効でも、artifactの安全性・品質・完全なdependency inventoryまでは保証しません。AI releaseを構成するmodel、prompt、agent/tool/RAG設定等はmanifestで列挙してdigest bindし、verification失敗時は暗黙にfail-openしない運用とします。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "organization artifact types、signer/KMS/keyless identity、trusted builders/workflows、registry/admission system、SLSA target level、provenance predicate/version、dependency/SBOM requirements、model-weight signing format、prompt/config packaging、offline environment、root/revocation SLO、mirror/multi-region、break-glass、tenant realized stateは未確認です。"
    }
  ],
  "human_url": "/tools/ea-266-attestation-slsa-ai-artifact",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-266-attestation-slsa-ai-artifact",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-266-attestation-slsa-ai-artifact"
}