{
  "format": "agent-article-v0",
  "article_id": "EA-105",
  "canonical_url": "/tools/ea-105-ai-security",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-105-URL-408ACEE9ECE3",
    "EVD-EA-105-URL-3382974F730F",
    "EVD-EA-105-URL-9719D15362F8",
    "EA-105-R11-RESEARCH",
    "EA-105-R11-WEB-READBACK"
  ],
  "unknown_ids": [
    "EA-105-UNKNOWN-01",
    "EA-105-UNKNOWN-CURRENTNESS"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "UNKNOWN",
  "observation_status": "SPEC_ONLY",
  "freshness": "UNKNOWN",
  "last_verified": null,
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "COMM-039-EA0105",
    "SRC-EA-105-URL-408ACEE9ECE3",
    "SRC-EA-105-URL-3382974F730F",
    "SRC-EA-105-URL-9719D15362F8",
    "WEBBODY-EA0105-R8-5B9A75F3"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-105-URL-408ACEE9ECE3",
      "evidence_class": "RESEARCH",
      "title": "1) source class: official developer security documentation; exact title: Code scanning; author/org: GitHub; canonical URL:",
      "href": "https://docs.github.com/en/code-security/concepts/code-scanning/code-scanning",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-105-URL-408ACEE9ECE3"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "1) source class: official developer security documentation; exact title: Code scanning; author/org: GitHub; canonical URL: https://docs.github.com/en/code-security/concepts/code-scanning/code-scanning"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-105-URL-3382974F730F",
      "evidence_class": "RESEARCH",
      "title": "2) source class: government secure-development framework; exact title: Secure Software Development Framework (SSDF) Version 1.1; author/org: NIST; canonical URL:",
      "href": "https://csrc.nist.gov/pubs/sp/800/218/final",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-105-URL-3382974F730F"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "2) source class: government secure-development framework; exact title: Secure Software Development Framework (SSDF) Version 1.1; author/org: NIST; canonical URL: https://csrc.nist.gov/pubs/sp/800/218/final"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-105-URL-9719D15362F8",
      "evidence_class": "RESEARCH",
      "title": "3) source class: author-maintained OSS implementation; exact title: OpenSSF Scorecard; author/org: OpenSSF; canonical URL:",
      "href": "https://github.com/ossf/scorecard",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-105-URL-9719D15362F8"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "3) source class: author-maintained OSS implementation; exact title: OpenSSF Scorecard; author/org: OpenSSF; canonical URL: https://github.com/ossf/scorecard"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-105-R11-RESEARCH",
      "evidence_class": "RESEARCH",
      "title": "EA-105 監査済みresearch / canonical revision binding",
      "supports": [
        "GitHub公式文書はcode scanningが脆弱性/エラーを検出し、CodeQLまたはthird-party tool/SARIFを使えること、private repositoryではlicense条件があることを明記する。Scorecardは依存固定、SAST、license、token permission等を個別checkする。したがって生成コードの受入は、生成→format/type/test→SAST/CodeQL→dependency/secret/license→human review→sandbox実行の多段 gate として設計できる。"
      ],
      "limit": "canonical監査・revision bindingの存在を示す。外部ソースcurrentnessが本文またはcontrol-planeで確定していない場合は、currentnessをUNKNOWNのまま保持する。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "COMM-039-EA0105"
      ],
      "supporting_locators": [
        "COMM-039-EA0105",
        "EA-105-R5-LEGACY-MIGRATION-20261008-R1",
        "content/staging/EA-105.md"
      ],
      "scope": "監査済みEA本文・canonical revision・既存Source Graph relationの範囲。欠損currentnessは推測で閉じない。",
      "provenance_status": "AUDIT_PASS_CANONICAL_BINDING"
    },
    {
      "id": "EA-105-R11-WEB-READBACK",
      "evidence_class": "IMPL",
      "title": "EA-105 Web body identity / canonical readback",
      "supports": [
        "canonical staging bodyのSHA-256一致とR9 canonical ledger readbackをProduction projectionの入力として検証する。"
      ],
      "limit": "body identity/readbackは本文claim自体の真偽や外部ソースの最新性を追加保証しない。",
      "checked_at": null,
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "WEBBODY-EA0105-R8-5B9A75F3"
      ],
      "supporting_locators": [
        "WEBBODY-EA0105-R8-5B9A75F3",
        "content/staging/EA-105.md",
        "EA-105-R5-LEGACY-MIGRATION-20261008-R1"
      ],
      "scope": "R9/R10 canonical readback後のProduction生成時body identity。",
      "provenance_status": "CANONICAL_READBACK_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "WHY_THIS_MATTERS_TO_UPDATE",
      "text": "生成コードは脆弱性、存在しないpackage、secret、license、誤った修正を同時に含み得る。生成したこと自体を検査済みと扱わない受入手順が必要。"
    },
    {
      "heading": "SCOPE_ROUTING",
      "text": "Enterprise AI Core / coding / security / OSS practice / CI"
    },
    {
      "heading": "CLAIM_OR_RESEARCH_QUESTION",
      "text": "生成コードをコード解析、dependency/secret/license、reviewへ通す根拠と、各検査の限界は何か。"
    },
    {
      "heading": "EVIDENCE TABLE",
      "text": "1) source class: official developer security documentation; exact title: Code scanning; author/org: GitHub; canonical URL: https://docs.github.com/en/code-security/concepts/code-scanning/code-scanning; publication/update/access: current docs accessed 2026-09-13; version/release: current GitHub Code Security/CodeQL surface; supporting locator: lines 12-14, 28-34, 40-49（vulnerability/error detection、scheduled/event scans、CodeQL、SARIF、license boundary）; evidence label: VERIFIED_SPEC + PRODUCT_VOLATILE; relation: support / availability gate。\n2) source class: government secure-development framework; exact title: Secure Software Development Framework (SSDF) Version 1.1; author/org: NIST; canonical URL: https://csrc.nist.gov/pubs/sp/800/218/final; publication/update/access: 2022-02 / accessed 2026-09-13; version/release: v1.1; supporting locator: lines 64-74; evidence label: VERIFIED_SPEC; relation: context / support。\n3) source class: author-maintained OSS implementation; exact title: OpenSSF Scorecard; author/org: OpenSSF; canonical URL: https://github.com/ossf/scorecard; publication/update/access: accessed 2026-09-13; version/release: current repository; supporting locator: lines 604-621（branch protection, code review, dependency pinning, SAST, license, vulnerabilities, token permissions）; evidence label: OSS_PRACTICE + PRODUCT_VOLATILE; relation: support / limit。"
    },
    {
      "heading": "FINDINGS",
      "text": "GitHub公式文書はcode scanningが脆弱性/エラーを検出し、CodeQLまたはthird-party tool/SARIFを使えること、private repositoryではlicense条件があることを明記する。Scorecardは依存固定、SAST、license、token permission等を個別checkする。したがって生成コードの受入は、生成→format/type/test→SAST/CodeQL→dependency/secret/license→human review→sandbox実行の多段 gate として設計できる。"
    },
    {
      "heading": "LIMITS / COUNTEREVIDENCE / FAILURE ENVELOPE",
      "text": "静的解析で仕様誤り、事業ロジック、未知の脆弱性、prompt由来の悪意を全て検出できない。Scorecardはrepositoryのhealth指標で、生成物の正しさやlicense適法性の最終判定ではない。GitHub機能のavailabilityはrepository type/licenseで変わる。"
    },
    {
      "heading": "AVAILABILITY_GATES",
      "text": "language/framework・dependency lock・package existence・CVE/OSV・secret scan・license/provenance・CodeQL/SAST・tests・sandbox/network・human approval。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "実装状態: CI gateの構成要素と受入順序を確立。実CIへの組込み、false positive率、生成コードの自動修正は未実施。"
    },
    {
      "heading": "BENCHMARK_OR_EVAL",
      "text": "Evaluation: 無害なfixtureへ存在しないpackage、既知の脆弱pattern、dummy secret、license header欠落を入れ、各検査がどこまで検出するか確認。秘密は本物を使わない。"
    },
    {
      "heading": "SECURITY / PRIVACY / AUDIT / COST / OPERABILITY",
      "text": "SECURITY: untrusted codeは隔離実行。PRIVACY: prompt/source codeをログへ平文保存しない。AUDIT: generator/model/prompt/commit/scan resultを紐付け。COST: CI minutes・review工数は未計測。"
    },
    {
      "heading": "SAFE_WORDING_FOR_FUTURE_BOOK",
      "text": "「生成コードは、通常のコードと同じく解析・依存関係・secret・license・テスト・人手レビューを通す。CodeQL/Scorecardは検査部品であり、生成コードの安全性・適法性を保証しない。」"
    },
    {
      "heading": "UPDATE_WORK_HANDOFF",
      "text": "本文に生成コード専用の受入表を追加し、検査結果をcommit/artifact単位で保存する設計へつなぐ。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "AI生成コードに特化した検出率、hidden dependency、provider別license terms、CodeQLの言語/拡張coverage、生成修正のレビュー負荷。"
    },
    {
      "heading": "STOP_CONDITION",
      "text": "scan passだけでmerge/production deployしない。\nUNIT_CLOSE_STATUS: INDIVIDUAL_BOUNDED_CLOSE / EVIDENCE_RECORDED / UNKNOWN_PRESERVED\n\n---"
    },
    {
      "heading": "AUDITED_CURRENTNESS_BOUNDARY",
      "text": "Current CodeQL/code scanning scope remains language/license/configuration dependent and is one gate among multiple security/correctness/license controls."
    }
  ],
  "human_url": "/tools/ea-105-ai-security",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-105-ai-security",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-105-ai-security"
}