Skip to main content

Enterprise Server 3.21 está disponível no momento como versão candidata a lançamento.

Pacotes de consulta CodeQL

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

Quem pode usar esse recurso?

O CodeQL está disponível para os seguintes tipos de repositórios:

Observação

Este artigo descreve os recursos disponíveis com o pacote CodeQL CLI 2.24.3 incluído na versão inicial do GitHub Enterprise Server 3.21.

Se o administrador do site atualizou a versão do CodeQL CLI para uma mais recente, confira a versão GitHub Enterprise Cloud 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.

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, Ruby e Rust. Para obter mais informações sobre como criar seus próprios pacotes de modelo, confira Como criar e trabalhar com pacotes do CodeQL.

Onde encontrar pacotes de consulta

Os pacotes padrão CodeQL para todos os idiomas com suporte são publicados no Container registry. 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.

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.

Para obter informações sobre como contribuir CodeQL, consulte Contribuindo para CodeQL.