AIコーディングエージェントが書いたコードに、うっかりAPIキーやトークンが混入する。そのままコミットする前に、エージェント自身が秘密情報を検出して警告する仕組みが本番利用可能になった。

GitHubは2026年5月5日、GitHub MCP Serverのsecret scanning機能を一般提供(GA)開始した。2026年3月のパブリックプレビューから約2ヶ月でGAに到達し、GitHub Secret Protectionが有効なリポジトリであれば追加料金なく利用できる。

この記事でわかること:

  • GitHub MCP Serverのsecret scanningとは何か
  • プレビューからGAで何が変わったか
  • Copilot CLI・VS Code・Claude Codeでの具体的な設定方法
  • スキャンを実行するプロンプト例と結果の見方
  • 注意すべき制限事項

https://github.blog/changelog/2026-05-05-secret-scanning-with-github-mcp-server-is-now-generally-available/

コミット前に秘密情報を検出する仕組み

GitHubのsecret scanningは元々、コードがリポジトリにpushされた後に機密情報を検出する仕組みだ。APIキー、OAuthトークン、クレデンシャルが検出されるとアラートが上がるが、すでにGit履歴に記録された後になる。

GitHub MCP Serverのsecret scanningはこの問題を上流で解決する。MCP対応のIDEやエージェントからスキャンを実行すると、コードがGitHubのsecret scanning engineに送信され、問題のある箇所と修正方法が返ってくる。commitやpull requestを作る前の段階で秘密情報を検知できるため、Git履歴への混入を根本から防げる。

プレビュー(3月)からGAで追加されたこと

3月のパブリックプレビュー段階では、基本的なスキャン機能のみが提供されていた。5月5日のGAではpush protection customizationの適用が新たに加わった。これにより、リポジトリや組織レベルで設定済みのpush protection設定がMCPツールでも尊重されるようになった。

検出パターンとバイパスの挙動が既存のGitHub設定と一致するため、MCPのために別途設定を作り直す必要はない。

対応環境

Secret ScanningはGitHubのリモートMCPサーバー経由でのみ利用可能で、ローカルMCPサーバー構成は対応していない。以下のMCP対応クライアントで動作する。

  • GitHub Copilot CLI(ビルトイン)
  • Visual Studio Code(Copilot Chat)
  • JetBrains IDE
  • Claude Code
  • Cursor
  • Windsurf

セットアップ手順

利用するには secret_protection toolsetの有効化が必要だ。デフォルトのtoolsetには含まれていないため、明示的に設定を追加する。

GitHub Copilot CLIの場合:

copilot mcp --toolsets=secret_protection --tools=run_secret_scanning

VS CodeやJetBrainsなど、JSON設定を使う場合:

MCPサーバーの設定ファイルに以下を追記する。

{
  "servers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Toolsets": "secret_protection",
        "X-MCP-Tools": "run_secret_scanning"
      }
    }
  }
}

より使いやすいSlashコマンド(/secret-scanning)を追加したい場合は、GitHub Advanced Securityプラグインを別途インストールする。GitHub Copilot CLIでは /plugin install advanced-security@copilot-plugins、VS Codeではマーケットプレイスからインストールする。

スキャンの実行方法

セットアップ後は、エージェントへの自然言語プロンプトでスキャンを実行できる。

Scan my current changes for exposed secrets and show me the files and lines I should update before I commit.

結果には秘密情報の種類・ファイルとライン番号・修正方法(環境変数への切り替えなど)が含まれる。push protectionが有効な場合、エージェントがcommitやpull request、ファイル生成などのアクションを実行する際にも秘密情報のブロックが働く。

Advanced Securityプラグインを導入していれば、Slashコマンドでより簡潔に呼び出せる。

/secret-scanning Review the staged diff for credentials, keys, or tokens and propose replacements using environment variables.

注意点

スキャン結果はセッション内のみで有効なエフェメラルなデータとして扱われる。GitHubのSecurity tabにはアラートとして表示されず、REST/GraphQL APIでも参照できない。記録として残すシステムではなく、コミット前のセーフティチェックとして使うものだ。発見した内容はpushする前に修正する必要がある。

利用条件として、GitHub Secret Protectionがリポジトリで有効になっていることが前提だ。公開リポジトリは追加設定なく対象になるが、プライベートおよびインターナルリポジトリにはSecret Protectionの有効化が必要になる。

まとめ

GitHub MCP Serverのsecret scanningがGAになったことで、AIコーディングエージェントを使う開発ワークフローにセキュリティチェックを組み込みやすくなった。Copilot CLI・VS Code・Claude CodeなどMCP対応の環境で利用でき、既存のpush protection設定がそのまま引き継がれる。スキャン結果はコミット前の確認に限定されるため、別途セキュリティアラートの仕組みと組み合わせて使うのが現実的な運用になる。