GitHubは2026年10月15日、プルリクエスト(コードの変更提案)向けの「AI Scan」を一般提供(generally available)にしました。CodeQLがまだ対応していない言語や設定ファイルについて、プルリクエストの変更部分から脆弱性を探す機能です。GitHubのAI Scanの使い方を知りたい人のために、有効にする手順と対象の言語、これまでのコードスキャンとの違いを出典にそって整理します。
要点
- プルリクエスト向けのAI Scanが2026年10月15日に一般提供になった
- CodeQLが現在カバーしていないPHP、Shell/Bash、Terraform configuration (HCL)、Dockerfiles、JSP for Java、Blazor for C#などが対象
- 個人アカウントが所有するパブリックリポジトリでは利用でき、個人アカウントのプライベートリポジトリでは利用できない
- 検出結果はadvisory(参考情報)で、コードスキャンのチェックを失敗させず、ルールセットのマージ要件にも使えない
- GitHub Copilotのライセンスは不要で、利用するとCode Security AI Creditsを消費する
何が発表されたか
GitHubのChangelogによると、コードスキャンのAI Scan for pull requestsが一般提供になりました。AI ScanはCodeQL(GitHubのコード解析エンジン)を補完するもので、CodeQLが現在カバーしていない言語やフレームワークについて、プルリクエストの変更部分にある脆弱性を見つけます。例として挙げられているのは、PHP、Shell/Bash、Terraform configuration (HCL)、Dockerfiles、JSP for Java、Blazor for C#などです。ドキュメントでは、別のスキャンツールやビルド設定を用意しなくてもコードスキャンの対象範囲を広げられる、と説明されています。
どのように動くか
AI Scanは、リポジトリでコードスキャンが有効になっていて、そのリポジトリの実効的なAI Scan設定が有効になっているときに、プルリクエストで自動的に実行されます。より細かくは、フォークからのプルリクエストでもDependabotが作成したプルリクエストでもなく、CodeQLがカバーしていない対応言語・フレームワークの変更が含まれていることが条件です。スキャンはプルリクエストの作成時と新しいコミットのたびに走り、これはCodeQLと同じ挙動です。CodeQLのdefault setupは必要なく、CodeQLの解析が失敗していたり待機状態であってもAI Scanは実行されます。解析はビルドシステムを必要とせず、問題を指摘する前にリポジトリから文脈を集めるためにcode searchを使う場合があります。なお、/.github/copilot-instructions.md や /CLAUDE.md のようなカスタム指示ファイルではなく、専用のプロンプトが使われます。
検出結果はプルリクエストのConversationタブとFiles changedタブに、CodeQLの結果と並んで表示され、「AI」の表示でCodeQLのアラートと区別できます。各検出はセキュリティ上の問題とそのリスクを説明し、多くは修正案も含みます。利用できる場合は、Copilot AutofixがCodeQLのアラートと同様にコード変更を提案します。検出の品質向上のために、thumbs up / thumbs downで評価を送ることもできます。
既存のコードスキャンとの違い
違いは結果の扱いにあります。 CodeQLのアラートと異なり、AI Scanの検出結果はプルリクエスト上でのみ確認でき、リポジトリのセキュリティビューにバックログのアラートとして現れません。また検出結果はadvisoryで、コードスキャンのチェックを失敗させず、ルールセットのマージ要件によってマージを止めることもできません。リポジトリ全体のスキャンには対応しておらず、解析対象はプルリクエストだけです。
検出カテゴリ
現時点の分類は、String injection、Weak cryptography、Broken access control、Sensitive data exposure、Security misconfiguration、Authentication failures、Data integrity failures、Server-side request forgery (SSRF)、Supply chain risksの9種類です。たとえばSupply chain risksには、バージョン固定されていないサードパーティのactionsやパッケージ、イメージなどが含まれます。検出カテゴリと対応言語は機能の進化にともなって変わる可能性があるとされています。
個人リポジトリでの有効化手順
提供範囲は、リポジトリの所有者と公開範囲で決まります。組織が所有するパブリックリポジトリはactive-committer licenseなしで利用でき、組織が所有するプライベートまたはinternalのリポジトリはGitHub Code SecurityまたはGitHub Advanced Securityが必要です。個人アカウントのパブリックリポジトリは利用可、個人アカウントのプライベートリポジトリは利用できません。managed user accountのpersonal namespaceにあるリポジトリは、コードスキャンが有効でも対象外です。GitHub Copilotのライセンスは不要です。
個人アカウントが所有するパブリックリポジトリでは、リポジトリのadmin権限を持つ人が「Code scanning」の下にある「AI Scan for pull requests」のトグルで有効・無効を切り替えます。モデルを選ぶ必要はありません。組織所有のリポジトリは組織の設定を継承し、admin権限を持つ人は組織が有効にしているときにopt outできますが、組織の設定が無効のときに個別に有効にはできません。組織の設定はorganization ownerとsecurity managerが変更でき、enterprise ownerは組織による有効化を許可または禁止できます(この方針の既定値は「Not allowed」)。組織やリポジトリのai-scan設定はREST APIでも管理できます。
個人の仕事や学びにどう使えるか
フリーランスのWeb制作者が、PHPで書いた公開リポジトリに変更を加える場面です。AI Scanの対象言語にはPHPが含まれ、String injectionのように文字列で組み立てたSQLやHTMLのエスケープ漏れが分類対象に入っています。Files changedタブで説明と修正案を読みながら直せます。
次に、情報システム担当や個人でインフラ構成を書く人の場面です。DockerfilesやTerraform configuration (HCL)も対象なので、Security misconfigurationやSupply chain risksに当たる書き方を、プルリクエストの段階で見直すきっかけになります。ビルド設定を別に用意しなくてよいのも、設定ファイル中心のリポジトリでは扱いやすい点です。
学び直し中の人にとっては、自分の公開リポジトリが教材になります。各検出がリスクの説明を含むため、指摘の理由ごと読めます。ただし検出には誤検知(false positives)が含まれる可能性があるとされているので、指摘を鵜呑みにせず自分で確かめる姿勢が必要です。
会社・チームで使うときのポイント
組織で有効にする前に、リポジトリが対象かどうかの確認、請求アカウントに含まれるAI creditsの確認、従量課金分の予算設定を済ませておくことが案内されています。組織の設定を有効にすると、コードスキャンが有効な対象リポジトリすべてで即座にAI Scanが有効になり、リポジトリ管理者がopt outする前に対象のプルリクエストがCode Security AI Creditsを消費する可能性があります。2026年10月13日には、AI Scanの検出数や解決数、autofixの適用状況などをsecurity overviewで見られる指標がpublic previewとして案内され、GitHub Enterprise Serverはこのリリースの対象外とされています。法人での導入や研修の設計を考えるなら、株式会社デジライズに相談できます。
使う前の注意点
まず対象の線引きです。AI Scanはフォークからのプルリクエストと、Dependabotが作成したプルリクエストでは実行されません。リポジトリ全体のスキャンにも対応しておらず、検出結果はまだルールセットでマージ要件を強制する用途には使えません。課金面では、AI Scanの利用はCode Security AI Creditsを消費し、AI Creditの使用量はenterprise billing and licensingの「AI usage」で「Advanced Security」という製品として表示されます。Code Security AI CreditsにはSKU単位の予算も設定できますが、hard budgetによって使えるCode Security AI Creditsがなくなると、AI Scanは検出結果を出せません。管理者が上限を引き上げるか、新しい請求サイクルが始まるとスキャンは再開します。検出カテゴリや対応言語は変わる可能性があるため、使う前に公式のヘルプで最新の提供範囲と条件を確かめてください。
まとめ
AI Scanは、CodeQLの外側にあったPHPやShell/Bash、設定ファイルの脆弱性をプルリクエストの段階で拾う機能で、個人アカウントのパブリックリポジトリならトグル一つで試せます。結果はadvisoryなので、開発の流れを止めずにレビューの観点を増やす道具として扱うのが現実的です。コードレビューやセキュリティを含めてAI活用を体系的に学ぶなら、デジライズAIスクールのコース一覧にある「システム運用・情シス業務のAI実務」なども参考になります。
出典
- AI Scan for pull requests generally available - GitHub Changelog
- AI Scan for pull requests - GitHub Docs
- Code scanning AI Scan metrics in security overview - GitHub Changelog
この記事は、各社の公式の発表をもとに AI で下書きし、出典の本文との照合とGoogle 検索による事実確認(ファクトチェック)を通ったものだけを公開しています。
