メモ
GitHubセキュリティ拡張機能はパブリック プレビューの段階にあり、変更される可能性があります。
GitHub セキュリティ拡張機能について
GitHubセキュリティ拡張機能を使用すると、code scanningを離れることなく、GitHub Copilot appアラートを検索、理解、修正できます。 pull request を開く前に、ローカルの変更に新しい脆弱性がないか確認することもできます。
拡張機能を、github-security プラグインの一部としてインストールします。 この拡張機能には、 Security というラベルの付いたキャンバスが用意されています。このキャンバスでは、既存のアラートを操作し、セッションと共にローカル セキュリティ レビューを実行できます。
Prerequisites
GitHubセキュリティ拡張機能を使用するには、次のものが必要です。
- GitHub Copilot app アカウントにサインインしている、GitHub プランとCopilot。 「GitHub Copilot アプリを使い始める」を参照してください。
- 設定されている場合、企業の管理対象設定で
github-securityプラグインをインストールする権限
Copilot BusinessまたはCopilot Enterpriseを使用する場合は、GitHub Copilot app ポリシーを有効にする必要があります。 アプリまたはプラグインへのアクセスがブロックされている場合は、管理者に問い合わせてください。
セキュリティ キャンバスでリポジトリの既存の code scanning アラートを表示するには、code scanning が有効になっている状態で、そのリポジトリのアラートにアクセスできる必要もあります。 プライベートリポジトリにはGitHub Code Securityが必要です。 「コード スキャンの既定セットアップの構成」を参照してください。
この拡張機能は、データ レジデンシーに対応した GitHub.com と GitHub Enterprise Cloud 上のリポジトリをサポートします。 GitHub Enterprise Server はサポートされません。
ローカル セキュリティ レビューを実行するために、code scanning を有効にする必要も GitHub Code Security ライセンスも不要です。
GitHub セキュリティ拡張機能のインストール
Copilot CLIを使用してターミナルからプラグインをインストールするには、次のように入力します。
copilot plugin install github-security@awesome-copilot
copilot plugin install github-security@awesome-copilot
または、GitHub Copilot app にプラグインをインストールします:
- アプリのサイドバーで、[ カスタマイズ] をクリックします。
- 検索バーで
github-securityを検索します。 - プラグイン の下で、"github-security" の横にある + インストール をクリックします。
インストール後、プラグインとその拡張機能が自動的に有効になります。
セキュリティ キャンバスでのコード スキャン アラートの表示
拡張機能を使用して、リポジトリ内の開いている code scanning アラートを重大度順に表示します。 Code scanning はリポジトリに対して有効になっている必要があります。また、そのアラートにアクセスできる必要があります。
- 作業するリポジトリ用に新しいセッションを開始します。
- [セキュリティ] キャンバスがまだ開いていない場合は、[ ] をクリックし、[ キャンバス] にカーソルを合わせ、[ セキュリティ] をクリックします。
- 拡張機能のセキュリティ キャンバスのホーム ページで、Code scanning 検出結果をクリックします。
- リストを絞り込むには、キャンバスの右上隅にある [ ] をクリックして、検索コントロールとフィルター コントロールを表示します。
- アラートのタイトルをクリックすると、キャンバスでその説明、重大度、影響を受けるコードを表示できます。
アラートにリンクされたプルリクエストを確認して、誰かが既に修正に取り組んでいるかどうかを確認します。 GitHubで完全なアラート ページを開くには、アラートの行にカーソルを合わせ、[] をクリックし、[ブラウザーで開く] をクリックします。
拡張機能には、Dependabot アラートが表示され、secret scanning または code scanning アラートは表示されません。
アラートの理解と修正
説明 と 修正 ボタンは、セッション内の Copilot エージェントに、選択した code scanning アラートに対応するように求めます。
- Explain は、対処方法を決定する前に脆弱性を理解できるよう、エージェントにアラートを説明してもらいます。
- 修正は、アラートに対処するためにコードを変更するようエージェントに求めます。
- 1 つのアラートに対して作業するには、アラートをクリックして詳細を開くか、結果の一覧でその上にカーソルを合わせて [説明] ボタンと [修正] ボタンを表示されるようにします。 複数のアラートを処理するには、その横にあるチェック ボックスをオンにします。
- [ 説明 ] または [ 修正 ] ボタンをクリックします。
- セッション内のエージェントの応答を確認します。 修正を要求した場合は、diff を確認し、プロジェクトに関連するテストを実行してください。
- 会話を続けて、必要に応じて修正を調整します。
[修正] をクリックすると、Copilotローカル作業コピーのみが変更されます。 変更をコミットしたり、プッシュしたり、プル リクエストを開いたりすることはありません。 変更に満足したら、通常のレビュー プロセスを通じてコミットしてプッシュしてください。
ローカル修正では、code scanning アラートを閉じることはできません。 修正プログラムが影響を受けるブランチに到達し、code scanning が再度実行されると、アラートが解消されたかどうかを判断します。 「コード スキャン アラートを解決する」を参照してください。
また、チャットで直接Copilotにアラートについて尋ねることもできます。 例:
Explain the highest-severity open code scanning alert in this repository and suggest how I could fix it. Do not change any files.
Explain the highest-severity open code scanning alert in this
repository and suggest how I could fix it. Do not change any files.
セキュリティ拡張機能のツールは、アプリのツールのアクセス許可の設定に従います。 承認が必要な場合は、Copilotは他のツールと同じように、使用する前に承認を求めます。
アラートを無視する
たとえば、誤検知であるため、修正する必要がないと判断した場合は、アラートを閉じます。 リポジトリ内のcode scanningアラートを閉じるには、アクセス許可が必要です。
ローカルでのコードの修正とは異なり、アラートを却下すると、GitHub上でその状態が更新されます。
- アラートの詳細ページの上部にある [ ] をクリックするか、結果の一覧でアラートの行をポイントして同じアイコンをクリックします。
- [ 閉じる] をクリックします。
- 理由を選択し、決定理由を説明するコメントを追加してください。
- 検出結果を却下 をクリックするか、承認が必要な場合は 要求を送信 をクリックします。
委任されたアラートの却下でリポジトリでのあなたのロールでは承認が必要な場合、拡張機能はアラートを閉じるのではなく、却下要求を送信します。 権限を持つレビュー担当者が要求を承認するまで、アラートは開いたままです。 却下リクエストは、拡張機能ではなく、GitHubで確認されます。
新しい脆弱性に対するローカル変更の確認
セッションのセキュリティ キャンバスから、 Copilot エージェントに対して、pull request を開く前にセッションの現在の変更の脆弱性を確認するように依頼できます。
/security-reviewスラッシュ コマンドを使用してレビューを開始することもできます。 これは、完全なリポジトリセキュリティ監査や code scanningの代わりではなく、変更の焦点を絞ったレビューです。
- 進行中のコード変更があるアクティブなセッションを開きます。
- [セキュリティ] キャンバスがまだ開いていない場合は、 をクリックし、[キャンバス] にカーソルを合わせ、[セキュリティ] をクリックします。
- 拡張機能のセキュリティ キャンバスのホーム ページの [セキュリティ レビュー] で、[ レビューの開始] をクリックします。 または、セッションのプロンプト ボックスに「
/security-review」と入力し、 Enter キーを押します。 - キャンバス内にあるローカルの検出項目を確認します。 結果を選択し、[説明] または [修正] ボタンをクリックして、エージェントに結果の説明を依頼するか、コードを変更して対処します。
- コードを変更した後、レビューをもう一度実行してください。 キャンバスは、前回のレビュー以降にコードが変更されたことを示します。
以前のローカル レビューの結果に戻るには、拡張機能のセキュリティ キャンバスのホーム ページで [ 前回のレビュー結果 ] をクリックします。
ローカル レビューの指摘事項は、GitHubのcode scanningアラートとは別です。 ローカル レビューを実行しても、 code scanningは有効になりません。
人工知能使用
[ 説明 ] または [修正] ボタンをクリックするか、セキュリティ レビューを開始すると、 Copilot エージェントはアプリで選択したモデルを使用し、他のプロンプトと同様に AI credits を消費します。 キャンバス内でのアラートの閲覧と閉じる操作では、AI は使用されません。