Skip to main content

CodeQL 查询套件

你可以从不同的内置 CodeQL 查询套件中进行选择,用于你的 CodeQLcode scanning 设置。

谁可以使用此功能?

CodeQL 可用于以下存储库类型:

什么是查询套件?

查询套件允许将多个查询 CodeQL 传递到,而无需单独指定每个查询文件的路径。 它们提供一种根据查询的文件名、元数据属性或磁盘或包中 CodeQL 的位置选择查询的方法。

应对要在分析中 CodeQL 经常使用的查询使用查询套件。 可以使用可用的 GitHub内置查询套件,也可以创建自己的查询套件。

内置 CodeQL 查询套件

内置 CodeQL 查询套件, default 并由 security-extended其 GitHub创建和维护。 这两个查询套件都可用于每个 CodeQL受支持的语言的默认设置。

组织所有者和安全经理可以推荐一个查询套件,以便在整个组织中使用默认设置。 有关详细信息,请参阅“配置大规模代码扫描的默认设置”。

有关每个语言的每个查询套件中包含的查询的完整列表,请参阅 CodeQL 分析查询

default 查询套件

  • 查询 default 套件是默认在 CodeQLcode scanning 以下 GitHub情况下运行的查询组。
  • 查询套件中的 default 查询高度精确,并且返回的误报 code scanning 结果很少。 相对于 security-extended 查询套件,该 default 套件返回的低置信度 code scanning 结果更少。
  • 此查询套件可用于默认设置 code scanning。

security-extended 查询套件

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

自定义查询套件

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

查询套件定义存储在扩展名为 .qls 的 YAML 文件中。 套件定义是一系列指令,其中每条指令都是带有(通常)单个键的 YAML 映射。 指令按它们在查询套件定义中的显示顺序执行。 执行套件定义中所有指令后,结果为一组选定的查询。 有关详细信息,请参阅“创建 CodeQL 查询套件”。

延伸阅读