Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Sobre a digitalização de código com CodeQL

Você pode usar CodeQL para identificar vulnerabilidades e erros no seu código. Os resultados são exibidos como alertas de Varredura de código em GitHub.

Varredura de código is available for all public repositories, and for private repositories owned by organizations where Segurança Avançada GitHub is enabled. Para obter mais informações, consulte "Sobre Segurança Avançada GitHub".

Sobre Varredura de código com CodeQL

CodeQL é o mecanismo de análise de código desenvolvido por GitHub para automatizar verificações de segurança. Você pode analisar seu código usando CodeQL e exibir os resultados como alertas de Varredura de código.

Existem duas maneiras principais de usar CodeQL análise para Varredura de código:

Sobre o CodeQL

O CodeQL trata o código como dados, permitindo que você encontre possíveis vulnerabilidades em seu código com maior confiança do que os analisadores estáticos tradicionais.

  1. Você gera um banco de dados de CodeQL para representar a sua base de código.
  2. Em seguida, você executa consultas de CodeQL nesse banco de dados para identificar problemas na base de código.
  3. Os resultados da consulta são exibidos como alertas de Varredura de código em GitHub Enterprise Cloud quando você usa CodeQL com Varredura de código.

O CodeQL é compatível com linguagens compiladas e interpretadas e é capaz de encontrar vulnerabilidades e erros no código escrito nos idiomas suportados.

  • C/C++
  • C#
  • Go
  • Java
  • JavaScript/TypeScript
  • Python
  • Ruby

Note: CodeQL analysis for Ruby is currently in beta. During the beta, analysis of Ruby will be less comprehensive than CodeQL analysis of other languages.

For more information, see the documentation on the CodeQL website: "Supported languages and frameworks."

Sobre consultas de CodeQL

GitHub especialistas, pesquisadores de segurança e contribuidores da comunidade escrevem e mantêm as consultas padrão de CodeQL usadas por Varredura de código. As consultas são regularmente atualizadas para melhorar a análise e reduzir quaisquer resultados falso-positivos. As consultas são de código aberto.Portanto, você pode ver e contribuir para as consultas no repositório github/codeql. Para obter mais informações, consulte CodeQL no site CodeQL Você também pode escrever suas próprias consultas. Para obter mais informações, consulte "Sobre CodeQL consultas" na documentação do CodeQL.

Você pode executar consultas adicionais como parte da sua análise de digitalização de código. Essas consultas devem pertencer a um pacote de consulta de CodeQL publicado (beta) ou um pacote QL em um repositório. Os pacotes (beta) de CodeQL oferecem os seguintes benefícios sobre os pacotes QL tradicionais:

  • Quando um pacote de consulta (beta) CodeQL é publicado em GitHub Container registry, todas as dependências transitórias exigidas pelas consultas e um cache de compilação estão incluídas no pacote. Isto melhora o desempenho e garante que a execução de consultas no pacote dê resultados idênticos toda vez até que você fizer a autalização para uma nova versão do pacote ou para o CLI.
  • Os pacotes de QL não incluem dependências transitórias. Portanto, as consultas no pacote podem depender apenas das bibliotecas padrão (ou seja, as bibliotecas referenciadas por uma instrução LINGUAGEM de importação na sua consulta), ou bibliotecas no mesmo pacote QL da consulta.

Para obter mais informações, consulte "Sobre pacotes de CodeQL" e "Sobre pacotes de QL" na documentação de CodeQL.

Note: The CodeQL package management functionality, including CodeQL packs, is currently in beta and subject to change.