定义密钥扫描的自定义模式

您可以在组织和私有仓库中定义 秘密扫描 的自定义模式。

秘密扫描 适用于所有公共仓库以及启用了 GitHub Advanced Security 的组织拥有的私有仓库。 更多信息请参阅“关于 GitHub Advanced Security”。

关于 秘密扫描 的自定义模式

GitHub 在 公共和私有 仓库中执行performs 秘密扫描,以用于 GitHub 和 GitHub 模式提供的密钥模式。 有关 秘密扫描 合作伙伴计划的更多信息,请参阅“密码扫描合作伙伴计划”。

但是,在某些情况下,您需要扫描 私有 仓库中的其他密钥模式。 例如,您可能有一个属于您组织内部的密钥模式。 For these situations, you can define custom 秘密扫描 patterns in your enterprise, organization, or private repository on GitHub. You can define up to 100 custom patterns for each organization or enterprise account, and up to 20 custom patterns per private repository.

自定义模式的正则表达式语法

秘密扫描 的自定义模式被指定为正则表达式。 秘密扫描 使用 Hyperscan 库,只支持 Hyperscan regex 结构(PCRE 语法的子集)。 不支持 Hyperscan 选项修饰符。 有关 Hyperscan 模式构造的更多信息,请参阅 Hyperscan 文档中的“模式支持”。

定义仓库的自定义模式

在定义自定义模式之前,您必须确保仓库上启用了 秘密扫描。 更多信息请参阅“为仓库配置 秘密扫描”。

  1. 在 GitHub 上,导航到仓库的主页面。

  2. 在仓库名称下,单击 Settings(设置)仓库设置按钮

  3. 在左侧边栏中,单击 Security & analysis(安全和分析)仓库设置中的"Security & analysis(安全和分析)"选项卡

  4. 在“Configure security and analysis features(配置安全和分析功能)”下,查找“GitHub Advanced Security”。

  5. Under "秘密扫描", under "Custom patterns", click New pattern.

  6. 输入新自定义模式的详细信息:

    1. 您至少必须提供模式的名称,以及秘密模式格式的正则表达式。
    2. 您可以点击更多选项 来提供密钥格式的其他周围内容或额外匹配要求。
    3. Provide a sample test string to make sure your configuration is matching the patterns you expect.

    创建自定义 秘密扫描 模式表

  7. When you are satisfied with your new custom pattern, click Create pattern.

在模式创建后,秘密扫描 将在 GitHub 仓库中存在的所有分支上扫描整个 Git 历史记录的任何密钥。有关查看 秘密扫描 警报的详细信息,请参阅“管理来自 秘密扫描 的警报”。

定义组织的自定义模式

在定义自定义模式之前,您必须确保在组织中为要扫描的 私有 仓库启用 秘密扫描。 要在您的组织中启用 秘密扫描 所有 私有 仓库,请参阅“管理组织的安全和分析设置”。

Note: As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire organization. That way, you can avoid creating excess false-positive 秘密扫描 alerts.

  1. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your organizations(您的组织)个人资料菜单中的组织

  2. 在组织旁边,单击 Settings(设置)设置按钮

  3. 在左侧边栏中,单击 Security & analysis(安全和分析)组织设置中的"Security & analysis(安全和分析)"选项卡

  4. 在“Configure security and analysis features(配置安全和分析功能)”下,查找“GitHub Advanced Security”。

  5. Under "秘密扫描", under "Custom patterns", click New pattern.

  6. 输入新自定义模式的详细信息:

    1. 您至少必须提供模式的名称,以及秘密模式格式的正则表达式。
    2. 您可以点击更多选项 来提供密钥格式的其他周围内容或额外匹配要求。
    3. Provide a sample test string to make sure your configuration is matching the patterns you expect.

    创建自定义 秘密扫描 模式表

  7. When you are satisfied with your new custom pattern, click Create pattern.

创建模式后,秘密扫描 扫描组织中的私有 仓库中的任何密钥,包括其所有分支的整个 Git 历史记录。 组织所有者和仓库管理员将会收到发现的任何密钥警报通知,并且可以审查发现密钥的仓库中的警报。 有关查看 秘密扫描 警报的详细信息,请参阅“管理来自 秘密扫描 的警报”。

Defining a custom pattern for an enterprise account

Before defining a custom pattern, you must ensure that you enable secret scanning for your enterprise account. For more information, see "Enabling GitHub Advanced Security for your enterprise."

Note: As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire enterprise. That way, you can avoid creating excess false-positive 秘密扫描 alerts.

  1. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your enterprises(您的企业)GitHub 上个人资料照片下拉菜单中的"Your enterprises(您的企业)"

  2. 在企业列表中,单击您想要查看的企业。 企业列表中的企业名称

  3. 在企业账户侧边栏中,单击 Policies(政策)企业帐户侧边栏中的 Policies(政策)选项卡

  4. 策略下,单击“Advanced Security(高级安全性)”。 侧边栏中的"高级安全性"策略

  5. Under "GitHub Advanced Security", click the Security features tab.

  6. Under "Secret scanning custom patterns", click New pattern.

  7. 输入新自定义模式的详细信息:

    1. 您至少必须提供模式的名称,以及秘密模式格式的正则表达式。
    2. 您可以点击更多选项 来提供密钥格式的其他周围内容或额外匹配要求。
    3. Provide a sample test string to make sure your configuration is matching the patterns you expect.

    创建自定义 秘密扫描 模式表

  8. When you are satisfied with your new custom pattern, click Create pattern.

After your pattern is created, 秘密扫描 scans for any secrets in private repositories within your enterprise's organizations with GitHub Advanced Security enabled, including their entire Git history on all branches. 组织所有者和仓库管理员将会收到发现的任何密钥警报通知,并且可以审查发现密钥的仓库中的警报。 有关查看 秘密扫描 警报的详细信息,请参阅“管理来自 秘密扫描 的警报”。

Editing a custom pattern

When you save a change to a custom pattern, this closes all the 秘密扫描 alerts that were created using the previous version of the pattern.

  1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.
  2. Under "秘密扫描", to the right of the custom pattern you want to edit, click .
  3. When you have reviewed and tested your changes, click Save changes.

删除自定义模式

  1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.

  2. To the right of the custom pattern you want to remove, click .

  3. Review the confirmation, and select a method for dealing with any open alerts relating to the custom pattern.

  4. Click Yes, delete this pattern.

    Confirming deletion of a custom 秘密扫描 pattern

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。