Defining custom patterns for secret scanning

You can define custom patterns for secret scanning in organizations and private repositories.

Secret scanningは、すべてのパブリック及びOrganizationが所有するGitHub Advanced Securityが有効化されたプライベートリポジトリで利用できます。 詳しい情報については、「GitHub Advanced Security について」を参照してください。

Note: Custom patterns for secret scanning is currently in beta and is subject to change.

About custom patterns for secret scanning

GitHub performs secret scanning on public and private repositories for secret patterns provided by GitHub and GitHub partners. For more information on the secret scanning partner program, see "Secret scanning partner program."

However, there can be situations where you want to scan for other secret patterns in your private repositories. For example, you might have a secret pattern that is internal to your organization. For these situations, you can define custom secret scanning patterns in organizations and private repositories on GitHub. You can define up to 20 custom patterns for each private repository or organization.

Note: During the beta, there are some limitations when using custom patterns for secret scanning:

  • There is no dry-run functionality.
  • You cannot edit custom patterns after they're created. To change a pattern, you must delete it and recreate it.
  • There is no API for creating, editing, or deleting custom patterns. However, results for custom patterns are returned in the secret scanning alerts API.

Regular expression syntax for custom patterns

Custom patterns for secret scanning are specified as regular expressions. Secret scanning uses the Hyperscan library and only supports Hyperscan regex constructs, which are a subset of PCRE syntax. Hyperscan option modifiers are not supported. For more information on Hyperscan pattern constructs, see "Pattern support" in the Hyperscan documentation.

Defining a custom pattern for a repository

Before defining a custom pattern, you must ensure that secret scanning is enabled on your repository. For more information, see "Configuring secret scanning for your repositories."

  1. GitHubで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. 左のサイドバーで、Security & analysis(セキュリティと分析)をクリックしてください。 リポジトリ設定の"セキュリティと分析"タブ

  4. "Configure security and analysis features(セキュリティと分析の機能の設定)"の下で、「GitHub Advanced Security」を見つけてください。

  5. [Secret scanning] で、[Add a secret scanning custom pattern] をクリックします。

    secret scanningカスタムパターンの追加

  6. 新しいカスタムパターンの詳細を入力します。

    1. 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。
    2. [More options ]をクリックして、シークレットのフォーマットのその他の周辺コンテンツあるいは追加のマッチ要件を提供できます。
    3. サンプルのテスト文字列を指定し、[Test]ボタンをクリックして、設定内容が期待するパターンにマッチすることを確認できます。

    カスタムのsecret scanningパターン形式の作成

  7. 新しいカスタムパターンに満足できたら、[Create custom pattern]をクリックしてください。

After your pattern is created, secret scanningはGitHubリポジトリ中に存在するすべてのブランチのGit履歴全体に対して、あらゆるシークレットをスキャンします。 For more information on viewing secret scanning alerts, see "Managing alerts from secret scanning."

Defining a custom pattern for an organization

Before defining a custom pattern, you must ensure that you enable secret scanning for the private repositories that you want to scan in your organization. To enable secret scanning on all private repositories in your organization, see "Managing security and analysis settings for your organization."

Note: There is no dry-run functionality during the custom patterns beta. To avoid excess false-positive secret scanning alerts, we recommend that you test your custom patterns in a repository before defining them for your entire organization.

  1. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization

  2. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン

  3. 左のサイドバーで、Security & analysis(セキュリティと分析)をクリックしてください。 Organization設定の"セキュリティと分析"タブ

  4. "Configure security and analysis features(セキュリティと分析の機能の設定)"の下で、「GitHub Advanced Security」を見つけてください。

  5. [Secret scanning] で、[Add a secret scanning custom pattern] をクリックします。

    secret scanningカスタムパターンの追加

  6. 新しいカスタムパターンの詳細を入力します。

    1. 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。
    2. [More options ]をクリックして、シークレットのフォーマットのその他の周辺コンテンツあるいは追加のマッチ要件を提供できます。
    3. サンプルのテスト文字列を指定し、[Test]ボタンをクリックして、設定内容が期待するパターンにマッチすることを確認できます。

    カスタムのsecret scanningパターン形式の作成

  7. 新しいカスタムパターンに満足できたら、[Create custom pattern]をクリックしてください。

After your pattern is created, secret scanning scans for any secrets in private repositories in your organization, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing secret scanning alerts, see "Managing alerts from secret scanning."

Removing a custom pattern

Removing a custom pattern also closes all the secret scanning alerts that the pattern created.

  1. Navigate to the Security & analysis settings for the repository or organization where the custom pattern was created. For more information, see "Defining a custom pattern for a repository" or "Defining a custom pattern for an organization" above.

  2. "Configure security and analysis features(セキュリティと分析の機能の設定)"の下で、「GitHub Advanced Security」を見つけてください。

  3. Under "Secret scanning", find the custom pattern you want to remove and click Remove.

    Remove a custom secret scanning  pattern

  4. Review the confirmation and click Remove custom pattern.

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡