Skip to main content

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

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

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

Secret scanning は、次のリポジトリに使うことができます:

  • パブリック リポジトリ (無料)
  • GitHub Advanced Security が有効な で GitHub Enterprise Cloud を使用している組織のプライベート リポジトリと内部リポジトリ
  • Enterprise Managed Users の GitHub Enterprise Cloud のユーザー所有リポジトリ

AI を使用したリポジトリの正規表現の生成

Note

コパイロット シークレット スキャン の レギュラー エクスプレション ジェネレーター を使用するには、GitHub Copilot のサブスクリプションは必要ありません。 コパイロット シークレット スキャン機能は、GitHub Advanced Securityが有効になっているGitHub Enterprise Cloud企業のプライベート リポジトリで使用できます。

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

  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 を構成できます。 詳細については、「カスタム パターンのプッシュ保護を有効にする」を参照してください

AI を使用した Organization の正規表現の生成

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。

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

  3. サイドバーの [セキュリティ] セクションで、[ コードのセキュリティ][グローバル設定] をクリックしてください。 1。 [Custom patterns] (カスタム パターン) で、[新しいパターン] をクリックします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参考資料