GitHubは9月9日(現地時間)、リポジトリルールセットを用いて、プルリクエストがシークレットスキャンのアラートを発生させた場合にマージをブロックできる新ルールを公開プレビューとして提供開始した。GitHub Secret ProtectionまたはGitHub Advanced Securityの利用者が対象となる。
新しいルール「Require secret scanning alerts are resolved」を選択したリポジトリで有効化すると、バイパス権限を持たない開発者は、各アラートを解決しないとマージできない。ルールはマージ前に、HEADコミットに対するシークレットスキャンが完了していること、プルリクエストのコミットで導入されたシークレットに関するアラートが未解決でないことの2点を確認する。
デフォルトではオープンなプルリクエストに対して実行され、プロバイダーパターンで検出されたシークレットをブロックする。設定によりカスタムパターンや汎用パターンなど他のカテゴリーも対象にできる。
プッシュ保護がプッシュ時点でシークレットを止めるのに対し、本ルールはプルリクエストの層で追加の防御を提供し、プッシュ保護で検出できない、あるいは検出対象に設定していないケースを捕捉する。たとえば汎用パターンのシークレットではプッシュ保護を無効にしたまま、ルールセットでプルリクエストをブロックするといった運用が可能だ。
設定は、リポジトリ、Organization、Enterpriseの設定にある「Repository」>「Rulesets」タブから、対象ブランチを指定したルールセットを作成・編集して行う。REST APIではrequire_secret_scanning_alert_resolutionルールタイプとsecret_typesパラメーター、GraphQLではREQUIRE_SECRET_SCANNING_ALERT_RESOLUTIONで設定できる。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
