Instiq
第2章 · Secret Protection(シークレット保護)·v1.0.0·更新 2026/7/17·読了目安 約15分

変更要約: GH-500 第2章を新規作成(有効化と漏洩防止=リポ/組織での有効化・公開vsプライベートの可用性とライセンス・Push Protection で源流防止・validity check と優先アラート・トークン無効化の必須性、アラート管理=ライフサイクル[作成→オープン→解決/却下]・役割ベース/委譲バイパス・受信者/除外・カスタムシークレットパターン[正規表現])

2.1Secret Protection の有効化と漏洩防止

この節の要点

Secret Protection をリポジトリ/組織レベルで有効化し設定する方法、公開とプライベート/Enterprise での挙動の違い、Push Protection による源流での漏洩防止、そして検証(validity check)と高信頼シークレットの優先アラートを理解します。

Secret Protection(secret scanning/Push Protection を束ねた製品)は、リポジトリに コミットされた秘密(APIキー・トークン・接続文字列など)を検出し、さらに コミットされる前に防ぐ 機能です。秘密が一度履歴に入ると完全な除去は難しく、漏洩は重大インシデントになり得ます。だからこそ「検出(後追い)」だけでなく「源流で防ぐ」ことが重視されます。

2.1.1有効化と可用性

Secret Protection は リポジトリ単位 でも 組織単位 でも有効化でき、組織レベルで一括適用や既定構成を設定できます。公開リポジトリ では secret scanning が 無料 で動作し、検出されたパートナー(GitHub と連携する発行元)の秘密は 自動で発行元へ通知されることがあります。プライベート/Enterprise で全機能(Push Protection・カスタムパターン等)を使うには Secret Protection のライセンス(2025年に GHAS から分離した製品)が必要です。設定では、対象範囲・通知先・除外などを構成します。

2.1.2Push Protection — 源流で防ぐ

Push Protection は、開発者が秘密を含むコミットを push しようとした瞬間にブロック する予防機能です(第1章の予防優先戦略の中核)。検出されると push が止まり、開発者は秘密を取り除くか、正当な理由がある場合は バイパス(理由の記録や承認が必要) します。これにより、そもそも秘密が履歴に入るのを防ぎ、検出後の面倒な 履歴の書き換えや無効化 を避けられます。組織は 委譲バイパス で「誰がバイパスを承認できるか」を制御します。

2.1.3検証(validity check)と優先アラート

検出された秘密がすべて同じ緊急度とは限りません。検証(validity check) は、検出されたトークンが 今も有効か(生きているか) を発行元 API などで確認し、高信頼(active)な秘密 を優先してアラートします。これにより、対応すべき「本当に危険な漏洩」に集中できます。失効済みやテスト用のダミーに振り回されず、優先順位付け を効かせるのが狙いです。

試験ポイント

頻出:
①Secret Protection はリポ/組織で有効化、公開は無料・プライベート/Enterprise はライセンス
Push Protection は秘密の push を源流でブロック(予防優先)=履歴混入を防ぐ。バイパスは理由記録/承認+委譲バイパスで承認者を制御。
validity check で有効な高信頼シークレットを優先アラート=優先順位付け。
④検出後の対処は履歴書き換えより予防が安価

注意

混同・注意:
①検出(コミット後に見つける)と Push Protection(push 前に防ぐ)は別——理想は防ぐこと。
②秘密が一度コミットされたら、ファイルを消すだけでは履歴に残る——該当トークンの無効化(ローテーション)が必須
③Push Protection のバイパスは無条件ではなく承認/記録が要る。
④validity check は「有効性」の確認で、検出自体を置き換えない。

push試行→Push Protection→validity check→トークン無効化の流れの図。
防ぐ+漏れたら無効化

2.1.4この節のまとめ

  • Secret Protection はリポ/組織で有効化、公開は無料・プライベート/Enterprise はライセンス
  • Push Protection は秘密の push を源流でブロック(予防優先)、バイパスは承認/記録+委譲バイパスで統制
  • validity check で有効な高信頼シークレットを優先アラート=優先順位付け
  • コミット済みの秘密はファイル削除では消えない=トークンの無効化(ローテーション)が必須

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 開発者が秘密を含むコミットを push しようとした瞬間にブロックし、履歴への混入を源流で防ぐ機能はどれですか?

Q2. 検出された多数の秘密アラートのうち、今も有効(active)で本当に危険なものを優先したいです。役立つ仕組みは?

Q3. 秘密が誤ってコミットされ履歴に入ってしまいました。最も重要な対応はどれですか?

Q4. プライベートリポジトリで Push Protection やカスタムパターンを使うために一般に必要なものは?

Q5. 組織で Push Protection のブロックを、正当な場合にのみ承認制で回避できるようにしたいです。何を構成しますか?

Q6. 検出(後追い)と Push Protection(事前防止)の関係として正しいものはどれですか?

理解度を確認第2章「Secret Protection(シークレット保護)」の問題を解く