API キーやパスワードなどの資格情報がリポジトリにコミットされると、承認されていないアクセスのターゲットになります。 Secret scanning は、これらの公開されたシークレットを自動的に検出するため、悪用される前にセキュリティで保護できます。
シークレット スキャンによってコードが保護されるしくみ
Secret scanning は、リポジトリのすべてのブランチにおいて、API キー、パスワード、トークン、その他の既知のシークレットタイプを含むGit履歴全体をスキャンします。 GitHub は、新しいシークレットの種類が追加されたときに、リポジトリを定期的に再スキャンします。
GitHub も自動的にスキャンします。
- 問題の説明とコメント
- オープンとクローズの過去の問題のタイトル、説明、およびコメント
- pull request のタイトル、説明とコメント
- GitHub Discussionsのタイトル、説明、そしてコメントが含まれています
- 秘密の要旨
データの再利用可能な機密スキャン.ベータ版-プルリクエスト-ディスカッション-ウィキがスキャンされました %}
Secret scanning アラートと修復
secret scanning が潜在的なシークレットを見つけると、GitHub によって、公開された資格情報に関する詳細が含まれるアラートがリポジトリの [セキュリティ ] タブに生成されます。
アラートを確認し、影響を受ける資格情報をすぐにローテーションして、使用できなくなったことを確認します。 Git 履歴からシークレットを削除することもできますが、これは時間がかかり、資格情報を既に取り消している場合は多くの場合不要です。
カスタマイズ
パートナーシークレットとプロバイダー シークレットの既定の検出以外にも、ニーズに合わせて secret scanning を拡張およびカスタマイズできます。
-
**プロバイダー以外のパターン。** 秘密キー、接続文字列、汎用 API キーなど、特定のサービス プロバイダーに関連付けられていないシークレットに検出を拡張します。 -
**カスタム パターン。** 既定のパターンでカバーされていない組織固有のシークレットを検出する独自の正規表現を定義します。 -
**有効性チェック。** 検出されたシークレットがまだアクティブであるかどうかを確認して、修復に優先順位を付けます。
この機能にアクセスするにはどうすればよいですか?
Secret scanning は、次のリポジトリの種類で使用できます。
-
**パブリック リポジトリ**: Secret scanning は無料で自動的に実行されます。 -
**組織所有のプライベートリポジトリと内部リポジトリ**: [GitHub Team または GitHub Enterprise Cloud](/get-started/learning-about-github/about-github-advanced-security) で有効になっている GitHub Advanced Security で使用できます。 -
**ユーザー所有のリポジトリ**: GitHub Enterprise Cloud および Enterprise Managed Users で利用可能です。 GitHub Enterprise Server で使用できるのは、エンタープライズで [GitHub Advanced Security](/get-started/learning-about-github/about-github-advanced-security) が有効になっている場合です。
次のステップ
-
**アラートを受け取った場合は**、 [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning) を参照して、公開されているシークレットを確認、解決、修復する方法を確認してください。
詳細については、次を参照してください。
- サポートされているシークレットとサービス プロバイダーの完全な一覧については、 サポートされているシークレット スキャン パターン を参照してください。