# CodeQL 查询套件

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

## 什么是查询套件？

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

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

## 内置 CodeQL 查询套件

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

组织所有者和安全经理可以推荐一个查询套件，以便在整个组织中使用默认设置。 有关详细信息，请参阅“[配置大规模代码扫描的默认设置](/zh/enterprise-server@3.22/code-security/how-tos/secure-at-scale/configure-organization-security/configure-specific-tools/code-scanning-at-scale)”。

有关每个语言的每个查询套件中包含的查询的完整列表，请参阅 [CodeQL 分析查询](/zh/enterprise-server@3.22/code-security/reference/code-scanning/codeql/codeql-queries)。

### `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配置高级设置。 有关详细信息，请参阅“[配置代码扫描的高级设置](/zh/enterprise-server@3.22/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configuring-advanced-setup-for-code-scanning)”。

查询套件定义存储在扩展名为 `.qls` 的 YAML 文件中。 套件定义是一系列指令，其中每条指令都是带有（通常）单个键的 YAML 映射。 指令按它们在查询套件定义中的显示顺序执行。 执行套件定义中所有指令后，结果为一组选定的查询。 有关详细信息，请参阅“[创建 CodeQL 查询套件](/zh/enterprise-server@3.22/code-security/tutorials/customize-code-scanning/create-query-suites)”。

## 延伸阅读

* [创建 CodeQL 查询套件](/zh/enterprise-server@3.22/code-security/tutorials/customize-code-scanning/create-query-suites)