GitHub、秘密情報を含むPRのマージを阻止する新ルールを公開
GitHubは9月9日、秘密情報の検出警告が未解決のプルリクエストをマージできなくするルールを公開プレビューで提供しました。対象はGitHub Secret ProtectionまたはGitHub Advanced Securityの利用者です。コードを送る段階の保護に加え、本流へ取り込む直前にも確認を置き、認証情報の混入を防ぐ狙いがあります。
スキャン完了と警告解決をマージ条件に
リポジトリのルールセットで新しい条件を有効にすると、変更の先頭コミットのスキャンが完了していることと、その変更で持ち込まれた秘密情報の警告が未解決でないことを確認します。条件を満たさなければマージを止める仕組みで、例外権限のない開発者は警告を解決する必要があります。
送信前の保護にもう一段の確認
既存のプッシュ保護は、コードがリポジトリに届く前に秘密情報を止めます。今回のルールはその代替ではなく、プルリクエストの段階に追加する防御です。初期設定では対応サービスの検出パターンを対象とし、独自パターンなど別の種類もブロック対象として設定できます。
例外権限と漏えい後の対応も整理
実務では、担当者の目視だけに頼らず、マージ条件としてチェックを残せる点が重要です。導入時には保護するブランチと検出対象、例外を使える人を整理し、誤検知の確認手順も決めたいところです。小さな範囲から試すことで、作業を不必要に止めずに保護を強める運用を探れます。 公開プレビューのため、利用条件や動作は今後変わる可能性があります。また、このルールは取り込みを止めるもので、すでに外へ漏れた認証情報を無効にする機能ではありません。実際の秘密情報が見つかった場合は、警告を閉じるだけでなく、失効や再発行を含む対応が必要です。