Skip to main content
Skip to content

コード スキャンの自動修正について

自動修正では、 code scanning アラートの修正プログラムが自動的に生成され、既存の脆弱性を修復するのに役立ちます。

この機能を使用できるユーザーについて

Copilot Autofix code scanningの場合は、次のリポジトリの種類で使用できます。

  • GitHub.com 上の公開リポジトリ
  • GitHub Team上でGitHub Code Securityが有効になっている組織所有のリポジトリ

エージェント型自動修正では、加えてリポジトリ内で Copilot cloud agent を利用可能にしておく必要があります。

自動修正では、新しいセキュリティ脆弱性の導入を回避できるように、 code scanning アラートの修正に役立つ、対象を絞った推奨事項が提供されます。 潜在的な修正は、コードベースのデータと code scanning 分析からのデータを使用して、大規模な言語モデル (LLM) によって自動的に生成されます。

自動修正のしくみ

自動修正では、 code scanning アラートの説明と場所が、修正可能なコード変更に変換されます。 OpenAI から GPT-5.3-Codex 大規模な言語モデルとインターフェイスします。これには、コードで推奨される修正プログラムと、それらの修正プログラムの説明テキストの両方を生成するのに十分な生成機能があります。

アラートの修正を取得するには、エージェントの自動修正と Copilot Autofixの 2 つの方法があります。 Copilot cloud agent がリポジトリ内で利用可能な場合、アラートを割り当てる際は Copilot Autofix ではなく agentic autofix が使用されます。

Agentic の自動修正

メモ

この機能は現在パブリック プレビュー段階であり、変更される可能性があります。 プレビュー機能へのアクセスは、組織レベルとエンタープライズ レベルのポリシー設定によって制御されます。 「組織内のGitHub Copilotのポリシーと機能の管理」と「企業での GitHub Copilot のポリシーと機能の管理」を参照してください。

code scanningアラートをCopilotに割り当てて、アラートを解決します。 アラートを割り当てると、エージェント セッションが開始されます。 Copilot cloud agent は、影響を受けるファイルを超えてコードベースを探索するツールを呼び出し、修正プログラムを生成し、( CodeQLを再実行するなどして) 検証し、変更を含むプル要求を開くまで反復処理します。 「コード スキャン アラートを解決する」を参照してください。

次の点に注意してください。

  • Agentic の自動修正では、 Copilot cloud agent と Copilot Autofix をリポジトリで使用できる必要があります。 Copilot cloud agent使用できない場合、アラートの割り当ては代わりにCopilot Autofixにフォールバックします。
  • 各エージェント型自動修正セッションは、Copilot cloud agent セッションとして請求され、AI credits を消費します。 「クラウド エージェントGitHub Copilotについて」を参照してください。
  • Copilot は、修正プログラムを生成するときにリポジトリまたは組織用に構成されたカスタム手順に従います。
  • Agentic の自動修正は、ベスト エフォートベースで動作します。 Copilot は、コード スキャン クエリ スイートを使用して CodeQL を再実行して修正プログラムを検証するため、修正プログラムがカスタム クエリまたはセキュリティ拡張クエリ スイートによって生成されたアラートを解決することを確認できません。 サードパーティ製ツールからのアラートの品質を修正することも保証されていません。

Copilot Autofix による修正案を取得する

Copilot Autofix では、アラートに対して推奨される修正プログラムが 1 つ生成されます。この修正プログラムは、自分で確認して適用します。

GitHub Copilot を使用するために GitHub Copilot Autofix のサブスクリプションは不要であり、AI credits は を消費しません。 Copilot Autofix は、 GitHub.com上のすべてのパブリック リポジトリ、および GitHub Code Securityのライセンスを持つ組織や企業が所有する内部またはプライベート リポジトリで使用できます。

Copilot Autofixは既定で許可され、CodeQLの既定のセットアップと詳細設定のどちらを使用するかに関係なく、code scanningを使用するすべてのリポジトリで有効になります。 Copilot Autofixを有効にする別の手順はありません。code scanningでCodeQLを有効にするだけで十分です。 「コード スキャンの既定セットアップの構成」を参照してください。

エンタープライズ、組織、リポジトリのレベルの管理者は、 Copilot Autofixを無効にすることを選択できます。 Copilot Autofixがレベルで無効になっている場合は、無効にするのと同じ手順に従い、Copilot Autofixを許可するオプションを選択することで、再度有効にすることができます。 各レベルで Copilot Autofix を管理する方法については、 セキュリティ アラートをスキャンするコードの自動修正を無効にする を参照してください。