Skip to main content

Copilot シークレット スキャンによる正規表現の責任ある生成

レギュラー エクスプレション ジェネレーター の機能と制限事項について説明します。これは、secret scanning の機能を拡張するカスタム パターンを定義するのに役立ちます。

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

Copilot シークレット スキャンは、次のリポジトリで使用できます。

  • GitHub Advanced Security が有効な GitHub Enterprise Cloud を使用している組織のパブリック、プライベート、および内部リポジトリ

Copilot シークレット スキャン

を使用した正規表現の生成の概要

Secret scanning は、リポジトリをスキャンして、パートナーのプログラムの定義済みのシークレットのセットと、ユーザー定義のカスタム パターンを探します。 カスタムパターンは正規表現で書式設定されています。

Note

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

正規表現は、ユーザーが記述するのが難しい場合があります。 Copilot シークレット スキャン の レギュラー エクスプレション ジェネレーター を使うと、正規表現の知識がなくてもカスタム パターンを定義できます。 既存のカスタム パターン ページ内で生成 AI エクスペリエンスを起動して、検出するパターンのテキスト説明を入力し、検出されるはずの文字列の例 (省略可能) を含めると、一致する正規表現を取得できます。

入力処理

ユーザーは、検出する内容のテキスト説明と、検出されるはずの文字列の例 (省略可能) を入力します。

応答の生成と出力の書式設定

Copilot シークレット スキャン の レギュラー エクスプレション ジェネレーター は GPT-3.5-Turbo と GitHub Copilot API を使って、入力に一致する正規表現を生成します。

このモデルでは、ユーザーがレビューするために、最大 3 つの正規表現が返されます。 正規表現をクリックすると、AI によって生成された正規表現のわかりやすい説明を取得できます。

一部の結果は非常に似ている場合があり、一部の結果では、パターンが検出することを意図したシークレットのすべてのインスタンスが見つからない場合があります。 また、正規表現ジェネレーターが無効または不適切な結果を生成する可能性もあります。

正規表現で [結果を使用] をクリックすると、正規表現と入力した例 (入力した場合) がメイン カスタム パターン フォームにコピーされます。 そこで、パターンのドライ ランを実行して、リポジトリ全体または組織全体でパターンがどのように実行されるかを確認できます。リポジトリまたは組織のカスタム パターンを定義する方法の詳細については、「シークレット スキャンのカスタム パターンの定義」を参照してください。

AI を使用して正規表現を生成するときのパフォーマンスの向上

パフォーマンスを向上させ、Copilot シークレット スキャン の レギュラー エクスプレション ジェネレーター の制限の一部に対処するために、さまざまな対策を講じることができます。 レギュラー エクスプレション ジェネレーター の制限事項の詳細については、「AI を使用して正規表現を生成する場合の制限事項」を参照してください。

Copilot シークレット スキャン

の レギュラー エクスプレション ジェネレーター を置き換えではなくツールとして使う

レギュラー エクスプレション ジェネレーター は、正規表現を自分で記述せずにカスタム パターンを作成するための強力なツールですが、手動入力の代わりではなく、ツールとして使用することが重要です。 組織全体またはリポジトリ全体でドライランを実行して、結果のパフォーマンスを慎重に検証する必要があります。 組織のリポジトリを代表する 1 つまたは複数のリポジトリでパターンを実行することをお勧めします。 場合によっては、ニーズをより完全に満たすように、生成された正規表現を変更することが有益な場合があります。 使用するカスタム パターンの決定は最終的にユーザーの責任です。

AI を使用して正規表現を生成する場合の制限事項

Copilot シークレット スキャン の レギュラー エクスプレション ジェネレーター を使うときに、入力の説明や例などの要因に応じて、さまざまなレベルのパフォーマンスになる可能性があります。 secret scanning で検索したいすべてのパターンが正規表現に組み込まれるように、説明をできるだけ具体的に記述し、パターンに一致するさまざまな種類のトークンの例を提供する必要があります。

また、レギュラー エクスプレション ジェネレーター で使用されるモデルは、主に英語で記述された自然言語コンテンツに対してトレーニングされています。 その結果、英語以外の言語で自然言語入力プロンプトをジェネレーターに提供すると、パフォーマンスが異なる場合があります。

Copilot シークレット スキャン の レギュラー エクスプレション ジェネレーター は、構造化されたパターンを検出する正規表現を作成する場合にのみ適していることに注意してください。

次のステップ

参考資料