◀ 用語一覧
NO.19.5

Code Scanning

更新: 2026.10.26

一言で

Code Scanning は、コードを 実行せずに 静的解析(SAST)して脆弱性を見つける機能。

CodeQL はコードを クエリ可能なデータベース に変換する。対応するアラートには Copilot Autofix が修正を提案でき、Copilot に修正を依頼することも可能。

Code Scanning と CodeQL は別物 📖 Docs

Code Scanning は GitHub の機能、CodeQL は解析エンジンの 1 つ。PR では AI findings が補完し、他社ツールの結果も SARIF で取り込める。

▸ クリックで詳細

Code Scanning(機能)

Code Scanning — GitHub 側の受け皿

静的解析(CodeQL、他社ツール)と AI による検出の結果を GitHub 上に集約して見せる 機能。Security タブのアラート一覧、PR の Files changed へのインラインコメント、マージ保護、Security overview、REST / GraphQL API、Issue 連携。エンジンが何であろうと結果はここに集まる。

CodeQL(エンジン)

CodeQL — 解析エンジン

GitHub が 2019 年に Semmle から獲得 したセマンティック解析エンジン。GitHub の既定エンジンではあるが、GitHub の外でも動く — CodeQL CLI を使えば他社 CI でもローカルでも実行できる。

対応言語: C/C++、C#、Go、Java/Kotlin、JavaScript/TypeScript、Python、Ruby、Rust、Swift。GitHub Actions ワークフローも解析対象。

2026-10-23 時点。📘 対応言語の公式ドキュメント ↗

AI Scan(PR のみ)

AI Scan

PHP、Bash、HCL、Dockerfile など、未対応の言語やフレームワークを対象に CodeQL を補完。PR のみで、全体スキャンやバックログのアラートはない。助言扱いでマージをブロックしない。Code scanning と AI Scan の有効化が必要で、CodeQL default setup は不要。Code Security AI Credits を消費する。UI / REST API で Org 単位に有効化し、リポジトリ単位でオプトアウトできる。

2026-10-22 時点: Copilot ライセンス不要。Org の private / internal repo は Code Security または GHAS が必要。📘 Docs ↗ / 📘 API changelog ↗

SARIF(接続規格)

SARIF — 二つをつなぐ標準フォーマット

静的解析結果の標準フォーマット(OASIS 標準)。Semgrep / Snyk / Checkmarx / ESLint security などの出力を github/codeql-action/upload-sarif で流し込めば、CodeQL の結果と同じ画面に同居 する。

📘 SARIF support ↗

項目を選んでください ▸

CodeQL の仕組み 📖 Docs

処理は 2 段階。コードを抽出してデータベース化し、クエリをコンパイルして評価する。

CodeQL の構成: ソースコードとビルドの監視から Extractor がデータベースを作成。Schema、Query、Libraries が QL compiler に入り、Evaluator がコンパイル済みクエリとデータベースから結果を生成する。ビルド成果物は別系統。

Schema はデータ構造を記述し、database はデータを保存する。言語と build mode ↗ に応じて、ソースコードを直接抽出するか、ビルドを監視する。

CodeQL クエリの読み方

QL は宣言型のロジックプログラミング言語。「バグとはどういう形か」を書くと、evaluator が全インスタンスを見つけてくる。構造は SQL の FROM / WHERE / SELECT とほぼ同じ。

import java                                       // ① 標準ライブラリを読み込む

from IfStmt ifstmt, Block block                   // ② 調べたい要素を変数として宣言
where
  block = ifstmt.getThen() and                    // ③ 条件で絞り込む
  block.getNumStmt() = 0                          //    → then 節が空のブロック
select ifstmt, "This if-statement is redundant."  // ④ 何をどう報告するか

言語の本質はこの形だけ。where が「バグとはどういう形か」の定義そのもので、探索は evaluator がやる。

🔬 セキュリティクエリはこの上に DataFlow / TaintTracking を重ね、source / sink / sanitizer を定義して経路を探索する。公式クエリは github/codeql ↗ で OSS 公開されている。通常は公開パックで十分で、独自クエリは「自社フレームワーク固有の source / sink を教える」ときに書く。

📘 詳細: About CodeQL queries ↗ / About data flow analysis ↗

CodeQL が見つける脆弱性

▸ クリックで詳細

インジェクション系

インジェクション系

SQL injection / command injection / path traversal / XSS / SSRF。ユーザー入力がエスケープされないまま解釈系(SQL、シェル、ファイルパス、HTML、HTTP クライアント)へ届くパターン。CodeQL の主戦場で、データフロー解析がそのまま効く領域。

認証・認可・暗号

認証・認可・暗号

認可漏れ(broken access control)、弱い暗号アルゴリズム(MD5 / SHA-1)、安全でない乱数生成、ハードコードされた資格情報、証明書検証の無効化など。

メモリ安全性 (C/C++)

メモリ安全性(C/C++)

buffer overflow / use after free / null dereference / 整数オーバーフロー。型とポインタの流れをデータベース上で追えるからこそ検出できる領域で、正規表現ベースのツールでは手が届かない。

データフロー追跡

データフロー追跡(taint tracking)

source → sink の 経路そのものをアラートに添えて表示する。途中で sanitizer を通っていれば除外されるので誤検知が出にくい。models-as-data を使えば 自社フレームワーク固有の source / sink / sanitizer をクエリを書かずに追加できる。

📘 sanitizers in models-as-data ↗

CI/CD(Actions)

CI/CD(GitHub Actions)

workflow 自体も解析対象。pull_request_target と信頼できない checkout の組合せ、script injection、過剰な permissions、未ピン留めの third-party action など、サプライチェーン側の穴を拾う。

カテゴリを選んでください ▸

🌐 対応言語 — C/C++、C#、Go、Java/Kotlin、JavaScript/TypeScript、Python、Ruby、Rust、Swift、GitHub Actions。CodeQL 対応言語が 1 つもない repo は スキャンが走らない = Actions 分も消費しない。

主な機能

DEMOCodeQL Advanced setup発表者専用
  1. リポジトリの設定を開く

    ghas-test-1 → Advanced Security ↗ を開き、Code scanning → CodeQL analysis を見せる。

    未設定なら Set up → Advanced が入口。このデモリポジトリには既に workflow があるので、設定を切り替えず既存ファイルを開く。

  2. ADVANCED SETUP の中身

    codeql.yml ↗ で、on の push / PR / schedule、言語の matrix、ランナーの runs-on を順に見せる。

    C/C++ は build-mode: manual と make -C src/c / make -C src/cpp。他の言語は none。queries: security-and-quality と C/C++ の CERT / MISRA packs も指し示す。

    この packs は github/codeql-coding-standards ↗ のもの。追加できるクエリパックの例として紹介する(AUTOSAR C++14 / CERT C, C++ / MISRA C, C++)。

    Advanced setup では、ビルド方法や実行条件までバージョン管理された Actions workflowで制御する。

  3. 設定から実行結果へ

    Actions → CodeQL ↗ の既存 run を開き、言語別の Analyze job と初期化、ビルド、解析のログを見せる。

    最後に Security → Code scanning ↗ でアラートへ戻る。

    画面説明だけなら workflow の変更やコミットは不要。既存のスキャンを止めずに見せる。

まず Default setup。足りなければ repository property でカスタマイズし、独自ビルドが必要なときだけ Advanced へ。

▸ + をクリックして詳細を表示

Default setup1 クリック、組織全体Docs

何をする?workflow ファイル不要。CodeQL 対応言語を自動検出し、新しい言語が増えれば自動で追加

実行タイミングdefault / protected branch への push、それらへの PR、週次スケジュール

展開security configuration で組織の全リポジトリに一括適用

Custom queriesDefault setup + repo propertyChangelog

何をする?独自クエリ(例: コーディング規約、社内ルール)を Advanced に切り替えずに追加

方法github-codeql-config-file で中央の設定ファイル(クエリ、除外パス、threat model)をマージ。github-codeql-extra-queries はクエリの追加のみ

対象範囲組織全体の既定値を設定し、リポジトリごとの上書きを許可するかは org owner が決める。GA

Advanced setup自前の workflowDocs

何をする?.github/workflows/codeql.yml を自分で持つ。コンパイル言語の独自ビルド、matrix、トリガーやスケジュールを制御

Actions 以外他の CI で CodeQL CLI を実行、または他社ツールの結果を SARIF でアップロード

Merge protectionPR のマージ前Docs

PR 上新しいアラートは github-advanced-security[bot] が Files changed に注釈として表示

マージ条件Ruleset の Require code scanning results で、指定した重大度のアラートがある間、または必須ツールの解析が終わるまでマージをブロック

対象範囲Repo / Org(Enterprise プラン)。ruleset がなければ code scanning はマージを止めない

AI ScanPR のみDocs

何をする?CodeQL が対応しない範囲を AI が検査: PHP / Shell / Terraform / Dockerfile

対象範囲PR のみ。リポジトリ全体のスキャン、バックログのアラート、マージゲートはなし。Code scanning と AI Scan を有効化する。CodeQL default setup は不要

Copilot Autofixアラート / PR 上Docs

何をする?アラート、周辺コード、CodeQL のデータフロー経路から修正パッチを提案

どこで?PR ではインライン、バックログのアラートでは Generate fix。レビューしてから適用

Agentic Autofixバックログ 1〜25 件Docs

何をする?Assign to Copilot: クラウドエージェントがリポジトリを調べて修正、検証し、draft PR を作成

対象範囲デフォルトブランチのバックログから 1〜25 件。キャンペーンも対象。2026-10-15 に GA

Security campaigns組織横断の修正Docs

何をする?期限付きのアラート集合(最大 1000 件)。campaign manager と期日を設定

流れ各リポジトリの Security タブに表示され、開発者が Autofix や Copilot で修正

シフトレフト: PR で直す理由

脆弱性を最も安く直せるのは、それを持ち込んだ PR の中。マージされた時点でセキュリティ負債になり、負債はなかなか返済されない。

🟢 PR の中🔴 マージ後
🧠 文脈作成者の記憶がまだ新しい数週間後に別の誰かが読み解き直す
🔁 修正コスト同じレビューでコミット 1 つ新規チケット、PR、レビュー、デプロイ
🚀 露出本番に届かない本番に出て、修正されるまで残る
  • 📉 マージ後は放置されがち: マージ済みコードのセキュリティ負債のうち、これまで対応されてきたのは 10% だけ(GitHub のデータ ↗)
  • ⏱️ PR の中なら速い: PR で検出したアラートは、Copilot Autofix で修正までの中央値 28 分、手動では 1.5 時間(GitHub, 2024 ↗)

Copilot Autofix: 修正提案 📖 Docs

Copilot Autofix は 対応するアラートに修正パッチを提案する。レビューとテストをしてから適用するもので、修正の成功が保証されるわけではない。

  • 🤖 入力: アラートの詳細、周辺コード、CodeQL のデータフロー経路を使って修正を提案。
  • 💬 PR 上: 対応するアラートにインラインの修正提案が自動表示される。
  • 🛠️ Agentic Autofix がオフのデフォルトブランチのバックログ: Copilot Autofix が有効で対応するアラートなら Generate fix → Create PR with fix。
  • 🆓 料金: 従来の Autofix は Copilot ライセンス不要で AI クレジットも消費しない。Code Security に含まれ、Public repo は無料。
  • 🔌 有効化: 管理者が無効にしない限り、CodeQL で既定で利用可能。

Agentic Autofix(GA) 📖 Docs

DEMOAgentic Autofix: settings to alerts発表者専用
  1. 1. ENTERPRISE で許可(該当する場合)

    Enterprise owner または security manager が Policies → Advanced Security → Agentic Autofix で All organizations: Allowed を選ぶ。Enterprise に属さない組織では省略。設定ドキュメント ↗

    Allowed は組織での設定を許可するだけで、有効化はしない。展開前に課金方法と Code Security AI Credits の予算を確認する。

  2. 2. 組織の 2 つの設定を見せる

    Organization owner または security manager として theomonfort-org の Advanced Security 設定 ↗ を開く。Global settings → Code scanning で Copilot Autofix と Agentic Autofix を確認する。

    Copilot Autofix は従来の修正提案を制御。エージェントによる修正を使うには Agentic Autofix → On。Preview 利用組織も GA 後に再有効化が必要。

    On にするとデモ repo だけでなく、組織内の対象 repo で既定で有効になる。組織全体への展開を意図しない場合、設定の紹介だけに留めて切り替えない。

  3. 3. REPOSITORY の設定を確認

    選んだデモ repo で Settings → Advanced Security → Code Security → Agentic Autofix を開く。Repository admin は Off で除外し、上位設定で許可されていれば On に戻せる。従来の提案も使うなら Copilot Autofix はオンのままにする。

    有効化後は write 権限のあるユーザーがデフォルトブランチのバックログを Copilot に割り当てられる。Copilot ライセンスは不要。設定をオンにするだけでは修正セッションは始まらない。

  4. PR の SECURITY BOT

    octodemo/octocat_supply-automatic-octo-funicular#57 ↗ を開き、Files changed で github-advanced-security[bot] のコメントを見せる。

    Copilot code review とは別の検出結果。意図的に脆弱性を含むデモ PR なので、マージしない。

  5. CODEQL と AI 検出を見分ける

    CodeQL の XSS 指摘 ↗ は api/src/routes/cart.ts。ルール名と Show more details から Security のアラートへ進める。

    CartShareController.php の AI の SQL injection 指摘 ↗ と command injection 指摘 ↗ では、リスクの説明と修正案を見せる。

    投稿者は同じ bot でも、AI 検出は PR 上のみ。Security のバックログアラートにはならない。

  6. 検出から AGENTIC AUTOFIX へ

    リンク先の PR は octodemo にあり、theomonfort-org の設定は適用されない。CodeQL の XSS アラート ↗ は参考として開く。修正デモでは、設定済み repo に存在するデフォルトブランチのバックログアラートを選ぶ。PR のみにあるアラートは割り当て不可。

    Agentic Autofix が有効なら Assign to Copilot を見せる。オフの場合は、従来の Copilot Autofix が有効で対応するアラートに限り Generate fix が使える。

    bot の指摘と修正セッションは別物。Assign to Copilot を実行すると、エージェントが修正を進めて別のドラフト PRを作る。ボタンの紹介だけならセッション開始は不要。

2026-10-15 に GA。 Agentic Autofix が有効なら、デフォルトブランチのバックログで Generate fix は Assign to Copilot に置き換わる。

▸ + をクリックして詳細を表示

依頼1〜25 件

対象デフォルトブランチのバックログ 1〜25 件。キャンペーンも対象。1 回の割り当て → 1 セッション → 1 PR。PR / 他ブランチのみにあるアラートは対象外

セッションドラフト PR

流れ探索 → 修正 → CodeQL 再実行と反復 → 検証内容付きのドラフト PR。セッションログを確認し、セッションや PR コメントで追加修正を依頼

Copilot Memory修正パターンを学習Changelog

参照既存のメモリを参照して修正に活かす(Copilot Memory 有効時)

保存修正パターンを新しいメモリとして保存。Copilot code review やクラウドエージェントにもリポジトリ固有のセキュアな書き方が伝わる

前提Copilot ライセンス不要

提供範囲Enterprise Cloud の Code Security / GHAS 向けに GA。データレジデンシーも対象。現行 Docs は個人所有の対象 public repo も記載。Managed user の個人 repo は対象外

条件Agentic Autofix の有効化、課金方法の設定、repo の write 権限。Copilot ライセンスや事前の修正提案は不要。設定は次のスライド

料金AI クレジット + Actions

AgenticCode Security AI Credits + Actions 分。Public repo も対象。課金画面の AI usage では Advanced Security として表示

予算対象の付属クレジットを先に使い、超過分は従量課金。Code Security AI Credits の SKU 予算を設定する

検証ベストエフォート

制約カスタムクエリ、security-extended、他社ツールの修正は確認できない。未検証や誤検知の疑いは PR に記載。マージ前にレビューとテストが必要

Autofix と Agentic Autofix の使い分け 📖 Docs

2 つの独立した設定。クラウドエージェントのスイッチではない(2026-10-19 時点)。

▸ 各レベルを開くと具体的な設定を表示

比較修正提案 vs エージェント

従来型対応アラート 1 件の修正案をレビューして適用。AI クレジット消費なし

Agenticデフォルトブランチのバックログ 1〜25 件を探索、修正、検証してドラフト PR を作成。Code Security AI Credits + Actions。どちらも Copilot ライセンス不要

Enterprise許可 ≠ 有効化

場所Policies → Advanced Security → Agentic Autofix → All organizations: Allowed。Enterprise owner または security manager が設定

効果組織での設定を許可するだけで、repo はまだ有効にならない。Copilot Autofix は別ポリシー。Enterprise に属さない組織ではこの段階を省略

Organization対象 repo を有効化Docs

場所Settings → Advanced Security → Global settings → Code scanning → Agentic Autofix → On。Organization owner または security manager が設定

効果対象 repo で既定で有効になるため、除外する repo を事前に調整。Enterprise で禁止されていれば上書き不可

Repository除外 / 再有効化

場所Settings → Advanced Security → Code Security → Agentic Autofix → On / Off。Repository admin が設定

効果上位設定の範囲内で除外 / 再有効化できる。対象となる個人所有 public repo はここで直接設定。Managed user の個人 repo は対象外

表示されるボタン独立した制御Docs

Agentic onデフォルトブランチのバックログで Assign to Copilot。有効化ではなく、割り当てが従量課金セッションを開始する

Agentic offCopilot Autofix がオンで対応するアラートに限り Generate fix → Create PR with fix。両方オフなら AI 修正の入口なし

従来型Copilot Autofix は CodeQL で既定でオン。同じ設定階層で独立して制御し、上位での禁止は下位で解除できない。PR の提案はエージェント修正とは別

⚠️ Preview 利用組織も GA 後に Agentic Autofix の再有効化が必要。

Security Campaigns — 組織横断で計画的に修正

アラートは 見つけた後の運用が本番。件数が多い組織ほど、生のアラート一覧を上から潰すのではなく 期限付きのキャンペーンとして回す。

▸ ステップをクリックすると詳細が出ます

対象を絞る

🎯 対象を絞る — 全社一斉にしない

Org → Security and quality → Campaigns → New campaign から From template / From code scanning filters を選ぶ。

severity / CWE / クエリ / 言語 / repo / team / 経過日数で絞り込む。repo custom property(例 props.BusinessPriority:Urgent)で「守るべき repo」だけに寄せるのが定石。上限は 1000 アラート。

優先度

⚡ 優先度 — 「終わるリスト」にする

まず critical / high と、実際に到達可能なデータフローを持つものから。security-extended のバックログを丸ごと積むと誰もやらない。

絞り込みプレビューで件数を見ながら調整する。1 スプリントで終わる分量まで削るのが、キャンペーンを機能させる唯一のコツ。

オーナー

👥 オーナー — 名前と期限をつける

キャンペーンには必ず due date と campaign manager を設定する。manager に指名できるのは org owner / security manager だけ。

アラートは CODEOWNERS / 指定チームにルーティングされ、公開するとアラートが見える全員に通知が飛び、各 repo の Security タブにも表示される。

一括修正

🤖 一括修正 — Copilot にまとめて渡す

Agentic Autofix が有効なら、デフォルトブランチのバックログ 1〜25 件を選び Copilot に依頼する。Code Security AI Credits + Actions 分を消費する。

残りは Autofix の提案を batch apply で PR にまとめて適用。ダッシュボードで open / fixed / overdue が burn down していく。

ステップを選んでください ▸

📘 詳細: About security campaigns(GitHub Docs)↗

私のおすすめ導入チェックリスト 📖 Docs

DEMOCode Scanning checklist発表者専用
  1. 1. 有効化とカバレッジ

    ghas-test-1 → Advanced Security ↗ / CodeQL runs ↗: 既存の Advanced setup と言語ごとのジョブを確認。設定済みの repo を Default setup に切り替えない。

  2. 2. 追加のクエリパック

    ghas-test-1 → codeql.yml ↗ / MISRA / CERT / AUTOSAR packs ↗: workflow で追加クエリやパックを設定する箇所を見せる。

  3. 3. MERGE PROTECTION

    ghas-test-1 → New branch ruleset ↗: Require code scanning results → CodeQL。例は Security alerts: High or higher、Alerts: Errors、対象は main。画面紹介では Disabled のままにする。

  4. 4. AI SCAN

    octodemo ↗ → Policies → Advanced Security → AI Scan、次に theomonfort-org → Global settings ↗ → AI Scan を開く。

    Enterprise の許可と Code Security AI Credits 予算を確認。Org での有効化は対象 repo 全体に影響するため、画面紹介では切り替えない。

  5. 5. AI による修正支援

    theomonfort-org → Autofix settings ↗: Copilot Autofix と Agentic Autofix の別々の設定を見せる。Agentic Autofix の有効化前に Enterprise の許可を確認。

    ghas-test-1 → Repository override ↗ / Code scanning alerts ↗

  6. 6. SECURITY CAMPAIGNS

    theomonfort-org → Campaigns ↗: Create campaign → From code scanning filters。対象を ghas-test-1 に絞り、担当と期限を設定して draft で保存。

検知の確認 → 新規コードの保護 → バックログの解消。この順番で進める。

▸ 完了したステップにチェック。ステップを開くと設定リンクを表示

1CodeQL を有効化し、カバレッジを確認ACTIVATEDocs

開始CodeQL settings ↗: Default setup から開始。初回スキャン、対象言語、Actions 使用量を確認してから security configuration で展開。

2必要に応じて追加のクエリパックを導入OPTIONALDocs

調整CodeQL configuration ↗: C/C++ 向けの MISRA / CERT / AUTOSAR packs ↗ や社内クエリを追加。ビルドに合わせて設定する。

3重大な検出結果がある merge をブロックRULESETSDocs

例Rulesets ↗: Require code scanning results(CodeQL)。Security alerts: High or higher、Alerts: Errors。main を対象にし、bypass 権限も制限。

4PR 向けの AI Scan を有効化AI SCANDocs

有効化Org settings ↗: Enterprise の許可と Code Security AI Credits 予算を確認してから、Org 全体の対象 repo で有効化。PR 上の助言のみで、merge ブロックやバックログはなし。

5AI による修正支援を準備AUTOFIXDocs

準備Org settings ↗: 従来の Autofix は無効化されていなければ CodeQL と共に有効。Draft PR 作成には任意で Agentic Autofix を有効化し、AI credits + Actions の予算を確保。

6Security campaign を作成CAMPAIGNSDocs

対応Campaigns ↗: code scanning アラートを選び、リスク順に優先度をつけ、担当と期限を決める。小さなバックログから始める。

URL テンプレート内の ORG、OWNER、REPO を置き換えて使う。

Advanced setup と SARIF 連携

Default で足りないとき(monorepo、特殊なビルド、他社ツール併用)は workflow を自分で書く。

# .github/workflows/codeql.yml
name: CodeQL
on:
  push: { branches: [main] }
  pull_request: { branches: [main] }
  schedule: [{ cron: '30 5 * * 1' }]
jobs:
  analyze:
    runs-on: ubuntu-latest
    permissions: { security-events: write, contents: read }
    strategy:
      matrix: { language: [javascript, python] }
    steps:
      - uses: actions/checkout@v4
      - uses: github/codeql-action/init@v3
        with: { languages: '${{ matrix.language }}', queries: security-extended }
      - uses: github/codeql-action/analyze@v3

      # サードパーティ SAST(Semgrep / Snyk / ESLint security)も同じ画面に同居する:
      - uses: github/codeql-action/upload-sarif@v3
        with: { sarif_file: results.sarif }

💡 runs-on を self-hosted runner にすれば Actions 分の課金は発生しない。大規模展開でコストが問題になる場合の第一手。

料金: 3 つのメーター 📖 Docs

▸ + をクリックすると詳細が開きます

コストどう測られるか知っておくこと
💺 ライセンス $30 / active committer / 月
GitHub Code Security
何が含まれる

CodeQL(default / advanced)、Copilot Autofix、SARIF アップロード、Security overview、Security campaigns、カスタムクエリ。Autofix は追加費用ゼロ。

数え方

直近 90 日 に有効な repo へコミットが push された作者が active committer。Enterprise 内の対象 repo や Org をまたいでも 1 人 1 ライセンス。GitHub App の bot は対象外。Code Security は 単体購入できる。

⚙️ Actions 分 CodeQL は Actions で実行。Private のスキャンは実行分を消費し、超過分が課金される。
いつ回るか

Default setup は default / protected branch への push、そこへの PR、週次スケジュールで動く。実行分は 各実行の時間、repo 数、言語数、頻度で決まる。

抑え方

self-hosted runner なら Actions 課金なし。または Actions の予算を設定する。Code Security ライセンスに Actions 分は含まれない — 別メーターだと理解しておく。

実測する

Actions usage metrics を workflow 名で絞れば、CodeQL だけの消費分が出る。見積もりではなく実測値で議論できる。
github.com/orgs/<org>/actions/metrics/usage?filters=codeql.yml

🤖 AI クレジット AI Scan(検知)と Agentic Autofix(修正)は従量課金。従来の Autofix 提案は無料。
AI Scan

2026-10-26 時点: PR の自動検知は、修正依頼がなくても Code Security AI Credits を消費。組織所有の repo では、PR 作成者の個人クレジットではなく、組織の課金アカウント(単独の Org または Enterprise)が負担する。Copilot ライセンス不要。課金 Docs ↗

Copilot Autofix

Generate fix → Create PR with fix を含む従来の修正提案は、AI クレジット消費なし。Copilot ライセンス不要。Code Security に含まれ、public repo では無料。Docs ↗

Agentic Autofix

2026-10-26 時点: Security → Assign to Copilot や campaign からの割り当ては、Code Security AI Credits + Actions 分を消費。組織所有の repo では、自分で割り当てても個人クレジットではなく、Org / Enterprise の課金アカウントが負担する。Copilot ライセンス不要。Code Security AI Credits の SKU 予算を設定できる。課金 Docs ↗

Copilot Chat / agent

Copilot Chat や通常のクラウドエージェントのタスクで脆弱性の修正を依頼する場合は、Agentic Autofix ではなく Copilot の利用。自分の Copilot プランの AI クレジットを消費し、個人プランなら個人の枠、Business / Enterprise なら Org / Enterprise の共有枠から差し引かれる。個人プラン ↗ / 組織プラン ↗

repo 種別ごとの利用条件 📖 Docs

機能Public repoPrivate repo
Code Security なし
Private repo
Code Security あり
Code Scanning 本体✅ 無料❌✅ 含まれる
Security campaigns❌❌✅ 含まれる
Actions 分無料※対象外別途使用量に応じる※

📦 本体: CodeQL、カスタムクエリ、SARIF アップロード、対応する Autofix 提案、PR 注釈、Security overview。

💰 Actions※: Public の標準 hosted runner は無料。Private は付属の無料枠を消費し、超過分が課金される。Larger runner は常に課金。

⚠️ Public → private: Code Scanning を継続するには Code Security が必要。

Code Security Risk Assessment(無料の棚卸しスキャン)

1 クリックで Org 内の 最もアクティブな最大 20 リポジトリ を CodeQL スキャンし、どこに脆弱性が眠っているかを可視化する。GHAS / Code Security ライセンス不要、完全無料(2026 年 4 月 GA)。

  • 🔎 対象 — 最近のコミットが活発な repo を最大 20 件(毎回選び直し可)
  • 📊 出力 — 重大度・言語・ルール種別 別のレポート、Copilot Autofix で修正可能な件数 も表示
  • 🕒 頻度 — 90 日に 1 回 再実行可。実行できるのは Org owner / security manager のみ
  • 🚀 動かし方 — Org → Security → Assessments → Run code security risk assessment
  • 🆓 コスト — ライセンス不要、Actions 分も消費しない — 購入前の判断材料に最適

📊 Secret Risk Assessment(Secret Scanning ↗)とセットで、組織のセキュリティ姿勢を 1 日で可視化できる。実数を見てから Code Security 導入 を判断するのが定石。

📘 詳細: Code security risk assessment ↗ / How exposed is your code? ↗

スライド Eng