关于大规模配置默认设置
通过 code scanning 的默认设置,可以快速保护整个组织的存储库中的代码。
对于组织中的所有符合条件的存储库,可启用 code scanning 作为默认设置。 启用默认设置后,将扫描组织存储库中以 CodeQL 支持的语言编写的代码:
- 每次推送到存储库的默认分支或任何受保护的分支时。 有关受保护分支的详细信息,请参阅“关于受保护分支”。
- 根据存储库的默认分支或任何受保护的分支创建或提交拉取请求时,不包括分支中的拉取请求。
- 每周一次。
有关详细信息,请参阅“为组织中所有符合条件的仓库配置默认设置”。
对于不符合默认设置条件的存储库,可以在存储库级别或使用脚本在组织级别配置高级设置。 有关详细信息,请参阅“使用 CodeQL 大规模为代码扫描配置高级设置”。
符合 CodeQL 大规模默认设置条件的存储库
存储库必须满足以下所有条件才能使用默认设置,否则需要使用高级设置。
- code scanning 的高级设置尚未启用。
- GitHub Actions 已启用。
- 使用 Go、JavaScript/TypeScript、Python 或 Ruby。* 已启用 GitHub Actions。
- 已启用 GitHub Advanced Security。
如果符合条件的存储库将来可能至少包含一种 CodeQL 支持的语言,我们建议为这些存储库启用默认设置。 如果在不包含任何 CodeQL 支持的语言的存储库上启用默认设置,则默认设置将不会运行任何扫描或使用任何 GitHub Actions 分钟。 如果将 CodeQL 支持的语言添加到仓库的默认分支,则默认设置将自动开始扫描 CodeQL 支持的语言,并使用 GitHub Actions 分钟。 有关 CodeQL 支持的语言的详细信息,请参阅“关于使用 CodeQL 进行代码扫描”。
关于向现有默认设置配置添加语言
如果存储库中的代码更改为包含支持 CodeQL 的语言,则 GitHub 将自动更新code scanning配置以包含新语言。 如果 code scanning 因新配置而失败,GitHub 将自动恢复以前的配置,因此存储库不会失去 code scanning 覆盖范围。
为组织中所有符合条件的存储库配置默认设置
可为组织中所有符合条件的存储库启用默认设置。 有关详细信息,请参阅“关于批量启用安全功能”。
扩展默认设置中的 CodeQL 覆盖率
通过组织的安全设置页面,可以使用模型包来为组织中所有符合条件的存储库扩展默认设置的覆盖范围。 有关详细信息,请参阅“编辑默认设置配置”。
为组织中的部分存储库配置默认设置
可以筛选要为其配置默认设置的特定存储库。 有关详细信息,请参阅“删除自定义安全配置”。
为组织中的所有存储库配置合并保护
当满足以下条件之一时,可以使用规则集防止合并拉取请求:
-
所需工具发现了一个 code scanning 警报,其严重性是在规则集中定义的。
-
所需 code scanning 工具的分析仍在进行中。
-
未为存储库配置所需的 code scanning 工具。
有关详细信息,请参阅“设置代码扫描合并保护”。 有关规则集的更多常规信息,请参阅“关于规则集”。