# Pacotes de consulta CodeQL

Você pode escolher entre diferentes pacotes integrados de CodeQL consultas para usar em sua configuração CodeQLcode scanning.

> \[!NOTE]
> Este artigo descreve os recursos disponíveis com o pacote CodeQL CLI 2.22.4 incluído na versão inicial do GitHub Enterprise Server 3.19.
>
> Se o administrador do site atualizou a versão do CodeQL CLI para uma mais recente, confira a [versão GitHub Enterprise Cloud](/pt/enterprise-cloud@latest/code-security/concepts/code-scanning/codeql/query-packs) deste artigo para obter informações sobre os recursos mais recentes.

## Sobre CodeQL pacotes

CodeQL os pacotes são usados para criar, compartilhar, depender e executar CodeQL consultas e bibliotecas. Você pode personalizar sua CodeQL análise baixando pacotes criados por outras pessoas e executando-os em sua base de código.

Cada CodeQL pacote requer um `qlpack.yml` arquivo em seu diretório raiz que especifica:

* Como compilar as consultas
* Dependências em outros CodeQL pacotes e bibliotecas
* Definições da suíte de consultas

Para obter mais informações sobre `qlpack.yml` propriedades, consulte [Como personalizar a análise com pacotes CodeQL](/pt/enterprise-server@3.19/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#codeqlpack-yml-properties).

Além disso, um CodeQL pacote pode conter:

* Consultas personalizadas (`.ql` arquivos)
* Arquivos de biblioteca
* Pacotes de consulta
* Metadados

O CodeQL CLI pacote inclui consultas mantidas por GitHub especialistas, pesquisadores de segurança e colaboradores da comunidade. Se você quiser executar consultas desenvolvidas por outras organizações, CodeQL os pacotes de consultas fornecem uma maneira eficiente e confiável de baixar e executar consultas, enquanto os pacotes de modelo (prévia pública) podem ser usados para expandir code scanning a análise para reconhecer bibliotecas e estruturas que não têm suporte por padrão.

## Tipos de CodeQL pacotes

Há três tipos de pacotes: pacotes de CodeQL consulta, pacotes de biblioteca e pacotes de modelos.

* Os pacotes de consulta contêm um conjunto de consultas pré-compiladas que podem ser avaliadas em um CodeQL banco de dados. Os pacotes de consultas foram projetados para serem executados. Quando um pacote de consultas é publicado, o pacote inclui todas as dependências transitivas e representações pré-compiladas de cada consulta, além das fontes de consulta. Isso garante a execução consistente e eficiente das consultas no pacote.

* Os pacotes de biblioteca são projetados para serem usados por pacotes de consultas (ou outros pacotes de biblioteca) e não contêm consultas. As bibliotecas não são compiladas separadamente.

* Os pacotes de modelos podem ser usados para expandir code scanning a análise para reconhecer bibliotecas e estruturas que não têm suporte por padrão. Atualmente, os pacotes de modelos estão em prévia pública e sujeitos a alterações. Durante prévia pública, os pacotes de modelos estão disponíveis para análise C/C++, C#, Java/Kotlin, Python, e Ruby. Para obter mais informações sobre como criar seus próprios pacotes de modelo, confira [Como criar e trabalhar com pacotes do CodeQL](/pt/enterprise-server@3.19/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-and-working-with-codeql-packs#creating-a-codeql-model-pack).

## Onde encontrar pacotes de consulta

Os pacotes padrão CodeQL para todos os idiomas com suporte são publicados no [Container registry](https://github.com/orgs/codeql/packages). Se você instalou o CodeQL CLI da maneira padrão, usando o pacote CodeQL CLI, os pacotes principais de consulta já foram baixados e estão disponíveis para você. Eles são:

* `codeql/cpp-queries`
* `codeql/csharp-queries`
* `codeql/go-queries`
* `codeql/java-queries`
* `codeql/javascript-queries`
* `codeql/python-queries`
* `codeql/ruby-queries`
* `codeql/swift-queries`

Para obter mais informações sobre compatibilidade entre pacotes de consultas publicados e versões diferentes CodeQL , consulte [Referência de pacotes de consulta CodeQL](/pt/enterprise-server@3.19/code-security/reference/code-scanning/codeql/codeql-cli/codeql-query-packs#codeql-pack-compatibility).

Você também pode usar o CodeQL CLI para criar seus próprios CodeQL pacotes, adicionar dependências a pacotes e instalar ou atualizar dependências.

## Publicando e compartilhando CodeQL pacotes

Você pode compartilhar consultas personalizadas com a comunidade mais CodeQL ampla:

* Publicando em GitHub Packages: disponibilize seu pacote publicamente para outros usuários descobrirem e usarem.
* Contribuindo para o CodeQL repositório: envie consultas que beneficiariam a comunidade em geral abrindo uma solicitação de pull para o repositório oficial.

Para obter mais informações sobre publicação e download de CodeQL pacotes, consulte [Publicar e usar pacotes do CodeQL](/pt/enterprise-server@3.19/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/publishing-and-using-codeql-packs).

Para obter informações sobre como contribuir CodeQL, consulte [Contribuindo para CodeQL](https://github.com/github/codeql/blob/main/CONTRIBUTING.md).