本文へスキップ
MameTechNews
バックエンド

GitHub、秘密情報が残るプルリクエストのマージをルールで拒否可能に

## POINTS

  • Secret ProtectionかAdvanced Securityが前提。未契約リポジトリでは使えない
  • 既定はプロバイダパターンのみ。汎用・カスタムを止めるならruleset側で明示する
  • push protectionと役割が違う。エージェントPRが増えるほど誤検知とバイパス設計が必要

GitHubは2026年9月9日、リポジトリルールセットに「Require secret scanning alerts are resolved on pull requests」を追加した。パブリックプレビューで、GitHub Secret ProtectionまたはGitHub Advanced Securityの利用者が対象。有効化すると、バイパス権限のない開発者は、そのPRが持ち込んだsecret scanningアラートを解消するまでマージできない。

判定は2条件。ヘッドコミットのシークレットスキャンが完了していることと、そのPRのコミットが導入したシークレットに未解決アラートがないこと。既定ではオープンなPRを対象に、プロバイダパターンのシークレットだけを止める。カスタムパターンや汎用パターンも、設定で追加できる。

push protectionはプッシュ時点でリポジトリ到達を防ぐ。新ルールはマージ時点の追加層で、汎用パターンはpush protectionを切ったまま、PRでは止める、といった使い分けができる。RESTではrequire_secret_scanning_alert_resolution、GraphQLではREQUIRE_SECRET_SCANNING_ALERT_RESOLUTION。エージェントが大量の差分を出す運用では、誤検知とバイパス権限の設計を先に決めておかないと、マージ待ちがボトルネックになる。