Skip to main content

CodeQL 查询套件

可以从不同的内置 CodeQL 查询套件中进行选择,以在 CodeQL code scanning设置中使用。

谁可以使用此功能?

Code scanning 可用于 GitHub.com 上的所有公共存储库。 Code scanning 也可用于使用 GitHub Enterprise Cloud 并拥有 GitHub Advanced Security 许可证的组织所拥有的专用存储库。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

关于 CodeQL 查询套件

通过 CodeQL code scanning,可以选择一组特定的 CodeQL 查询(称为 CodeQL 查询套件)以针对代码运行。 以下内置查询套件可通过 GitHub 获取:

  • default 查询套件。
  • security-extended 查询套件。 此套件在 GitHub 上被称为“扩展”查询套件。

目前,default 查询套件和 security-extended 查询套件均可用于 code scanning 的默认设置。 此外,组织所有者和安全管理员可以推荐用于整个组织的默认设置的查询套件。 有关为单个存储库配置默认设置的详细信息,请参阅“配置代码扫描的默认设置”。 有关大规模配置默认设置以及推荐查询套件的详细信息,请参阅“配置大规模代码扫描的默认设置”。

要使用自定义查询套件,必须为 CodeQL code scanning 配置高级设置。 有关高级设置和创建查询套件的详细信息,请参阅“配置代码扫描的高级设置”和“创建 CodeQL 查询套件”。

内置 CodeQL 查询套件

内置 CodeQL 查询套件 defaultsecurity-extended 由 GitHub 创建和维护。 这两个查询套件都适用于 CodeQL 支持的每种语言。 有关 CodeQL 支持的语言的详细信息,请参阅“关于使用 CodeQL 进行代码扫描”。

default 查询套件

  • default 查询套件是在 GitHub 上的 CodeQL code scanning中默认运行的一组查询。
  • default 查询套件中的查询精确度非常高,很少返回误报的code scanning结果。 相对于 security-extended 查询套件,default 套件返回的低置信度code scanning结果更少。
  • 此查询套件可与 code scanning 的默认设置配合使用。

security-extended 查询套件

  • security-extended 查询套件包含 default 查询套件中的所有查询以及精确度和严重程度稍低的其他查询。
  • 相对于 default 查询套件,security-extended 套件可能会返回更多误报的code scanning结果。
  • 此查询套件可用于 code scanning 的默认设置,且在 GitHub 上被称为“扩展”查询套件。

默认查询套件的查询列表

下文列出每种语言 defaultsecurity-extended 套件中包含的查询。 如果 Copilot Autofix 适用于某种语言,则还包含受支持查询的详细信息。

延伸阅读