変更要約: GH-500 第2章を新規作成(有効化と漏洩防止=リポ/組織での有効化・公開vsプライベートの可用性とライセンス・Push Protection で源流防止・validity check と優先アラート・トークン無効化の必須性、アラート管理=ライフサイクル[作成→オープン→解決/却下]・役割ベース/委譲バイパス・受信者/除外・カスタムシークレットパターン[正規表現])
2.2Secret Protection アラートの管理・ポリシー・カスタムパターン
Secret Protection アラートのライフサイクル(作成・状態・却下)と適切な修復、役割ベース/委譲バイパスのポリシー、アラート受信者と除外の構成、そしてカスタムシークレットパターンの作成と管理を理解します。
検出された秘密は アラート として管理します。GH-500 では、アラートの ライフサイクル(作成→トリアージ→対応→状態更新)と、それを支える ポリシー・通知・カスタマイズ が問われます。中心は「検出して終わり」ではなく 適切に修復し、組織で統制する ことです。
2.2.1アラートのライフサイクルと修復
シークレットアラートは 作成(検出) され、オープン 状態になります。担当者はトリアージし、対応後に状態を更新します——正しく対処すれば 解決、誤検知や許容済みなら理由を付けて 却下(dismiss)(「誤検知」「テストで使用」「リスク受容」などの理由)します。最重要の修復は 漏洩したトークンの無効化(ローテーション) です。ファイルから消すだけでは履歴に残るため、まず 無効化 してから、必要に応じて履歴の対応を検討します。安易な dismiss は危険なので、理由の記録と方針が要ります。
2.2.2ポリシー・受信者・除外
組織は、誰がアラートを閲覧/対応/バイパスできるかを 役割ベース で制御します(委譲バイパス の承認者設定を含む)。アラート受信者 を設定して、新規検出時に適切なチームへ通知します。誤検知や対象外のパス(例:テストデータやドキュメント)は 除外 を設定してノイズを減らします。これらの構成は、検出の精度と運用負荷のバランスを取り、本当に重要なアラートに集中するためのものです。
2.2.3カスタムシークレットパターン
GitHub は多数の 既定パターン(主要プロバイダーのトークン形式)を検出しますが、組織独自のトークンや社内システムの鍵は既定では拾えません。そこで カスタムシークレットパターン を 正規表現 で定義して、組織固有の秘密も検出対象にします。作成時はテストでマッチを確認し、誤検知が多くならないようパターンを調整します。これにより、自社のセキュリティ要件に合わせて検出範囲を広げられます。
頻出:
①アラートは作成→オープン→解決/却下のライフサイクル。最重要の修復=漏洩トークンの無効化(ローテーション)(ファイル削除では履歴に残る)。
②役割ベース/委譲バイパスで閲覧・対応・承認を制御、受信者設定で通知、除外でノイズ低減。
③組織固有の秘密はカスタムパターン(正規表現)で検出、誤検知を抑えるよう調整。
④dismiss は理由記録+方針。
混同・注意:
①アラートを dismiss しても漏洩トークンは無効化されない——必ずローテーションする。
②除外はノイズ低減に有用だが、広げすぎると本物の秘密を見逃す。
③カスタムパターンの正規表現が緩すぎると誤検知が増える——テストで調整。
④委譲バイパスの承認権限を広く配りすぎると予防の意味が薄れる。
2.2.4この節のまとめ
- アラートは作成→オープン→解決/却下。最重要修復は漏洩トークンの無効化(ローテーション)
- 役割ベース/委譲バイパスで制御、受信者で通知、除外でノイズ低減
- 組織固有の秘密はカスタムパターン(正規表現)で検出、誤検知を抑えるよう調整
- dismiss しても無効化はされない=必ずローテーション、理由は記録
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 漏洩した API トークンの秘密アラートに対する、最も重要な修復アクションはどれですか?
Q2. 組織独自のトークン形式(社内システムの鍵など)も Secret Protection で検出したいです。どうしますか?
Q3. シークレットアラートのライフサイクルとして正しい流れはどれですか?
Q4. 誤検知やテストデータのパスでアラートが多発し、本当に重要なものが埋もれています。適切な対応は?
Q5. 新規に検出された秘密アラートを、適切なセキュリティチームへ確実に通知したいです。何を設定しますか?
Q6. シークレットアラートを dismiss することについて正しい理解はどれですか?

