アラートの修正
シークレットがリポジトリにコミットされたら、シークレットが侵害されたと考える必要があります。 GitHub は、侵害されたシークレットに対して次のアクションを行うことをおすすめします:
- GitHub にコミットされたシークレットが有効であることを確認します。 「オンデマンドの有効性チェックの実行」を参照してください。
- プライベート リポジトリで検出されたシークレットについては、漏洩したシークレットを GitHub に報告します。報告されたシークレットは、パブリックに漏洩したシークレットと同様に扱われ、取り消されます。 GitHub personal access token のみに適用されます。 「漏洩したシークレットの報告」を参照してください。
- 古いトークンを使用するすべてのサービスを確認して更新します。 GitHub personal access token の場合は、侵害されたトークンを削除し、新しいトークンを作成します。 「個人用アクセス トークンを管理する」を参照してください。
- シークレット プロバイダーに応じて、承認されていないアクティビティがないかセキュリティ ログを確認します。
漏洩したシークレットの報告
Note
プライベートに公開されたシークレットの GitHub への報告はパブリック プレビュー に含まれていますが、変更される可能性があります。 この機能は現在、GitHub personal access token (v1 および v2) でのみ使用できます。
シークレットが GitHub の パブリック リポジトリで検出され、シークレットがサポートされているパートナー パターンにも一致する場合は、潜在的なシークレットがサービス プロバイダーに 自動的に報告されます。 すべてのサポートされているパートナー パターンの詳細については、「サポートされているシークレット スキャン パターン」を参照してください。
プライベート リポジトリで検出されたシークレットの場合、リポジトリの シークレット スキャンニング アラート を表示できるすべてのユーザーは、プライベートに公開されたシークレットを GitHub に直接報告することを選択できます。
シークレットを報告することにより、トークン プロバイダーは、プライベートに公開されたシークレットを、パブリックに漏洩したかのように扱います。 つまり、このトークン プロバイダーはシークレットを取り消す可能性があるため、まず、シークレットを使用するサービスの確認と更新を検討する必要があります。 可能であれば、シークレットが取り消される可能性があることをトークン所有者が認識できるように、トークンの報告を行う前にトークン所有者に通知することも検討する必要があります。
次の条件が満たされている場合にのみ、プライベートに公開されたシークレットを GitHub に報告するオプションが表示されます:
- シークレットは GitHub personal access token です。
- シークレットの有効性が確認されていないか、シークレットの有効性が
active
として確認されています。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
-
左側のサイドバーの [Vulnerability alerts] (脆弱性アラート) で、 [Secret scanning] をクリックします。
-
アラートの一覧から、表示したいアラートをクリックします。
-
漏洩したシークレットのアラート ビューで、[漏洩の報告] をクリックします。
Note
ワークフローが中断しないように、シークレットを公開するとそのシークレットが取り消される可能性があるため、続行する前に、まずローテーションすることを検討してください。 可能であれば、トークン所有者に連絡して、漏洩について通知し、修復計画を調整する必要もあります。
-
ダイアログ ボックスの情報を確認し、[結果を理解し、このシークレットを報告する] をクリックします。
アラートの終了
Note
Secret scanning は、対応するトークンがリポジトリから削除された場合、アラートを自動的に閉じることはありません。 これらのアラートは、GitHub のアラート リストから手動で閉じる必要があります。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
-
左側のサイドバーの [Vulnerability alerts] (脆弱性アラート) で、 [Secret scanning] をクリックします。
-
[Secret scanning]で、表示するアラートをクリックします。
-
アラートを無視するには、[次の状態として閉じる] ドロップダウン メニューを選び、アラートを解決する理由をクリックします。
-
必要に応じて、[コメント] フィールドに無視のコメントを追加します。 無視のコメントはアラート タイムラインに追加され、監査と報告の間に正当な理由として使用できます。 アラート タイムラインで、すべての無視されたアラートと無視コメントの履歴を確認できます。 また、Secret scanning API を使って、コメントを取得または設定することもできます。 コメントは
resolution_comment
フィールドに含まれています。 詳しくは、REST API ドキュメントの「シークレット スキャン用の REST API エンドポイント」を参照してください。 -
[アラートをクローズする] をクリックします。