注意:站点管理员必须为 你的 GitHub Enterprise Server 实例 启用 secret scanning,你才能使用这些功能。 有关详细信息,请参阅“为设备配置密码扫描”。
如果企业所有者在企业级别设置了策略,你可能无法启用或禁用 secret scanning。 有关详细信息,请参阅“强制实施企业的代码安全性和分析策略”。
启用 机密扫描
可以为任何存储库启用机密扫描。 启用后,secret scanning 将在 GitHub 仓库中存在的所有分支上扫描整个 Git 历史记录的任何密钥。 此外,secret scanning 会扫描:
- 问题中的描述和评论
- 打开和结束的_历史_问题中的标题、描述和评论
还可以同时为组织中的多个存储库启用 secret scanning。 有关详细信息,请参阅“保护组织快速入门”。
注意:如果组织由企业帐户拥有,则企业所有者还可以在企业级别启用 secret scanning。 有关详细信息,请参阅“管理企业的 GitHub Advanced Security 功能”。
存储库管理员可以选择随时为存储库禁用secret scanning。 有关详细信息,请参阅“管理存储库的安全和分析设置”。
-
在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。
-
在边栏的“安全性”部分中,单击“ 代码安全性和分析”。
-
如果尚未对存储库启用 Advanced Security,请在“GitHub Advanced Security”右侧单击“启用”。
-
查看启用 Advanced Security 的影响,然后单击“为此存储库启用 GitHub Advanced Security”。
-
当您启用 Advanced Security 时,secret scanning 可能会因为组织的设置而自动启用。 如果显示“Secret scanning”带有“启用”按钮,则仍需通过单击“启用”来启用 secret scanning 。 如果你看到“禁用”按钮,则表示 secret scanning 已启用。
启用 机密扫描 的额外功能
可以通过存储库的“代码安全和分析”设置启用以下附加 secret scanning 功能:
- 推送保护。 有关详细信息,请参阅“存储库和组织的推送保护”。
- 扫描非提供商模式。 有关详细信息,请参阅“为非提供商模式启用扫描”。
- 扫描自定义模式。 有关详细信息,请参阅“为机密扫描定义自定义模式”。
为非提供商模式启用扫描
注意: 非提供商模式检测目前处于 beta 版本阶段,可能会发生变化。
可以为非提供商模式启用扫描。 非提供商模式对应于私钥等机密,其误报率较高。
-
在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。
-
在边栏的“安全性”部分中,单击“ 代码安全性和分析”。
-
在 Secret scanning 下,选择“扫描非提供商模式”旁边的复选框。
有关非提供商模式的详细信息,请参阅“机密扫描模式”。
从 机密扫描 中排除目录
可以将 secret_scanning.yml 文件配置为从 secret scanning 中排除目录,包括使用推送保护时。 例如,可以排除包含测试或随机生成内容的目录。
-
在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。
-
在文件列表上方,选择“添加文件” 下拉菜单,然后单击“ 创建新文件” 。
也可在左侧的文件树状视图中单击 。
-
在文件名字段中,键入 .github/secret_scanning.yml。
-
在“编辑新文件”下,键入
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 的个别警报。 有关详细信息,请参阅“管理来自机密扫描的警报”。