Skip to main content

Enterprise Server 3.21 は、現在リリース候補として使用できます。

シークレット スキャンについて

公開された資格情報を悪用する前に自動的に検出することで、シークレットの不正使用を防止します。

API キーやパスワードなどの資格情報がハードコーディングされたシークレットとしてリポジトリにコミットされると、承認されていないアクセスのターゲットになります。 Secret scanning は資格情報リークを自動的に検出するため、悪用される前にセキュリティで保護できます。

ヒント

漏洩したシークレットについては、いつでも組織のコードの無料評価を実行できます。

レポートを生成するには、 組織の [ Security] タブで、[評価] ページを表示し、[組織のスキャン] をクリックします。を開きます。

シークレット スキャンによってコードが保護されるしくみ

Secret scanning は、リポジトリのすべてのブランチで Git 履歴全体をスキャンして、API キー、パスワード、トークン、その他の既知のシークレットの種類など、ハードコーディングされた資格情報を探します。 これにより、セキュリティ リスクになる前に、シークレットのスプロール(リポジトリ間での資格情報の制御不能な急増)を特定するのに役立ちます。 GitHub また、新しいシークレットの種類が追加されると、リポジトリも定期的に再スキャンされます。

GitHub また、次の項目も自動的にスキャンされます。

  • 問題の説明とコメント
  • オープンとクローズの過去の問題のタイトル、説明、およびコメント
  • pull request のタイトル、説明とコメント
  • のタイトル、説明、およびコメント GitHub Discussions
  • ウィキ
  • 秘密の要旨

Secret scanning アラートと修復

secret scanningが資格情報の漏洩を検出すると、GitHubは公開された資格情報に関する詳細を含むアラートをリポジトリの** Security** タブに生成します。

アラートを受信したら、影響を受ける資格情報をすぐにローテーションして、承認されていないアクセスを防ぎます。 Git 履歴からシークレットを削除することもできますが、これは時間がかかり、資格情報を既に取り消している場合は多くの場合不要です。

カスタマイズ

パートナーシークレットとプロバイダー シークレットの既定の検出以外にも、ニーズに合わせて secret scanning を拡張およびカスタマイズできます。

  • プロバイダー以外のパターン。 秘密キー、接続文字列、汎用 API キーなど、特定のサービス プロバイダーに関連付けられていないシークレットに検出を拡張します。
  • カスタム パターン。 既定のパターンでカバーされていない組織固有のシークレットを検出する独自の正規表現を定義します。
  • 有効性チェック。 検出されたシークレットがまだアクティブであるかどうかを確認して、修復に優先順位を付けます。

有効性チェックについて

有効性チェックは、検出されたシークレットがまだアクティブであるかどうかを確認することで、最初に修復するシークレットに優先順位を付けるのに役立ちます。 有効性チェックを有効にすると、 secret scanning はシークレットの発行元サービスに連絡して、資格情報が取り消されたかどうかを判断できます。

有効性チェックは、 secret scanningのパートナー プログラムとは別です。 パートナー シークレットは失効のためにサービス プロバイダーに自動的に報告されますが、有効性チェックでは、独自のアラートで管理するシークレットの状態が確認されます。 詳しくは、「有効性チェックについて」をご覧ください。

この機能にアクセスするにはどうすればよいですか?

Secret scanning は、次のリポジトリの種類で使用できます。

  • パブリック リポジトリ: Secret scanning は無料で自動的に実行されます。
  • 組織所有のプライベートリポジトリと内部リポジトリ: GitHub Secret Protection または GitHub Team で有効になっている GitHub Enterprise Cloud で使用できます。
  • ユーザー所有のリポジトリ: GitHub Enterprise Cloud および Enterprise Managed Users で利用可能です。 GitHub Enterprise Server で使用できるのは、エンタープライズで GitHub Secret Protection が有効になっている場合です。

次のステップ

詳細については、次を参照してください。