Skip to main content

为存储库配置机密扫描

您可以配置 GitHub 如何扫描存储库以查找与高级安全模式匹配的机密。

Who can use this feature

People with admin permissions to a repository can enable secret scanning for the repository.

Secret scanning is available for organization-owned repositories in GitHub Enterprise Server if your enterprise has a license for GitHub Advanced Security. 有关详细信息,请参阅“关于 GitHub Advanced Security”。

注意:站点管理员必须为 your GitHub Enterprise Server instance 启用 secret scanning,你才能使用这些功能。 有关详细信息,请参阅“为设备配置 secret scanning”。

启用 secret scanning

可以对组织拥有的任何存储库启用 secret scanning。 启用后,secret scanning 将在 GitHub 仓库中存在的所有分支上扫描整个 Git 历史记录的任何密钥。

  1. 在 your GitHub Enterprise Server instance 上,导航到存储库的主页。 1. 在存储库名称下,单击 “设置”。 “存储库设置”按钮

  2. In the left sidebar, click Security & analysis. "Security & analysis" tab in repository settings

  3. 如果尚未对存储库启用 Advanced Security,请在“GitHub Advanced Security”右侧单击“启用”。 为存储库启用 GitHub Advanced Security

  4. 查看启用 Advanced Security 的影响,然后单击“为此存储库启用 GitHub Advanced Security”。

  5. 当您启用 Advanced Security 时,secret scanning 可能会因为组织的设置而自动启用。 如果显示“Secret scanning”带有“启用”按钮,则仍需通过单击“启用”来启用 secret scanning 。 如果你看到“禁用”按钮,则表示 secret scanning 已启用。 为存储库启用 secret scanning

从 secret scanning 中排除目录

可以使用 secret_scanning.yml 文件从 secret scanning 中排除目录。 例如,可以排除包含测试或随机生成内容的目录。

  1. 在 your GitHub Enterprise Server instance 上,导航到存储库的主页。 1. 在文件列表上方,使用“添加文件”下拉列表,在其中单击“创建新文件” 。 “添加文件”下拉列表中的“创建新文件”

  2. 在文件名字段中,键入 .github/secret_scanning.yml。

  3. 在“编辑新文件”下,键入 paths-ignore:,后跟要从 secret scanning 中排除的路径。

    paths-ignore:
      - "foo/bar/*.js"
    

    可以使用特殊字符(例如 *)来筛选路径。 有关筛选器模式的详细信息,请参阅“GitHub Actions 的工作流语法”。

    注意:

    • 如果 paths-ignore 中的条目超过 1,000 个,secret scanning 只会从扫描中排除前 1,000 个目录。
    • 如果 secret_scanning.yml 大于 1 MB,secret scanning 将忽略整个文件。

您也可以忽略来自 secret scanning 的个别警报。 有关详细信息,请参阅“管理来自 secret scanning 的警报”。

延伸阅读