Skip to main content

Sobre a varredura de código

Você pode usar code scanning para encontrar vulnerabilidades e erros de segurança no código do seu projeto no GitHub.

Quem pode usar esse recurso?

Code scanning is available for the following repository types:

  • Public repositories on GitHub.com
  • Organization-owned repositories on GitHub Team, GitHub Enterprise Cloud, or GitHub Enterprise Server, with GitHub Code Security enabled.

A Code scanning é um recurso que você usa para analisar o código em um repositório GitHub para encontrar vulnerabilidades de segurança e erros de codificação. Os problemas que forem identificados pela análise serão mostrados em seu repositório.

Você pode usar code scanning para encontrar, triar e priorizar correções de problemas existentes em seu código. O Code scanning também impede que os desenvolvedores introduzam novos problemas. Você pode agendar verificações para dias e horas específicos ou disparar verificações quando um evento específico ocorrer no repositório, como um push.

Se code scanning encontrar uma vulnerabilidade potencial ou erro no seu código, GitHub exibirá um alerta no repositório. Depois de corrigir o código que desencadeou o alerta, GitHub fechará o alerta. Para saber mais, confira Resolvendo alertas de varredura de código.

O Correção automática do GitHub Copilot sugerirá correções para alertas da análise do code scanning, permitindo que os desenvolvedores evitem e reduzam vulnerabilidades com menos esforço. Para saber mais, confira Uso responsável da Correção Automática do Copilot para verificação de código.

Para monitorar os resultados de code scanning nos seus repositórios ou organização, você pode usar webhooks e a API de code scanning. Para obter informações sobre os webhooks para code scanning, consulte Eventos e cargas de webhook. Para obter informações sobre os pontos de extremidade da API, consulte Pontos de extremidade da API REST para varredura de código.

Para começar a usar code scanning, consulte Configuring default setup for code scanning.

Sobre a cobrança da code scanning

O Code scanning usa GitHub Actions, e cada execução de um fluxo de trabalho do code scanning consome minutos para GitHub Actions. Para saber mais, confira Cobrança do GitHub Actions.

Para usar o code scanning em um repositório privado, também será necessário ter uma licença para o GitHub Code Security. Para obter informações sobre como é possível testar o GitHub Enterprise com o GitHub Advanced Security de forma gratuita, confira Configurar uma versão de avaliação do GitHub Enterprise Cloud e Como configurar uma avaliação gratuita do GitHub Advanced Security na documentação do GitHub Enterprise Cloud.

Sobre ferramentas para code scanning

Você pode configurar o code scanning para usar o produto CodeQL mantido pela GitHub ou uma ferramenta de terceiros code scanning.

Sobre a análise de 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 code scanning. Para obter mais informações sobre CodeQL, consulte Sobre a varredura de código com CodeQL.

Sobre ferramentas de code scanning de terceiros

A Code scanning é interoperável com ferramentas de verificação de código de terceiros que geram dados SARIF (Static Analysis Results Interchange Format). SARIF é um padrão aberto. Para saber mais, confira Suporte SARIF para a varredura de código.

Você pode executar ferramentas de análise de terceiros dentro do GitHub usando ações ou dentro de um sistema de CI externo. Para saber mais, confira Configuring advanced setup for code scanning ou Uploading a SARIF file to GitHub.

Sobre a página de status da ferramenta

A página de status da ferramenta mostra informações úteis sobre todas as ferramentas de verificação de código. Se a verificação de código não estiver funcionando como você esperava, a página de status da ferramenta será um bom ponto de partida para problemas de depuração. Para saber mais, confira About the tool status page for code scanning.