{"meta":{"title":"CodeQL 查询包","intro":"可以从不同的内置 CodeQL 查询套件中进行选择，以在 CodeQL code scanning设置中使用。","product":"安全性和代码质量","breadcrumbs":[{"href":"/zh/code-security","title":"安全性和代码质量"},{"href":"/zh/code-security/concepts","title":"Concepts"},{"href":"/zh/code-security/concepts/code-scanning","title":"代码扫描"},{"href":"/zh/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/zh/code-security/concepts/code-scanning/codeql/codeql-query-packs","title":"CodeQL 查询包"}],"documentType":"article"},"body":"# CodeQL 查询包\n\n可以从不同的内置 CodeQL 查询套件中进行选择，以在 CodeQL code scanning设置中使用。\n\n## 关于 CodeQL 包\n\nCodeQL 包用于创建、共享、依赖和运行 CodeQL 查询和库。 可以通过下载其他人创建的包并在代码库上运行这些包来自定义 CodeQL 分析。\n\n每个 CodeQL 包的根目录中都需要一个 `qlpack.yml` 文件，该文件需指定：\n\n* 如何编译查询\n* 对其他 CodeQL 包和库的依赖关系\n* 查询套件定义\n\n有关 `qlpack.yml` 属性的详细信息，请参阅 [使用 CodeQL 包自定义分析](/zh/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#codeqlpack-yml-properties)。\n\n此外，一个CodeQL包可以包含：\n\n* 自定义查询（`.ql` 文件）\n* 库文件\n* 查询套件\n* 元数据\n\nCodeQL CLI 捆绑包中包括由 GitHub 专家、安全研究人员和社区贡献者维护的查询。 如果要运行其他组织开发的查询，CodeQL 查询包提供了一种高效、可靠的方法来下载和运行查询，而模型包 (公共预览版) 可用于扩展 code scanning 分析，以识别默认不支持的库和框架。\n\n## CodeQL 类型的包\n\n有三种类型的 CodeQL 包：查询包、库包和模型包。\n\n* 查询包包含一组预编译的查询，这些查询可在 CodeQL 数据库上进行评估。 查询包是为运行而设计的。 发布查询包时，除了查询源外，捆绑包还包括每个查询的所有可传递依赖项和预编译表示形式。 这可确保一致且高效地执行包中的查询。\n\n* 库包旨在供查询包（或其他库包）使用，并且不包含查询本身。 库不会单独编译。\n\n* 模型包可用于扩展 code scanning 分析，以识别默认情况下不支持的库和框架。 模型包目前处于 公共预览版 阶段，可能会发生变化。 在 公共预览版 期间，模型包可用于 C/C++、C#、Java/Kotlin、Python、Ruby 和 Rust 分析。 有关创建自己的模型包的详细信息，请参阅 [创建并使用 CodeQL 包](/zh/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-and-working-with-codeql-packs#creating-a-codeql-model-pack)。\n\n## 在何处查找查询包\n\n所有受支持语言的标准 CodeQL 包在 [Container registry](https://github.com/orgs/codeql/packages) 中发布。 如果使用 CodeQL CLI 捆绑包以标准方式安装 CodeQL CLI，则核心查询包已下载并可供使用。 它们分别是：\n\n* `codeql/cpp-queries`\n* `codeql/csharp-queries`\n* `codeql/go-queries`\n* `codeql/java-queries`\n* `codeql/javascript-queries`\n* `codeql/python-queries`\n* `codeql/ruby-queries`\n* `codeql/swift-queries`\n\n有关已发布查询包与不同 CodeQL 版本之间兼容性的详细信息，请参阅 [CodeQL 查询包参考](/zh/code-security/reference/code-scanning/codeql/codeql-cli/codeql-query-packs#codeql-pack-compatibility)。\n\n还可以使用 CodeQL CLI 创建你自己的 CodeQL 包、向包添加依赖项以及安装或更新依赖项。\n\n## 发布和共享 CodeQL 包\n\n可以通过以下方法与更广泛的 CodeQL 社区共享自定义查询：\n\n* 发布到 GitHub Packages：使你的包公开可用，供其他用户发现和使用。\n* 向 CodeQL 存储库贡献内容：通过向官方存储库提交拉取请求，提交将使更广泛社区受益的查询。\n\n有关发布和下载 CodeQL 包的详细信息，请参阅 [发布及使用 CodeQL 包](/zh/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/publishing-and-using-codeql-packs)。\n\n有关向 CodeQL 贡献内容的信息，请参阅[向 CodeQL 贡献内容](https://github.com/github/codeql/blob/main/CONTRIBUTING.md)。"}