検出の範囲と、修正を進める範囲を分ける
AI Scanは、PR(pull request:コード変更を取り込むための提案)の変更差分にある脆弱性を調べる機能です。CodeQLは、コードの意味を解析して脆弱性などを探すエンジンです。AI Scanは、CodeQLが対応していない言語やフレームワーク(アプリ開発の共通機能を提供する基盤)を調べます。[1]
既定ブランチは、リポジトリ(コードや変更履歴を管理する場所)で基準にするブランチ(変更を分けて進めるコード系列)です。コード解析アラートは、解析ツールが見つけた問題の通知です。Agentic autofixは、その既定ブランチのアラートから修正案を作り、可能な範囲で検証する機能です。[2, 3]
GitHubは2026年10月15日、両機能の一般提供(GA)を発表しました。[1, 2]
AI Scanは、GA前のプレビュー期間から提供されていました。[5]
従来のCopilot Autofixは、一つのアラートに修正案を生成する機能です。次の表は、3機能を入力・処理・出力の観点で比べたものです。[3]
| 機能 | 主な入力と処理 | 利用者が受け取るもの |
|---|---|---|
| AI Scan | CodeQLが現在カバーしない言語・フレームワークのPR変更をAIで調べる | PR上の指摘。利用可能な場合はCopilot Autofixの修正提案も付く |
| Copilot Autofix | 対応する一つのアラートに修正案を生成する | 利用者が確認・適用してPRを作るための提案 |
| Agentic autofix | 既定ブランチのコード解析アラートを割り当て、関連ファイルの探索、修正、検証を進める | 修正案と検証内容を含むdraft PR(下書きのPR) |
AI Scanのfinding(検出した問題の指摘)はPR上だけに表示されます。リポジトリのセキュリティ画面にある未解決アラートの一覧には登録されません。Agentic autofixでは、担当者が既定ブランチのコード解析アラートを割り当てます。[1, 2, 4, 6]
AI Scanが実行されるPR、実行されないPR
code scanningは、リポジトリのコードを解析して脆弱性などを検出する機能です。AI Scanは、code scanningとリポジトリに適用されるAI Scan設定が有効で、対応する変更を持つPRに自動で実行されます。[1, 4]
AI Scanは対象PRで自動実行されます。結果はConversationとFiles changedの各タブに表示され、CodeQLの結果と並びます。PRを確認する担当者は、AIの印でAI Scanの結果を見分けられます。[1, 4]
対応例にはPHPなどのプログラミング言語があります。JavaでWebページを作るための技術JSPや、C#でWeb画面を作るための開発基盤Blazorも対象です。対応範囲は言語と開発基盤の単位で確認します。[1, 4]
| 確認する条件 | 公式資料にある扱い |
|---|---|
| fork(別の所有者へ複製したリポジトリ)由来のPR | AI Scanは実行しない |
| Dependabot(依存関係の更新を提案するGitHubのツール)が作成したPR | AI Scanは実行しない |
| リポジトリ全体の一括走査 | AI Scanは対応しない。PRが対象 |
| CodeQLのdefault setup(既定の解析構成) | AI Scanの必須条件ではない |
| CodeQL解析が失敗・待機中 | その状態とは独立してAI Scanは実行する |
CodeQLの設定に依存しない点は、2026年9月16日のプレビュー更新でも説明されています。CodeQLのdefault setupの有無にかかわらず、code scanningとAI Scanを有効にした適格PRでAI Scanが実行されます。[5, 4]
AI Scanの公式Docsは、ビルド構成(コードを実行可能な形にする手順や設定)が不要であり、必要に応じてコード検索から文脈を集めると説明しています。専用のプロンプト(AIへの指示文)を使い、copilot-instructions.mdやCLAUDE.mdなどの独自指示ファイルは使わないという説明もあります。(AI Scanの公式仕様)
指摘があることと、マージを止めること
AI Scanのfindingは助言扱いです。code scanning check(コード解析の実行結果を示すチェック)を失敗にせず、ruleset(マージ要件などを定めるルールセット)の必須要件を通じてマージを止めることもできません。[1, 4]
チームが自動の通過条件を設ける場合は、リポジトリ側のルールを別に確認します。code scanningのマージ保護は、必須にした解析ツールが指定した重要度以上のアラートを検出した場合や、解析が進行中の場合などにマージを止める機能です。[7]
これはstatus check(継続的インテグレーション(CI)などで実行されるチェック)とは別の仕組みです。CIはコード変更を継続的に統合・検証する仕組みです。ビルドやテストを必須にする設定、必要な承認数やコード所有者(特定のファイルやフォルダのレビューを担当する人)のレビューも、それぞれ設定します。担当者は、選んだルールの適用範囲と例外を確認します。[7, 8]
本稿の運用案は、AI Scanの指摘を担当者が精査する手順を置き、必要なCIとレビューを別途必須にする形です。担当者は、マージ可否に加えてAI Scanの実行状況と、指摘されたリスクへの対応状況を確認します。
Agentic autofixのPRで、検証結果を読む
Agentic autofixを有効にすると、個別アラートのGenerate FixはAssign to Copilotに置き換わります。既定ブランチのcode scanning alertを割り当てると、Copilotが関連ファイルを調べ、修正を生成し、CodeQLの再実行と必要な反復を進めます。[2]
PRには修正概要、アラート解消の説明、検証手順が含まれます。PRだけ、または別ブランチだけで検出されたアラートは割り当て対象ではありません。[2]
GA発表は、CodeQLを再実行して対象アラートの解消を確認する流れを示しています。一方、専用のアラート解消手順は、検証を可能な範囲で行い、検証できない場合や誤検知の疑いがある場合はその旨をPRに記すと説明しています。担当者はPR本文と実行ログで、検証の成否を確認します。[2, 3]
Autofixの概要Docsは、code scanning query suite(コードスキャン用の検査ルール群)でCodeQLを再実行すると説明しています。独自のCodeQLクエリ、security-extended query suite(拡張ルール群)、第三者ツール由来アラートの修正確認には制約があります。これは同資料が示す確認範囲であり、今回GAの検出精度や修正成功率の実測値ではありません。[6]
担当者はPR本文と実行ログから、何を確認でき、何を確認できなかったかを読みます。その上で生成差分をレビューし、機能要件を満たすか、修正で既存機能に不具合が出ていないかをテストします。依存パッケージを追加・更新する修正なら、その変更の妥当性も確認します。担当者は、対象アラートの解消とほかの不具合の有無を分けて確認します。[6, 3, 9]
利用資格、有効化、消費枠を別々に確認する
AI Scanの利用対象は、所有者と公開範囲で変わります。組織所有の公開リポジトリと個人所有の公開リポジトリで利用できます。組織所有の非公開・内部リポジトリには、GitHub Code SecurityまたはGitHub Advanced Securityが必要です。[1, 4]
個人所有の非公開リポジトリ、Enterprise Managed Users(企業が管理するユーザ)の個人名前空間は対象外です。AI Scanの利用にCopilotライセンスは不要です。AI使用量の料金は、付属クレジットと従量課金の条件に従います。[1, 4](AI Scanの利用対象・課金)
Agentic autofixのGA発表は、Code Security/Advanced Security顧客を対象としています。GitHub Enterprise Cloud上での提供であり、データを指定地域に置くデータレジデンシー環境も含みます。[2]
参照した専用アクセスDocsには、公開リポジトリや単独組織、適格な個人所有公開リポジトリの手順もあります。発表の対象範囲と現行Docsの利用手順を分け、自分の契約と所有形態に適用される条件を確認します。(Agentic autofixの利用手順)
企業傘下の組織では、上位ポリシーの「許可」と機能の「有効化」は別の操作です。組織で有効化した後も、リポジトリ側の設定を確認します。単独組織や適格な個人所有公開リポジトリでは、専用Docsが示す手順が異なります。プレビュー利用組織もAgentic autofixの再有効化が必要とされています。(Agentic autofixの利用手順)
組織の管理権限を持つ担当者がAI Scanを有効にすると、code scanningが有効な適格リポジトリへ設定が即時に反映されます。リポジトリ管理者が対象外にする前に適格PRが走れば、使用量が発生し得ます。管理者は有効化前に、対象リポジトリと予算を確認します。[4]
AI機能の使用量に応じた料金は、Code Security AI Creditsという項目で計上されます。
| 機能 | 使用量として確認するもの |
|---|---|
| AI Scan | Code Security AI Credits |
| Agentic autofix | Code Security AI CreditsとGitHub Actions実行時間 |
| 従来のCopilot Autofixの修正提案 | 提案生成ではAI Creditsを消費しない。契約や作成したPRのCI費用は別に確認 |
公開リポジトリでも、両新機能のAI Credits消費はライセンス料金とは別です。課金先のCopilot契約に付属するクレジットがあれば先に使い、その後は従量課金へ移ります。付属分がなければ全量が従量です。[1, 2, 6](Code Security AI機能の課金)
本稿では、一律の無料枠や1スキャンの固定価格を前提にしません。
付属クレジットを使い切った後は、従量課金の扱いと利用停止予算を確認します。AI機能をまとめた利用枠(bundled AI credits)には、利用を停止する予算(hard budget)を設定できます。Code Security AI Creditsという料金項目(SKU)にも、個別の停止予算を設定できます。
両方の予算が適用される場合、どちらかの上限に達すると以後の使用が止まります。利用可能な枠が残らなければAI Scanは失敗し、Agentic autofixはセッションを開始できません。通知のみの予算では使用は止まりません。(Code Security AI機能の課金)(GitHubの予算設定)
自社では、実行範囲と結果を併記する
公式DocsはAI Scanに誤検知があり得ると説明しています。検出精度や見逃し率、工数削減率を自社で評価する場合は、同じ条件の測定結果を比べます。従来のCopilot Autofix向け評価や学習不使用の説明を、新2機能へ一括で広げることも避けます。(AI Scanの公式仕様)(AI機能の責任ある利用)
本稿の測定案として、まず対象PRを決め、対象外、設定未有効、予算による停止、実行済みを分けて記録します。実行済みの指摘0件と、実行されなかった状態を同じ「問題なし」にまとめないためです。
次に、指摘の採用・却下、調査に要した時間、修正PRの検証成否、既存機能への不具合、消費枠を併記します。見逃しを評価する場合は、既知の問題を含む確認用の対象を用意するなど、正解と照合する方法も設計します。この測定案は、自社で導入時に確認する項目として提案しています。
GitHubの機能を選ぶ際は、検出範囲の拡大、修正作業の前進、マージ条件の充足をそれぞれ確認します。担当者は、受け取った指摘と修正案から、人が判断する項目と未確認項目を整理し、自動化を適用する範囲を検討します。



