GitHubは、Microsoft Applied Sciencesと共同開発したAI検知機能を発表しました。開発者がパスワードなどの認証情報をコードリポジトリにアップロードしてしまうのを防ぐことが狙いです。
ModernBERTベースの分類器により、GitHubのプッシュ保護が拡張されます。プッシュ保護はコード内のシークレットを検査し、認証情報がリポジトリの履歴に入る前にプッシュをブロックできる機能です。
検知機能の仕組み
従来のチェックは、形式から多くの認証情報を識別しています。新しい分類器は周辺のコードを分析し、決まったパターンを持たないデータベースのパスワードなど、構造化されていないシークレットを見つけ出します。
GitHubによると、この分類器は複数のシークレット候補をまとめて2ミリ秒未満で評価でき、プッシュ保護が防止できるシークレットの数を2倍以上に増やす可能性があります。
「プッシュ保護はより早い段階で介入します。認識可能な認証情報がリポジトリの履歴に入る前に止めるため、開発者やエージェントは、情報漏えいを調査する事態になる前に変更を修正できます」と、GitHubのプロダクトマネージャーであるErin Havens氏は述べています。ただし、Erin Havens氏の発言は同社ブログからの引用です。
誤検知は開発者の作業を妨げ、今後の警告に対する信頼も損ないかねません。GitHubはシークレットの検知にあたり、精度、速度、処理能力、運用コストのバランスを取る必要があります。
コードの増加に伴い、露出する認証情報も増加
GitHubによると、公開されているコードには約2秒ごとに新たなシークレットが現れています。2024年第2四半期から2026年第2四半期にかけて、同社が検査した公開コードのプッシュ数は2.84倍に増加しました。認証情報を含むプッシュは2.59倍に増えています。

公開プッシュ数(2024年第2四半期〜2026年第2四半期)。プッシュ有病率は、シークレットが検出されたプッシュの割合を示します。GitHub自身のトークンを含む、対応済みプロバイダーのパターンが対象です。(出典:GitHub)
この9四半期の間、シークレットを含むプッシュの割合に、統計的に検出可能な傾向は見られなかったといいます。
GitHubが検知するシークレットの種類をより広く見ると、プッシュ保護は新たに検出されたシークレットの約30%を、リポジトリの履歴に入る前にブロックしています。残る70%は、露出した後に検出されています。
認証情報が露出すると、データベースやクラウドサービス、その他の接続先システムにアクセスされるおそれがあります。開発者は、その認証情報を無効化して新しいものに差し替え、悪用されていないかを調べなければならない場合があります。
手動での失効には平均で約40日かかり、露出したシークレットの約5件に1件は90日を超えています。GitHubが露出を通知すると、認証情報を自動的に失効させるサービスプロバイダーもあります。
提供開始時期と展開
拡張されたプッシュ保護は、現在プライベートプレビューの段階です。GitHubは、10月後半に、Enterprise CloudおよびGitHub TeamプランでGitHub Secret Protectionを利用する組織向けに提供する予定です。この機能ではAIクレジットを消費します。
同社は、すでにAIによるシークレット検知を利用している組織について、新モデルへの自動更新を開始しました。プッシュ後に実行されるスキャンのアラートは、これまでどおりシークレットスキャンの購入に含まれ、追加費用はかかりません。
このモデルは、GitHub Enterprise Server 3.23でパブリックプレビューとして提供されます。エアギャップ環境で運用している顧客を含め、Secret Protectionの顧客にAIが検知したアラートを提供します。
GitHubはこの分類器を、Copilot CLIとCopilot Appの/security-reviewコマンドにも追加します。これにより、Copilotのユーザーは、組織がGitHub Secret Protectionプランを契約していなくても、コードのプッシュ前にシークレットを確認できます。AIクレジットの使用量は、AI使用状況インサイトでGitHub Secret Protectionに計上されます。
翻訳元: https://www.helpnetsecurity.com/2026/10/08/github-push-protection-modernbert/