Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となりました: 2026-04-09. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise サーバーにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

シークレット スキャンのカスタム パターンの定義

正規表現を使用してカスタム パターンを定義することで、一意のシークレットの種類を保護します。

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

リポジトリの所有者、organization の所有者、セキュリティ管理者、エンタープライズ管理者、および管理者ロールを持つユーザー

GitHub Team または GitHub Enterprise 上の組織所有リポジトリ (GitHub Advanced Security が有効)

リポジトリのカスタムパターンの定義

カスタム パターンを定義する前に、secret scanning がリポジトリで有効になっていることを確認する必要があります。 詳しくは、「リポジトリのシークレット スキャンの有効化」をご覧ください。

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

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

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

  3. サイドバーの [Security] セクションで、[ Code security and analysis] をクリックします。

  4. [Code security and analysis] で、[GitHub Advanced Security] を見つけます。 1. [Secret scanning] の [カスタム パターン] で、 [新しいパターン] をクリックします。 1. 新しいカスタム パターンの詳細を入力します。 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。

    1. [Pattern name] (パターン名) フィールドにパターンの名前を入力します。
    2. [シークレット形式] フィールドに、シークレット パターンの形式の正規表現を入力します。
    3.     **「その他のオプション<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-chevron-down" aria-label="chevron-down" role="img"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg>」** をクリックして、秘密の形式に関するその他の周辺コンテンツや追加の一致要件を指定できます。 「[AUTOTITLE](/code-security/reference/secret-security/custom-patterns#syntax-for-manually-defining-custom-patterns)」を参照してください。
      
    4. サンプルのテスト文字列を指定し、設定内容が期待するパターンにマッチすることを確認できます。

    記入したカスタム secret scanning パターン形式のスクリーンショット。

  5. 新しいカスタム パターンをテストする準備ができたら、アラートを作成せずにリポジトリで一致するものを特定するために、 [保存してドライ ラン] をクリックします。

  6. ドライ ランが完了すると、結果のサンプル (最大 1000 個) が表示されます。 結果をレビューし、誤検知の結果を特定します。

    ドライ ランの結果を示すスクリーンショット。

  7. 新しいカスタム パターンを編集して結果に関するすべての問題を修正してから、 [保存してドライ ラン] をクリックして変更をテストします。

  8. 新しいカスタム パターンに問題がなければ、 [パターンの発行] をクリックします。

  9. 任意で、カスタム パターンのプッシュ保護を有効にするには、 [有効にする] をクリックします。 詳しくは、「プッシュ保護について」をご覧ください。

    メモ

    ドライ ランが成功し、パターンを公開するまで、[Enable] ボタンは使用できません。

パターンを作成したら、secret scanningはGitHubリポジトリ中に存在するすべてのブランチのGit履歴全体に対して、あらゆるシークレットをスキャンします。 シークレット スキャンニング アラート の表示に関する詳細については、「シークレット スキャン アラートの管理」を参照してください。

組織のカスタムパターンの定義

カスタム パターンを定義する前に、Organization 内でスキャンするリポジトリに対して secret scanning を有効にしていることを確かめる必要があります。 Organization 内のすべてのリポジトリで secret scanning を有効にするには、「組織のセキュリティおよび分析設定を管理する」を参照してください。

  1. GitHub の右上隅にあるプロフィール画像をクリックしてから、[ Your organizations] をクリックします。1. 組織をクリックして選択します。

  2. Organization 名の下で、[ Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    組織のプロファイルのタブのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で囲まれています。

  3. サイドバーの [Security] セクションで、[ Code security and analysis] をクリックします。

  1. [Code security and analysis] で、[GitHub Advanced Security] を見つけます。

  2. [Secret scanning] (シークレット スキャン) の下の [Custom patterns] (カスタム パターン) で、[新しいパターン] をクリックします。

  3. 新しいカスタム パターンの詳細を入力します。 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。

    1. [Pattern name] (パターン名) フィールドにパターンの名前を入力します。
    2. [シークレット形式] フィールドに、シークレット パターンの形式の正規表現を入力します。
    3.     **「その他のオプション<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-chevron-down" aria-label="chevron-down" role="img"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg>」** をクリックして、秘密の形式に関するその他の周辺コンテンツや追加の一致要件を指定できます。 「[AUTOTITLE](/code-security/reference/secret-security/custom-patterns#syntax-for-manually-defining-custom-patterns)」を参照してください。
      
    4. サンプルのテスト文字列を指定し、設定内容が期待するパターンにマッチすることを確認できます。

    記入したカスタム secret scanning パターン形式のスクリーンショット。

  4. 新しいカスタム パターンをテストする準備ができたら、アラートを作成せずにリポジトリの選択で一致するものを特定するために、 [保存してドライ ラン] をクリックします。

  5. ドライ ランを実行するリポジトリを選びます。

    • 組織全体でドライ ランを実行するには、[組織内のすべてのリポジトリ] を選択します。
    • ドライ ランを実行するリポジトリを指定するには、 [選択済みリポジトリ] を選び、最大 10 個のリポジトリを検索して選びます。
  6. 新しいカスタム パターンをテストする準備ができたら、 [実行] をクリックします。

  7. ドライ ランが完了すると、結果のサンプル (最大 1000 個) が表示されます。 結果をレビューし、誤検知の結果を特定します。

    ドライ ランの結果を示すスクリーンショット。

  8. 新しいカスタム パターンを編集して結果に関するすべての問題を修正してから、 [保存してドライ ラン] をクリックして変更をテストします。

  9. 新しいカスタム パターンに問題がなければ、 [パターンの発行] をクリックします。

  10. 任意で、カスタム パターンのプッシュ保護を有効にするには、 [有効にする] をクリックします。 詳しくは、「プッシュ保護について」をご覧ください。

    メモ

    • プッシュ保護を有効にするオプションは、公開されたパターンでのみ表示されます。
    • カスタム パターンのプッシュ保護は、プッシュ保護として secret scanning が有効になっている組織のリポジトリにのみ適用されます。
    • 一般的なカスタム パターンに対してプッシュ保護を有効にすると、共同作成者が混乱する可能性があります。

パターンが作成された後、secret scanning により、すべてのブランチの Git 履歴全体を含む組織内のリポジトリがスキャンされ、すべてのシークレットが検出されます。 Organization の所有者とリポジトリの管理者は、シークレットが見つかるとアラートを受け、シークレットが見つかったリポジトリでアラートをレビューできます。 シークレット スキャンニング アラート の表示については、「シークレット スキャン アラートの管理」を参照してください。

Enterprise アカウントのカスタム パターンの定義

カスタム パターンを定義する前に、Enterprise アカウントのシークレット スキャンを必ず有効にする必要があります。 詳しくは、「エンタープライズに対して GitHub Advanced Security を有効にする」をご覧ください。

メモ

  • エンタープライズ レベルでは、カスタム パターンの作成者のみがパターンを編集し、ドライ ランで使用できます。
  • ドライ ランは、自分が管理アクセス権を持つリポジトリでのみ実行できます。 エンタープライズ所有者が、組織内の任意のリポジトリでドライ ランを実行するためのアクセス権を必要とする場合は、組織所有者ロールが割り当てられている必要があります。 詳しくは、「あなたの企業が所有する組織での役割を管理する」をご覧ください。
  1. GitHub Enterprise Server の右上隅にあるプロフィール画像をクリックしてから、[Enterprise settings] をクリックします。

  2. ページの左側にある Enterprise アカウント サイドバーで、[ Policies] をクリックします。

  3. [Policies] で、[Code security and analysis] をクリックします。

  4. [Code security and analysis] の下にある [セキュリティ機能] をクリックします。

  5. [シークレット スキャン カスタム パターン] で、 [新しいパターン] をクリックします。

  6. 新しいカスタム パターンの詳細を入力します。 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。

    1. [Pattern name] (パターン名) フィールドにパターンの名前を入力します。
    2. [シークレット形式] フィールドに、シークレット パターンの形式の正規表現を入力します。
    3.     **「その他のオプション<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-chevron-down" aria-label="chevron-down" role="img"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg>」** をクリックして、秘密の形式に関するその他の周辺コンテンツや追加の一致要件を指定できます。 「[AUTOTITLE](/code-security/reference/secret-security/custom-patterns#syntax-for-manually-defining-custom-patterns)」を参照してください。
      
    4. サンプルのテスト文字列を指定し、設定内容が期待するパターンにマッチすることを確認できます。

    記入したカスタム secret scanning パターン形式のスクリーンショット。

  7. 新しいカスタム パターンをテストする準備ができたら、アラートを作成せずに Enterprise で一致するものを特定するため、 [保存してドライ ラン] をクリックします。

  8. ドライ ランを実行するリポジトリを最大 10 個検索して選択します。

  9. 新しいカスタム パターンをテストする準備ができたら、 [実行] をクリックします。1. ドライ ランが完了すると、結果のサンプル (最大 1000 個) が表示されます。 結果をレビューし、誤検知の結果を特定します。

    ドライ ランの結果を示すスクリーンショット。

  10. 新しいカスタム パターンを編集して結果に関するすべての問題を修正してから、 [保存してドライ ラン] をクリックして変更をテストします。1. 新しいカスタム パターンに問題がなければ、 [パターンの発行] をクリックします。

  11. 任意で、カスタム パターンのプッシュ保護を有効にするには、 [有効にする] をクリックします。 詳しくは、「プッシュ保護について」をご覧ください。

    メモ

    • カスタム パターンのプッシュ保護を有効にするには、エンタープライズ レベルでプッシュ保護として secret scanning を有効にする必要があります。
    • 一般的なカスタム パターンに対してプッシュ保護を有効にすると、共同作成者が混乱する可能性があります。

パターンが作成されると、secret scanning は、GitHub Advanced Security が有効なあなたの組織のリポジトリ内に存在するすべてのシークレットを、すべてのブランチの Git 履歴全体を含めてスキャンします。 Organization の所有者とリポジトリの管理者は、シークレットが見つかるとアラートを受け、シークレットが見つかったリポジトリでアラートをレビューできます。 シークレット スキャンニング アラート の表示については、「シークレット スキャン アラートの管理」を参照してください。

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