Skip to main content

Pacotes de consulta CodeQL

Você pode escolher entre diferentes conjuntos de consultas internos do CodeQL a serem usados na configuração do CodeQL code scanning.

Quem pode usar esse recurso?

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

Sobre os pacotes do CodeQL

Os pacotes do CodeQL são usados para criar, compartilhar, gerar dependência e executar consultas e bibliotecas do CodeQL. Os pacotes do CodeQL contêm consultas, arquivos de biblioteca, conjuntos de consultas e metadados. Você pode personalizar suas análises do CodeQL baixando pacotes criados por outras pessoas e executando-os em sua base de código.

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

Tipos de pacotes CodeQL

Há três tipos de pacotes do CodeQL: pacotes de consultas, 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 banco de dados do CodeQL. 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.

  • Pacotes de modelos podem ser usados para expandir análises do code scanning para reconhecer bibliotecas e estruturas para as quais não há suporte por padrão. No momento, os pacotes de modelos estão em versão prévia pública e estão sujeitos a alterações. Durante o versão prévia pública, os pacotes de modelo estão disponíveis para análise do 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 do CodeQL para todas as linguagens com suporte estão publicados no Container registry. Se você instalou a CodeQL CLI da maneira padrão, usando o pacote da CodeQL CLI, os pacotes de consulta principais já foram baixados e já estão disponíveis. 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

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

Você pode publicar os pacotes do CodeQL que criou, usando a CodeQL CLI. Para obter mais informações sobre a publicação e o download de pacotes do CodeQL, consulte Publicar e usar pacotes do CodeQL.