跳至主要内容

为秘密扫描定义自定义模式

通过使用正则表达式定义自定义模式来保护您独特的密钥类型。

谁可以使用此功能?

仓库所有者、组织所有者、安全经理、企业管理员以及拥有 admin 角色的用户

在 GitHub Team 或 GitHub Enterprise 上的组织拥有的仓库,已启用 GitHub Secret Protection

使用 Copilot 定义自定义模式

您可以使用 Copilot 密钥扫描,根据对希望检测的模式类型的文字描述(包括可选的示例字符串)生成正则表达式。参见 使用 Copilot 密钥扫描生成自定义模式的正则表达式

为仓库定义自定义模式

在定义自定义模式之前,必须确保已在仓库上启用 Secret Protection。有关更多信息,请参见 为您的仓库启用密钥扫描

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

  2. 在您的仓库名称下,点击 设置。如果看不到 “设置” 选项卡,请选择 下拉菜单,然后点击 设置

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. 在侧边栏的Security部分,点击 Advanced Security

  4. 在 “Secret Protection” 下,位于 “Custom patterns” 右侧,点击 New pattern(新建模式)。

  5. 输入新自定义模式的详细信息。您至少需要提供模式的名称以及用于描述密钥格式的正则表达式。

    1. 在 “Pattern name”(模式名称)字段中,输入模式的名称。
    2. 在 “Secret format”(密钥格式)字段中,输入描述密钥格式的正则表达式。
    3. 您可以点击 More options ,以提供其他周边内容或对密钥格式的额外匹配要求。参见 Custom patterns reference(自定义模式参考)
    4. 提供一个示例测试字符串,以确保您的配置匹配预期的模式。

    Screenshot of a filled custom secret scanning pattern form.

  6. 准备好测试新自定义模式、在仓库中识别匹配而不生成警报时,点击 Save and dry run(保存并进行干运行)。

  7. 干运行完成后,您将看到最多 1000 条结果样本。检查结果并识别任何误报。

    Screenshot showing results from dry run.

  8. 编辑新自定义模式以修正结果中的问题,然后再次点击 Save and dry run(保存并进行干运行)进行测试。

  9. 对新自定义模式满意后,点击 Publish pattern(发布模式)。

  10. 如需为自定义模式启用推送保护,可点击 Enable(启用)。更多信息请参见 About push protection(关于推送保护)

    注意

    “Enable” 按钮仅在干运行成功并且已发布模式后才可用。

创建模式后,密钥扫描会在您的 GitHub 仓库的所有分支上扫描整个 Git 历史,以查找任何密钥。有关查看密钥扫描警报的更多信息,请参见 Manage secret scanning alerts(管理密钥扫描警报)

为组织定义自定义模式

在定义自定义模式之前,必须确保已为组织中希望扫描的仓库启用密钥扫描。您可以使用安全配置在组织的所有仓库上启用密钥扫描。更多信息请参见 About enabling security features at scale(关于大规模启用安全功能)

  1. 在 GitHub 右上角,点击您的头像,然后点击 组织

  2. 点击即可选择组织。

  3. 在您的组织名称下,点击 设置。如果看不到 “设置” 选项卡,请选择 下拉菜单,然后点击 设置

    Screenshot of the tabs in an organization's profile. The "Settings" tab is outlined in dark orange.

  4. 在侧边栏的 “Security” 部分,选择 Advanced Security 下拉菜单,然后点击 Global settings

  5. 在 “Custom patterns”(自定义模式)下,点击 New pattern(新建模式)。

  6. 输入新自定义模式的详细信息。您至少需要提供模式的名称以及用于描述密钥格式的正则表达式。

    1. 在 “Pattern name”(模式名称)字段中,输入模式的名称。
    2. 在 “Secret format”(密钥格式)字段中,输入描述密钥格式的正则表达式。
    3. 您可以点击 More options ,以提供其他周边内容或对密钥格式的额外匹配要求。参见 Custom patterns reference(自定义模式参考)
    4. 提供一个示例测试字符串,以确保您的配置匹配预期的模式。

    Screenshot of a filled custom secret scanning pattern form.

  7. 准备好测试新自定义模式、在选定仓库中识别匹配而不生成警报时,点击 Save and dry run(保存并进行干运行)。

  8. 选择您希望执行干运行的仓库。

    • 若要在整个组织范围内执行干运行,选择 All repositories in the organization(组织中的所有仓库)。
    • 若要指定要执行干运行的仓库,选择 Selected repositories(已选仓库),然后搜索并最多选择 10 个仓库。
  9. 准备好测试新自定义模式时,点击 Run(运行)。

  10. 干运行完成后,您将看到最多 1000 条结果样本。检查结果并识别任何误报。

    Screenshot showing results from dry run.

  11. 编辑新自定义模式以修正结果中的问题,然后再次点击 Save and dry run(保存并进行干运行)进行测试。

  12. 对新自定义模式满意后,点击 Publish pattern(发布模式)。

  13. 如需为自定义模式启用推送保护,可点击 Enable(启用)。更多信息请参见 About push protection(关于推送保护)

    注意

    • 仅已发布的模式会显示启用推送保护的选项。
    • 自定义模式的推送保护仅适用于组织中已启用密钥扫描推送保护的仓库。
    • 为常见的自定义模式启用推送保护可能会对贡献者造成干扰。

创建模式后,密钥扫描会在组织内的所有仓库(包括所有分支的完整 Git 历史)中进行扫描。组织所有者和仓库管理员会收到发现的密钥警报,并可在相应仓库中查看该警报。有关查看密钥扫描警报的更多信息,请参见 Manage secret scanning alerts(管理密钥扫描警报)

为企业账户定义自定义模式

注意

  1. 转到您的企业。例如,在 GitHub.com 上的 企业 页面。

  2. 页面顶部,点击 策略

  3. 在 “策略”,点击 高级安全

  4. 在 “Advanced Security”(高级安全)下,点击 Security features(安全功能)。

  5. 在 “Secret scanning custom patterns”(密钥扫描自定义模式)下,点击 New pattern(新建模式)。

  6. 输入新自定义模式的详细信息。您至少需要提供模式的名称以及用于描述密钥格式的正则表达式。

    1. 在 “Pattern name”(模式名称)字段中,输入模式的名称。
    2. 在 “Secret format”(密钥格式)字段中,输入描述密钥格式的正则表达式。
    3. 您可以点击 More options ,以提供其他周边内容或对密钥格式的额外匹配要求。参见 Custom patterns reference(自定义模式参考)
    4. 提供一个示例测试字符串,以确保您的配置匹配预期的模式。

    Screenshot of a filled custom secret scanning pattern form.

  7. 准备好测试新自定义模式、在企业范围内识别匹配而不生成警报时,点击 Save and dry run(保存并进行干运行)。

  8. 搜索并选择您希望执行干运行的最多 10 个仓库。

  9. 准备好测试新自定义模式时,点击 Run(运行)。

  10. 干运行完成后,您将看到最多 1000 条结果样本。检查结果并识别任何误报。

    Screenshot showing results from dry run.

  11. 编辑新自定义模式以修正结果中的问题,然后再次点击 Save and dry run(保存并进行干运行)进行测试。

  12. 对新自定义模式满意后,点击 Publish pattern(发布模式)。

  13. 如需为自定义模式启用推送保护,可点击 Enable(启用)。更多信息请参见 About push protection(关于推送保护)

    注意

    • 要为自定义模式启用推送保护,必须在企业层面启用密钥扫描的推送保护功能。
    • 为常见的自定义模式启用推送保护可能会对贡献者造成干扰。

创建模式后,密钥扫描会在已启用 GitHub Secret Protection 的组织内各仓库(包括所有分支的完整 Git 历史)中进行扫描。组织所有者和仓库管理员会收到发现的密钥警报,并可在相应仓库中查看该警报。有关查看密钥扫描警报的更多信息,请参见 Manage secret scanning alerts(管理密钥扫描警报)

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.