GitHub

GitHub Copilot Autofixとは?対応言語・料金・エージェント型自動修正【2026年版】

GitHub Copilot Autofixは、CodeQLが検出したコードスキャンアラートに対して、修正済みのコードそのものを提案する機能です。2024年8月14日の一般提供開始時に「code scanning autofix」から現在の名称へ改称されたため、古い解説記事と公式ドキュメントで呼び名が食い違っています。本記事では2026年7月時点の公式ドキュメントとGitHub Changelogの記述をもとに、対応言語、無料で使える範囲と有料ライセンスの境界、2026年7月10日にパブリックプレビューとなったエージェント型autofix、そして公式が自ら挙げている失敗モードまでを整理します。

まとめ:Copilot Autofixの要点

  • 名称:ベータ時の「code scanning autofix」は、2024年8月14日のGAで「Copilot Autofix」に改称された。CodeQLコードスキャンの一機能であり、コード補完のGitHub Copilotとは課金も提供条件も別。
  • 対応言語:C#、C/C++、Go、Java/Kotlin、Swift、JavaScript/TypeScript、Python、Ruby、Rustの9系統。ただし対象はdefaultとsecurity-extendedクエリスイートに含まれるクエリの一部。
  • 料金:GitHub.comの全パブリックリポジトリは無料。組織・Enterprise配下のプライベート/内部リポジトリはGitHub Code Security(1アクティブコミッターあたり月額30ドル)のライセンスが必要。Copilotのサブスクリプションは従来型では不要。
  • 有効化:CodeQLコードスキャンを有効にしたリポジトリでは既定で有効。autofix単体をオンにする操作はない。
  • エージェント型:2026年7月10日にパブリックプレビュー開始。CodeQLを再実行して修正が実際にアラートを閉じるか検証し、ドラフトPRを作る。Copilotクラウドエージェントを使うためAI Creditsを消費する。

以下、名称の整理から料金の線引き、エージェント型の実像、自動マージに載せてはいけない条件までを順に見ていきます。

Copilot Autofixの位置づけと「code scanning autofix」からの改称

旧称との関係と改称のタイミング

この機能は2024年3月20日にパブリックベータとして「code scanning autofix」の名前で登場し、同年8月14日の一般提供開始にあわせて「Copilot Autofix」へ改称されました。中身が入れ替わったのではなく、GitHub Copilotブランドへ統合された結果の名称変更です。

実害が出るのは、GitHubのUI表記が新名称になっている点です。リポジトリのSecurityタブに並ぶアラート画面には「Copilot Autofix」としか出ないため、2024年前半に旧名称で書かれた手順書と画面の対応が取れません。公式ドキュメントを検索するときも新名称で当たったほうが確実です。

コード補完のGitHub Copilot・Copilotコードレビューとの違い

名前が似ているだけで、この3つは別物です。エディタ上でコードを補完するGitHub Copilotは有料サブスクリプション(Copilotライセンス)が前提で、対象は「これから書くコード」です。Copilotコードレビューはプルリクエスト全体に対して人間のレビュアーのようなコメントを付けます。Copilot Autofixが扱うのは、CodeQL(および対応するパートナー製ツール)が「脆弱性である」と判定したアラートに限られ、指摘の根拠は生成AIの推測ではなく静的解析の結果です。

提案が既存のコードスキャンアラートに必ず紐づくため、「なぜこの修正が必要か」を解析結果まで遡って追跡できる点が、責任範囲の面での違いになります。CodeQL自体の仕組みや設定手順はGitHub Code Scanningとは?CodeQLの仕組み・設定方法・料金を解説で扱っています。

対応プログラミング言語とクエリスイートの範囲

2026年7月時点で公式に対応している9系統

GitHub公式ドキュメントの「Responsible use of Copilot Autofix for code scanning」が挙げる対応言語は、C#、C/C++、Go、Java/Kotlin、Swift、JavaScript/TypeScript、Python、Ruby、Rustです。2024年3月のベータ開始時点ではJavaScript/TypeScript、Java、Pythonの3系統のみで、C#は同年4月26日のCodeQL 2.17.1で追加されました。RustやSwift、Kotlinを「今後の対応が期待される言語」として紹介している記事は、この初期状態のまま情報が止まっています。

言語の対応可否はCodeQL側の解析対応と連動します。CodeQLが解析できない言語ではそもそもアラートが出ないため、autofixの対象にもなりません。GitHubが提供する他の解析機能との対応言語の違いはGitHub Code Qualityとは?料金・対応言語・GA時期をわかりやすく解説と見比べると把握しやすくなります。

対応するのはクエリスイートの「一部」という制約

見落とされやすいのが、対応言語であっても全アラートに修正案が出るわけではないという点です。公式ドキュメントは、Copilot Autofixがカバーするのはdefaultおよびsecurity-extendedクエリスイートに含まれるクエリのサブセットであると明記しています。自作のカスタムクエリで検出したアラートは対象外です。

この範囲は固定ではありません。2025年2月20日のChangelogでは対象アラートが拡張され、全CodeQLアラートの29%を占めるグループについて修正案の生成が270%増、autofixが利用できるアラート全体では8%増になったと報告されています。裏を返せば、それ以前の版では約3割のアラート群でほとんど修正案が出ていなかったことになります。

パートナー製ツール(SARIF)のアラートへの対応

2024年10月29日のChangelogで、Copilot AutofixはCodeQL以外のコードスキャンツールにも対応範囲を広げました。最初のパートナーがESLintで、JFrogのSASTとBlack DuckのPolarisはこの時点では「今後のChangelogで告知する」と予告された段階でしたが、その後いずれも対応済みとなっています。ESLintの検出結果を渡すには@microsoft/eslint-formatter-sarifでSARIF形式に変換し、GitHub Actionsのワークフローからアップロードします。

ただし公式ドキュメントは、エージェント型autofixの説明のなかで「サードパーティ製ツールのアラートに対する修正品質も保証されない」と注記しています。パートナーツール経由のアラートは、CodeQLのアラートと同じ精度を前提に運用しないほうが安全です。静的解析ツール自体の選定を検討している場合はSemgrepの基本概要と静的解析ツールとして選ばれる3つの理由もあわせて比較材料になります。

無料で使える範囲とGitHub Code Securityの料金

パブリックリポジトリは無料、プライベートは有料ライセンス

GitHub.com上の全パブリックリポジトリでは、2024年9月からCopilot Autofixが無償で使えます。公式ドキュメントが利用可能な範囲として挙げるのは、このパブリックリポジトリと、GitHub Code Securityのライセンスを持つ組織・Enterpriseが所有するプライベート/内部リポジトリの2つです。個人アカウントのプライベートリポジトリはこの記述に含まれません。従来型のCopilot Autofixに関しては、GitHub Copilot本体のサブスクリプションは不要である点も公式に明記されています。

リポジトリ種別 従来型Autofix エージェント型 必要ライセンス
パブリック(GitHub.com) 利用可 対象外 不要
プライベート/内部(組織・Enterprise) 利用可 利用可 Code Security+(エージェント型は)Copilot
個人アカウントのプライベート 記載なし 記載なし 該当なし

個人開発で試そうとして詰まるのはこの3行目です。まずパブリックリポジトリで挙動を確認するのが手堅い進め方になります。

GHAS分割後の買い方と単価

2025年3月4日の発表により、GitHub Advanced Security(GHAS)は2025年4月1日からGitHub Code SecurityとGitHub Secret Protectionの2製品に分割されました。価格はGitHub Code Securityが1アクティブコミッターあたり月額30ドル、GitHub Secret Protectionが同19ドルです。Copilot Autofixは前者に含まれます。

この分割で実務的に大きいのは、GitHub Enterpriseを契約していないGitHub Teamプランの組織でも、従量課金でCode Securityを購入できるようになったこと。分割前は「Enterprise契約が前提のGHAS一括購入」だったため、シークレットスキャンだけが欲しい組織もSAST込みの費用を払う必要がありました。旧GHASの価格体系との対応関係はGitHub Advanced Securityの料金は?価格体系と主要機能をわかりやすく解説で整理しています。

課金単位の「アクティブコミッター」は、公式ドキュメントの定義では直近90日以内にそのリポジトリへコミットがプッシュされていれば、コミットが元々いつ作成されたかを問わずアクティブ扱いになります。月内の稼働だけで数える方式ではないため、四半期に一度しか触らない開発者も課金対象に入ります。見積もりでは全社員数ではなく、直近90日の実プッシュ実績を基準にしてください。

有効化の手順と修正が提示されるまでの流れ

CodeQLコードスキャンの有効化(autofixは既定でオン)

autofixを個別に有効化する設定項目はありません。公式ドキュメントの表現では「Copilot Autofixは既定で許可され、CodeQLを使う全リポジトリで有効」です。したがって作業はCodeQLコードスキャンの有効化だけになります。有効化のトグルは存在しない一方で、組織・リポジトリの管理者やEnterpriseのポリシーによる無効化の口は用意されている、という非対称な設計です。

  1. リポジトリのSettingsを開き、サイドバーのSecurityセクションからAdvanced Securityへ移動する
  2. Code Securityの区画で、CodeQL analysisの右にあるSet upからDefaultを選ぶ
  3. Languagesで解析対象の言語を、Query suitesでクエリスイートを確認し、Enable CodeQLを実行する

ワークフローを細かく制御したい場合はDefaultではなくAdvancedを選び、github/codeql-actionを含むワークフローファイルを直接編集します。CI側で解析タイミングやビルド手順を指定したいケース、モノレポで対象パスを絞りたいケースはこちらです。

プルリクエストと過去アラートへの修正提案

2024年9月のChangelogは、autofixが「プルリクエスト上と過去のアラートの両方に対して」自動修正を提供すると記述しています。プルリクエストでCodeQLが新規アラートを検出すると、該当箇所に修正案が差分として表示され、開発者はコードを書かずにその差分を受け入れてコミットできます。修正の意図を説明する文章も併記されるため、提案の妥当性を判断する材料が差分と同じ画面に揃う。「検出だけして直し方は自分で調べる」従来の静的解析との決定的な差はここです。

デフォルトブランチに既に存在する過去のアラート、いわゆるセキュリティ債務についても、アラート画面から同様に修正案を生成できます。

セキュリティ債務を一括で処理するセキュリティキャンペーン

2025年4月に一般提供が始まったセキュリティキャンペーンは、蓄積したアラートをまとめて扱う仕組みです。セキュリティチーム側でトリアージと優先度付けを行い、コードスキャンアラートに対して一度にCopilot Autofixの修正案を生成させ、開発チームへ配ります。同じGA告知で、公開前に対象範囲を詰められるドラフトキャンペーンも導入されました。

運用設計で効いてくるのが上限値です。1キャンペーンに含められるアラートは最大1,000件、同時にアクティブにできるキャンペーンは最大10件(クローズ済みのキャンペーン数に上限はありません)。数万件規模の債務を抱えている場合、この上限が実質的なバッチサイズになるため、リポジトリ単位ではなく脆弱性種別や重大度で切って回すほうが管理しやすくなります。2025年9月にはシークレットスキャンのアラートを対象にしたキャンペーンとアラートの担当者アサインも追加されました。

エージェント型autofix(2026年7月10日 パブリックプレビュー)

エージェント型と従来型の処理フローの差

2026年7月10日、GitHubはエージェント型のautofixをパブリックプレビューとして公開しました。従来型が「アラート箇所に対する修正差分を生成する」のに対し、エージェント型はCopilotクラウドエージェントが関連ファイルを横断的に読み、修正案を作り、CodeQLを再実行して実際にアラートが閉じるかを検証したうえでドラフトプルリクエストを開きます。修正生成にかかる時間は2〜4分が目安とされています。

コードスキャンアラートをCopilotにアサインする仕組み自体は2025年10月28日から先行してパブリックプレビューになっていました。2026年7月版で新しいのは、CodeQL再実行による検証と、後述する「Generate fix」ボタンの置き換えです。

従来型の提案が的外れかどうかは人間がレビューして初めて分かりましたが、エージェント型は「そのアラートは消える」ところまで機械的に確認済みの状態で上がってくる。ただし検証にはcode-scanningクエリスイートでの再実行が使われるため、公式ドキュメントはカスタムクエリやsecurity-extendedクエリスイート由来のアラートについては、修正が解決したことを確認できないと注記しています。エージェント型を導入しても、この2系統のアラートは人間のレビュー負荷が下がりません。

必要なライセンスとAI Creditsの消費

エージェント型を使うには、GitHub Code SecurityまたはGitHub Advanced Securityの有効なライセンスに加えて、Copilotクラウドエージェントが有効になっているCopilotライセンスが必要です。従来型がCopilotライセンス不要だったのに対し、ここで前提が1つ増えます。

コスト面も変わります。エージェント型のセッションは組織のAI Creditsプールを消費し、1 AI Creditは0.01ドルに相当します。さらにGitHub Actionsの実行時間も消費します。パブリックプレビュー期間中はエージェント型autofixの使用量が他のCopilot利用と分けて明細化されないため、費用を機能単位で追いたいなら有効化するリポジトリを絞って様子を見るのが現実的です。

対象組織のアラート画面では、無料だった「Generate fix」ボタンがエージェント型の「Assign to Copilot」に置き換わります。Changelogの記述で置き換えの対象とされているのは個別のコードスキャンアラート画面であり、プルリクエスト上で自動的に提示される修正案がなくなるという告知ではありません。とはいえ、アラート画面から無料でワンショット生成する運用を前提にしていた組織はコスト構造が変わります。組織・リポジトリの管理者は無効化でき、Enterpriseのポリシーで無効にした場合は従来型とエージェント型の両方が止まります。Copilotのエージェント動作そのものについてはGitHub Copilotエージェントモードの使い方|Ask・Edit・Agentの違いと有効化・料金【2026年版】で扱っています。

REST APIからの割り当て

UI操作以外に、Code Scanning Alert REST APIのassigneescopilot-swe-agent[bot]を設定することでもエージェント型autofixを起動できます。個別のアラート画面、アラート一覧、セキュリティキャンペーンの画面からも割り当てられるため、優先度の高いアラート群を自動でエージェントへ流す運用を組めます。

公式が示す実測値と、自動化を止めるべき条件

修正所要時間の実測(GitHub公開データ)

GitHubは2024年5月から7月のパブリックベータ期間、GHASを有効にしたリポジトリのプルリクエストで検出された新規CodeQLアラートを対象に、修正完了までの時間を計測しています。

脆弱性種別 Autofix利用時(中央値) 手作業(中央値) 倍率
全種別 28分 1.5時間 約3倍
クロスサイトスクリプティング 22分 約3時間 約7倍
SQLインジェクション 18分 3.7時間 約12倍

この数字は「PR時点で検出された新規アラート」の測定値です。デフォルトブランチに長く残った過去のアラートは修正の影響範囲が読みにくく、同じ倍率にはなりません。導入効果を見積もるときは、まずPR段階の新規アラートを対象に置くほうが期待値と実績が合います。

公式が認めている失敗モード

公式ドキュメントは、Copilot Autofixの限界を自ら列挙しています。実務で影響が大きいものを挙げると次のとおりです。

  • 非決定的であり、同じアラートでも試行ごとに提案が変わる、あるいは提案が出ないことがある
  • 複数ファイルにまたがる複雑なデータフローを追う必要があるアラートは苦手
  • ファイルやリポジトリが非常に大きいとコンテキストが切り詰められる
  • 構文エラーを含む修正、誤った位置への修正、意味を変えてしまう修正を生成しうる
  • 新たな脆弱性を持ち込む、あるいは根本原因を部分的にしか直さないことがある
  • 提案する依存関係のバージョンが実在しない値になることがある
  • 学習データが英語中心のため、英語以外で書かれたコードでは効果が落ちる

最後から2番目の「依存バージョンの捏造」は、提案をそのまま取り込むとビルドが通らない、あるいは意図しないバージョンに固定されるという形で表面化します。修正差分にバージョン指定が含まれる場合は、必ずレジストリ側で実在を確認してください。

自動マージに載せてはいけない条件

ここは明確に立場を示します。エージェント型がドラフトPRを開くようになっても、人間のレビューを外す設計にすべきではありません。とくに次の条件に当てはまる場合は、autofixの提案を自動マージの経路に乗せないでください。

1つ目は、認証・認可・暗号処理のコードです。CodeQLのアラートが閉じることと、認可ロジックが仕様どおりであることは別の話で、autofixの検証は前者しか見ていません。2つ目は、カスタムクエリやsecurity-extendedクエリスイート由来のアラート。前述のとおりエージェント型でも修正の有効性を検証できないため、検証済みという前提が成立しません。3つ目は、依存関係の追加・バージョン変更を含む修正で、捏造されたバージョンが混入する既知のリスクがあります。パートナー製ツール由来のアラートも、公式が修正品質を保証していない以上ここに含めて扱うのが安全です。

逆に、PR時点で検出されたXSSやSQLインジェクションのような、CodeQLのデータフロー解析が得意でautofixの実測倍率も高い領域は、レビューを軽くしても実害が出にくい範囲です。全アラートに同じ運用を敷くのではなく、クエリスイートと脆弱性種別で運用を分けるのが、公式が示す限界と整合する組み方になります。

よくある質問

GitHub Copilot Autofixは無料で使えますか?

GitHub.com上のパブリックリポジトリであれば2024年9月から無料です。組織やEnterpriseが所有するプライベート・内部リポジトリではGitHub Code Security(1アクティブコミッターあたり月額30ドル)のライセンスが必要になります。公式ドキュメントが利用可能な範囲として挙げているのはこの2つで、個人アカウントのプライベートリポジトリは含まれていません。

GitHub Copilotのサブスクリプションは必要ですか?

従来型のCopilot Autofixには不要であると公式ドキュメントに明記されています。ただし2026年7月にパブリックプレビューとなったエージェント型autofixは、Copilotクラウドエージェントが有効なCopilotライセンスを必要とし、AI CreditsとGitHub Actionsの実行時間も消費します。

CIパイプラインに組み込めますか?

Copilot AutofixはCodeQLコードスキャンの一部として動くため、GitHub ActionsでCodeQL解析を回していれば追加設定なしで機能します。解析タイミングやビルド手順を細かく制御したい場合はDefaultではなくAdvancedセットアップを選び、github/codeql-actionを含むワークフローを直接編集してください。ESLintなどパートナーツールの結果を渡す場合は、SARIF形式に変換してActionsからアップロードします。

「autofix ci」で出てくるautofix.ciとは別物ですか?

別のサービスです。autofix.ciは、GitHub Actions上でlinterやformatterを実行し、その結果をプルリクエストへ自動コミットするサードパーティ製のGitHub Appで、GitHubの提供物ではありません。既存のコード修正ツールをそのまま使う汎用の仕組みで、セキュリティ脆弱性の検出機能は持ちません。CodeQLのセキュリティアラートに対する修正提案を探しているならCopilot Autofix、フォーマット崩れやlint違反の自動整形を探しているならautofix.ci、という住み分けになります。

RustやSwiftには対応していますか?

どちらも対応済みです。2026年7月時点の公式ドキュメントが挙げる対応言語は、C#、C/C++、Go、Java/Kotlin、Swift、JavaScript/TypeScript、Python、Ruby、Rustの9系統です。「Rust・Kotlin・Swiftは今後対応予定」と書かれた解説は2024年3月のベータ時点(JavaScript/TypeScript・Java・Pythonのみ)の情報で、現在は古くなっています。

Copilot AutofixとCopilotコードレビューはどう使い分けますか?

Copilot Autofixの対象はCodeQLおよびパートナーツールが検出したセキュリティアラートに限られ、指摘の根拠が静的解析結果である点が特徴です。Copilotコードレビューはプルリクエスト全体を対象に、可読性や実装上の問題を含めて広くコメントします。脆弱性の確実な潰し込みは前者、一般的なレビュー負荷の軽減は後者、という役割分担になります。

関連記事

資料請求

RELATED POSTS 関連記事