Skip to main content

シークレット スキャンからのアラートの解決

シークレット スキャン アラートの詳細を確認したら、修正してからアラートを閉じる必要があります。

この機能を使用できるユーザーについて

リポジトリの所有者、組織の所有者、セキュリティ マネージャー、および 管理者 ロールを持つユーザー

アラートの修正

シークレットがリポジトリにコミットされたら、シークレットが侵害されたと考える必要があります。 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 として確認されています。
  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [セキュリティ] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左側のサイドバーの [Vulnerability alerts] (脆弱性アラート) で、 [Secret scanning] をクリックします。

  4. アラートの一覧から、表示したいアラートをクリックします。

  5. 漏洩したシークレットのアラート ビューで、[漏洩の報告] をクリックします。

    Note

    ワークフローが中断しないように、シークレットを公開するとそのシークレットが取り消される可能性があるため、続行する前に、まずローテーションすることを検討してください。 可能であれば、トークン所有者に連絡して、漏洩について通知し、修復計画を調整する必要もあります。

  6. ダイアログ ボックスの情報を確認し、[結果を理解し、このシークレットを報告する] をクリックします。

アラートの終了

Note

Secret scanning は、対応するトークンがリポジトリから削除された場合、アラートを自動的に閉じることはありません。 これらのアラートは、GitHub のアラート リストから手動で閉じる必要があります。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [セキュリティ] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左側のサイドバーの [Vulnerability alerts] (脆弱性アラート) で、 [Secret scanning] をクリックします。

  4. [Secret scanning]で、表示するアラートをクリックします。

  5. アラートを無視するには、[次の状態として閉じる] ドロップダウン メニューを選び、アラートを解決する理由をクリックします。

    secret scanning アラートのスクリーンショット。 [閉じる] というタイトルのドロップダウン メニューが展開され、濃いオレンジ色の枠線で強調表示されています。

  6. 必要に応じて、[コメント] フィールドに無視のコメントを追加します。 無視のコメントはアラート タイムラインに追加され、監査と報告の間に正当な理由として使用できます。 アラート タイムラインで、すべての無視されたアラートと無視コメントの履歴を確認できます。 また、Secret scanning API を使って、コメントを取得または設定することもできます。 コメントは resolution_comment フィールドに含まれています。 詳しくは、REST API ドキュメントの「シークレット スキャン用の REST API エンドポイント」をご覧ください。

  7. [アラートをクローズする] をクリックします。

次のステップ