Skip to main content

カスタム パターンの正規表現ジェネレーターについて

レギュラー エクスプレション ジェネレーター を使用して、パターンごとに 1 つまたは複数の正規表現を生成することで、secret scanning の機能を拡張する独自のカスタム パターンを定義できます。

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

パートナーに対するシークレット スキャンニング アラート はパブリック リポジトリとパブリック npm パッケージで自動的に実行され、GitHub.com で漏洩したシークレットについてサービス プロバイダーに通知します。

ユーザーに対するシークレット スキャンニング アラート は、すべてのパブリック リポジトリで無料で利用できます。 GitHub Enterprise Cloud を使い、GitHub Advanced Security のライセンスを持っている組織は、プライベート リポジトリと内部リポジトリに対して ユーザーに対するシークレット スキャンニング アラート を有効にすることもできます。 詳細については、「シークレット スキャンについて」と「GitHub Advanced Security について」を参照してください。

GitHub Advanced Security で GitHub Enterprise を無料で試す方法の詳細については、「GitHub Enterprise Cloud のトライアルを設定する」と GitHub Enterprise Cloud ドキュメントの「GitHub Advanced Security の無料試用版を設定する」を参照してください。

注: レギュラー エクスプレション ジェネレーター はベータ版です。 機能とドキュメントテーションは変更される場合があります。 この機能は、GitHub Enterprise Cloud で GitHub Advanced Security を使用するエンタープライズ アカウントで使用できます。

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

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

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

入力処理

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

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

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

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

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

正規表現で [結果を使用] をクリックすると、正規表現と入力した例 (入力した場合) がメイン カスタム パターン フォームにコピーされます。 そこで、パターンのドライ ランを実行して、リポジトリ全体または組織全体でパターンがどのように実行されるかを確認できます。

レギュラー エクスプレション ジェネレーター のパフォーマンスの向上

レギュラー エクスプレション ジェネレーター のパフォーマンスを向上させ、いくつかの制限に対処するために採用できる、さまざまな対策があります。 レギュラー エクスプレション ジェネレーター の制限事項の詳細については、「レギュラー エクスプレション ジェネレーター の制限事項」を参照してください。

レギュラー エクスプレション ジェネレーター を、代替ではなく、ツールとして使用する

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

フィードバックを提供する

レギュラー エクスプレション ジェネレーター は現在ベータ版です。 レギュラー エクスプレション ジェネレーター で問題や制限が発生した場合は、UI の ジェネレーターの上部にある [フィードバックの提供] ボタンを使用してフィードバックすることをお勧めします。 これは、開発者がツールを改善し、懸念事項や制限事項に対処するのに役立ちます。

レギュラー エクスプレション ジェネレーター の制限事項

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

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

レギュラー エクスプレション ジェネレーター は、構造化パターンを検出する正規表現の作成にのみ適しています。

参考資料