Skip to main content

AI を使用したカスタム パターンの正規表現の生成

レギュラー エクスプレション ジェネレーター を使用して、カスタム パターンの正規表現を生成できます。 ジェネレーターは AI モデルを使用して、入力に一致する式と、必要に応じて文字列の例を生成します。

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

Secret scanning alerts for partners runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on GitHub.

Secret scanning alerts for users are available for user-owned public repositories for free. Organizations using GitHub Enterprise Cloud with a license for GitHub Advanced Security can also enable secret scanning alerts for users on their private and internal repositories. Additionally, secret scanning alerts for users are available and in beta on user-owned repositories for GitHub Enterprise Cloud with Enterprise Managed Users. For more information, see "About secret scanning" and "About GitHub Advanced Security."

For information about how you can try GitHub Advanced Security for free, see "Setting up a trial of GitHub Advanced Security."

注: レギュラー エクスプレション ジェネレーター はベータ版です。 機能とドキュメントテーションは変更される場合があります。

About the レギュラー エクスプレション ジェネレーター

カスタムパターンは正規表現で書式設定されています。 GitHub に正規表現を手動で入力することも、レギュラー エクスプレション ジェネレーター を使用することもできます。 ジェネレーターは、検出すべき必要な文字を含め、検出したいパターンの種類のテキストを入力する事ができる生成型 AI モデルを使用しています。 このモデルでは、確認できる最大 3 つの正規表現が返されます。

リポジトリまたは Organization の正規表現を手動で生成する方法については、「シークレット スキャンのカスタム パターンの定義」を参照してください。

ジェネレーターの詳細については、「カスタム パターンの正規表現ジェネレーターについて」をご覧ください。

ジェネレーターを使用したリポジトリの正規表現の生成

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

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

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

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

  4. [コードのセキュリティと分析] の下で、「GitHub Advanced Security」を見つけてください。

  5. [Secret scanning] の [カスタム パターン] で、 [新しいパターン] をクリックします。

  6. [Pattern name] (パターン名) フィールドにパターンの名前を入力します。

  7. 右上の [Generate with AI] (AI で生成) をクリックします。

    注: ジェネレーターを使用する代わりに、[シークレット形式] フィールドにシークレット パターンの形式の正規表現を入力することで、正規表現を手動で入力できます。 詳しくは、「リポジトリのカスタム パターンの定義」または「組織のカスタム パターンの定義」を参照してください。

  8. 表示されるスライディング パネルで、次の操作を行います。

    • [I want a regular expression that] (正規表現が必要です) フィールドに、正規表現でキャプチャするパターンを記述します。理想的には、単純な英語で記述します。 他の自然言語を使用できますが、パフォーマンスは英語ほど良くない場合があります。

    • [Examples of what I'm looking for] (探しているものの例) フィールドに、スキャンしたいパターンの例を入力します。

    • [Generate suggestions] (提案の生成) をクリックします。

    • 必要に応じて、候補をクリックして正規表現の説明を表示します。

    • 表示される「Results」(結果) セクションで、使用したい結果の [Use results] (結果を使用) をクリックします。

      ジェネレーターが使用する、入力したカスタムの secret scanning パターン形式のスクリーンショット。

  9. [その他のオプション ] をクリックして、シークレットのフォーマットのその他の周辺コンテンツあるいは追加のマッチ要件を指定できます。 GitHub では、スライディング パネルに入力した例が** [Test string] (テスト文字列)** フィールドに追加されます。

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

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

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

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

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

コミットが既定のブランチにマージされる前に、カスタム パターンのプッシュをチェックするように secret scanning を構成できます。 詳細については、「カスタム パターンのプッシュ保護を有効にする」を参照してください

ジェネレーターを使用して Organization の正規表現を生成する

  1. GitHub.com の右上隅にあるプロファイル写真を選択し、次に自分の組織をクリックします。

    @octocat のプロファイル写真の下にあるドロップダウン メニューのスクリーンショット。 [Your organizations] (自分の組織) が濃いオレンジ色の枠線で囲まれています。

  2. 組織の隣の [設定] をクリックします。

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

Note

Organization が security configurations と global settings パブリック ベータに登録されている場合は、[コード のセキュリティと分析] ではなく、[コード セキュリティ] ドロップダウン メニューが表示されます。 [コード セキュリティ] を選択し、[Global settings] をクリックします。レギュラー エクスプレション ジェネレーター の使用の詳細については、この手順の次の手順を参照してください。 Organization の global settings の構成について詳しくは、「組織のグローバル セキュリティ設定の構成」を参照してください。

  1. [コードのセキュリティと分析] の下で、「GitHub Advanced Security」を見つけてください。

  2. [Secret scanning] の [カスタム パターン] で、 [新しいパターン] をクリックします。

  3. [Pattern name] (パターン名) フィールドにパターンの名前を入力します。

  4. 右上の [Generate with AI] (AI で生成) をクリックします。

    注: ジェネレーターを使用する代わりに、[シークレット形式] フィールドにシークレット パターンの形式の正規表現を入力することで、正規表現を手動で入力できます。 詳しくは、「リポジトリのカスタム パターンの定義」または「組織のカスタム パターンの定義」を参照してください。

  5. 表示されるスライディング パネルで、次の操作を行います。

    • [I want a regular expression that] (正規表現が必要です) フィールドに、正規表現でキャプチャするパターンを記述します。理想的には、単純な英語で記述します。 他の自然言語を使用できますが、パフォーマンスは英語ほど良くない場合があります。

    • [Examples of what I'm looking for] (探しているものの例) フィールドに、スキャンしたいパターンの例を入力します。

    • [Generate suggestions] (提案の生成) をクリックします。

    • 必要に応じて、候補をクリックして正規表現の説明を表示します。

    • 表示される「Results」(結果) セクションで、使用したい結果の [Use results] (結果を使用) をクリックします。

      ジェネレーターが使用する、入力したカスタムの secret scanning パターン形式のスクリーンショット。

  6. [その他のオプション ] をクリックして、シークレットのフォーマットのその他の周辺コンテンツあるいは追加のマッチ要件を指定できます。 GitHub では、スライディング パネルに入力した例が** [Test string] (テスト文字列)** フィールドに追加されます。

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

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

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

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

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

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

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

コミットが既定のブランチにマージされる前に、カスタム パターンのプッシュをチェックするように secret scanning を構成できます。 詳細については、「カスタム パターンのプッシュ保護を有効にする」を参照してください