GitHub Copilot / コミット前セキュリティ
GitHub Copilotの/security-reviewでコミット前に何を確認できる?
GitHub Copilotアプリの/security-reviewは、いま作業しているコード変更をコミット前にAIで確認し、深刻度・信頼度付きの指摘と修正案を返すコマンドです。便利ですが、リポジトリ全体の監査や依存関係・Secrets検査を置き換える機能ではありません。
パブリックプレビュー /
まず使い方
- GitHub Copilotデスクトップアプリで対象プロジェクトを開く。
- コードを変更し、コミット前の状態にする。
- Copilotのチャット欄に
/security-reviewと入力する。 - 深刻度と信頼度が付いた指摘を確認する。
- 修正案をそのまま信用せず、該当コードと再現条件を確認する。
- 修正後にテストを実行し、もう一度
/security-reviewを実行する。 - コミット後もCodeQL、Dependabot、Secret scanning、PRレビューを通す。
利用できるプラン
GitHub公式Changelogでは、Free、Pro、Business、Enterpriseユーザーがパブリックプレビュー中に利用できると案内されています。組織アカウントでは管理者設定やデータ取り扱い方針も確認します。
何を検出する機能か
インジェクション
SQL、シェル、コマンドなど、外部入力が危険な処理へ届く変更を確認します。
クロスサイトスクリプティング
未処理の入力をHTMLへ出力するなど、XSSにつながる変更を確認します。
安全でないデータ処理
信頼境界を越える入力、検証不足、機密データの不適切な扱いを確認します。
パストラバーサル
利用者入力からファイルパスを組み立て、想定外の場所へアクセスする変更を確認します。
弱い暗号
古いハッシュや不適切な暗号利用など、文脈上危険な実装を確認します。
高信頼度の指摘を優先
公式説明では、深刻度と信頼度で評価した優先順位付きの結果を返します。
指摘が0件でも安全とは限らず、表示された指摘が必ず脆弱性とも限りません。入力経路、権限、実行環境、テスト結果を人間が確認します。
CodeQL・Dependabot・Secret scanningとの違い
| 機能 | 主な対象 | 実行する段階 | 置き換えられない理由 |
|---|---|---|---|
/security-review | 現在作業中のコード変更 | コミット前、任意実行 | 軽量なAI確認で、完全なリポジトリ監査ではない |
| CodeQL / code scanning | コードベースのデータフローや既知の脆弱性パターン | push・PR・定期解析 | リポジトリ全体を対象に深い静的解析を行う |
| Dependabot | 依存関係の既知脆弱性と更新 | リポジトリ上で継続監視 | /security-reviewだけでは依存パッケージを網羅できない |
| Secret scanning | APIキー、token、認証情報 | push前後・履歴・公開範囲 | 専用パターンと保護機能が必要 |
| PRレビュー | 仕様、設計、保守性、影響範囲 | 共有・マージ前 | 脆弱性以外の品質とチーム判断を扱う |
Copilotアプリ版とCLI版の違い
| 比較 | Copilotアプリ | Copilot CLI |
|---|---|---|
| 提供状況 | 2026年7月14日からパブリックプレビュー | 2026年6月10日から実験的プレビュー |
| 実行場所 | デスクトップアプリのチャット | ターミナル |
| 開始方法 | プロジェクトを開いて/security-review | CLIセッションで/security-review |
| 公式の位置づけ | 日常の作業フローに統合した確認 | ローカル変更の専用セキュリティレビュー |
CLIのコマンドリファレンスも「active local code changes」の集中レビューであり、完全なリポジトリ監査ではないと明記しています。
安全な確認フロー
- 差分を自分で読む:
git diffで対象範囲を確認する。 - AIレビューを実行:
/security-reviewで優先指摘を得る。 - 根拠を確認:入力元、危険な処理、実行条件が本当に接続しているか確認する。
- 最小修正:過剰な権限変更や広範囲リファクタリングを避ける。
- テスト:正常系、異常系、権限境界、入力検証を実行する。
- 専用検査:Secrets、依存関係、CodeQLを確認する。
- PRで人間確認:仕様とリスクを説明し、レビュー可能な差分にする。
指摘を受けた時の判断
| 結果 | 次にすること | 避けること |
|---|---|---|
| 高深刻度・高信頼度 | コミットを止め、再現条件と影響範囲を確認 | 理由を読まず自動修正だけ適用する |
| 高深刻度・低信頼度 | 入口から危険処理までの経路を人間が追う | 誤検知と決めつけて閉じる |
| 低深刻度 | 悪用可能性と修正コストを比較して記録 | 数が多いという理由だけで無視する |
| 指摘なし | 通常のテストと専用スキャンを続ける | 安全証明として扱う |
AIに送る前の注意
.env、APIキー、秘密鍵、顧客データ、内部URLを変更差分へ入れたままレビューしないことが基本です。組織ではCopilotの利用ポリシー、保持設定、許可リポジトリを確認します。外部から取得したコードや文書に、AIへの命令を装った文字列が含まれる可能性も考え、AIの提案をそのまま実行しません。
関連する2026年7月のGitHubセキュリティ更新
Agentic autofix
Code scanningアラートをCopilotへ割り当て、関連ファイルを調査し、修正、CodeQL再実行、ドラフトPR作成まで進める別機能です。対象ライセンスとAI Creditsが必要です。
CodeQL 2.26.0
JavaScript/TypeScript向けに、信頼できない入力がAIのsystem promptへ流れる問題を検出するクエリが追加されました。
/security-reviewはコミット前の入口、CodeQLはpush・PR後の深い検査、Agentic autofixは検出済みアラートの修正支援です。役割を混同しないことが大切です。
よくある質問
Freeプランでも使えますか?
はい。GitHub公式はパブリックプレビュー中、Copilot Free、Pro、Business、Enterpriseで利用可能と案内しています。
セキュリティレビューが0件ならコミットして大丈夫ですか?
0件は安全保証ではありません。テスト、Secret scanning、Dependabot、CodeQL、PRレビューを続けます。
CodeQLは不要になりますか?
不要にはなりません。GitHub自身が補完関係と説明しています。CodeQLはリポジトリ上でより深い静的解析を行います。
修正案はそのまま適用してよいですか?
根拠と差分を確認してから適用します。修正が仕様、認証、権限、例外処理を壊す場合があるため、テストと再レビューが必要です。
リポジトリ全体を監査できますか?
完全な監査ではありません。公式CLIリファレンスでも、現在のローカル変更に集中したレビューであると説明されています。
関連ページ
確認した公式情報
- GitHub Changelog:Security reviews now available in the GitHub Copilot app
- GitHub Changelog:Copilot CLI /security-review
- GitHub Docs:Copilot CLI command reference
- GitHub Changelog:CodeQL 2.26.0
- GitHub Changelog:Agentic autofix
パブリックプレビュー中のため、検出範囲、利用条件、画面、課金条件は変更される可能性があります。