本文へ移動
開発ツール AI生成 文責 blackstrawberry

GitHub の AI Scan が PR で Terraform や PHP を検査、マージは止めない

Terraform や PHP の PR を検査する GitHub AI Scan が一般提供に。マージを止めない助言機能の制約、対象外の PR、公開・非公開の提供条件と AI Credits 課金を管理者向けに整理する。

GitHub の code scanning に、PR の差分を対象にした AI Scan が加わった。GitHub Changelog が2026年10月15日に一般提供(GA)を告知している。CodeQL がまだ対応していない言語とフレームワークを補う機能で、例として PHP、Shell/Bash、Terraform 設定(HCL)、Dockerfile、Java の JSP、C# の Blazor が挙がっている。告知には「and more」とあり、対象はこの一覧だけではない。

Terraform や PHP の PR をスキャンできるかという問いへの答えは「できる。ただし結果は助言扱い」だ。AI Scan の検出は code scanning のチェックを失敗させず、ruleset の要件でマージをブロックすることもできない。課金は Code Security AI Credits の消費で、GitHub Copilot のライセンスは要らない。

結果は CodeQL の隣に出るが、門番にはならない

検出結果は PR の Conversation タブと Files changed タブに、CodeQL の結果と並んで表示される。見分けるための「AI」の表示が付く。検出にはセキュリティ上のリスクの説明と、修正案(suggested autofix)が含まれることがある。

レビュー画面での見え方は CodeQL と近いが、運用上の意味は違う。changelog は AI Scan の検出を advisory(助言)と書き、チェックの失敗にもマージのブロックにも使えないとしている。ruleset でコードスキャンの結果を必須条件にしている組織でも、AI Scan が見つけた Terraform や Dockerfile の問題はその条件に入らない。指摘を拾うかどうかは、レビュアーが PR の画面で判断することになる。

もう一つの制限は対象の PR だ。fork からの PR と、Dependabot が作った PR では AI Scan は動かない。外部からの貢献を fork 経由で受けている公開リポジトリや、Dependabot の更新 PR をそのままマージしている運用では、その PR に AI Scan の結果は付かない。

提供条件と課金

項目AI Scan for pull requests の扱い
実行のきっかけcode scanning と、リポジトリで実効となる AI Scan の設定がどちらも有効なとき、PR で自動実行
動かない PRfork からの PR、Dependabot が作った PR
チェックへの影響code scanning のチェックを失敗させない
マージ保護ruleset の要件でマージをブロックできない
公開リポジトリ組織所有・個人アカウント所有のどちらでも利用可
組織所有の private / internalGitHub Code Security または GitHub Advanced Security が必要
個人アカウント所有の private利用不可
Copilot ライセンス不要
課金Code Security AI Credits を消費
使用量の表示enterprise の billing and licensing にある「AI usage」で、製品名「Advanced Security」として表示
予算Code Security AI Credits に SKU 単位の予算を設定できる

出典:GitHub Changelog(2026年10月15日)、GitHub Docs「AI Scan for pull requests」「GitHub Advanced Security license billing」

GitHub Docs は、公開リポジトリでも AI Scan が Code Security AI Credits を消費すると説明している。課金先に Copilot の利用権に伴う含有クレジットがあれば先に使われ、残高を超えた分、または含有枠がない場合は従量利用になる。Copilot ライセンスが必須でないことと、利用が無料であることは別だ。

hard budget により利用可能な Code Security AI Credits がなくなると、AI Scan は検出結果を出せなくなる。予算の引き上げか新しい請求期間で再開するため、結果が付かない PR では対象言語や設定に加えて予算残高も確認したい。発表には単価や PR あたりの消費量がないので、金額を見積もるには請求情報の確認が必要だ。

実行は PR 作成時と新しい commit の追加後で、対応言語・フレームワークの変更が対象になる。code scanning と AI Scan 設定が有効なら、CodeQL 解析が失敗中や待機中でも AI Scan は動く。PR にだけ結果が出る機能で、リポジトリ全体のスキャンや security view の既存 backlog alert を置き換えるものではない。

有効化する前に確かめること

  • マージ条件の期待値: AI Scan の指摘で PR を止めるつもりなら、この機能ではできない。ruleset ではなく、レビュー運用で扱う前提を合わせておく。
  • 対象外の PR の量: fork 経由の PR と Dependabot の PR がどれだけあるか。それらには結果が付かない。
  • ライセンス: 組織所有の private / internal リポジトリなら、Code Security か Advanced Security が付いているか。Copilot のシートは条件に入らない。
  • 予算と表示: enterprise の「AI usage」で「Advanced Security」の消費を確認できる担当者を決め、Code Security AI Credits の SKU 予算を設定しておく。
  • 設定の継承: リポジトリで「実効となる」AI Scan 設定がどこから来ているか。code scanning 自体が有効かどうかも合わせて見る。

CodeQL の結果で既に PR を止めている組織にとって、AI Scan は CodeQL の代わりにはならない。CodeQL が届かない HCL や Dockerfile、PHP に、レビュー時の指摘が増える機能と見て導入範囲を決めるのが妥当だ。

出典 種別について