Observação: Varredura de código está em beta em GitHub Enterprise Server 2.22. Para a versão geralmente disponível do varredura de código, atualize para a versão mais recente de GitHub Enterprise Server.
Sobre os resultados de Varredura de código em pull requests
Em repositórios onde Varredura de código está configurado como uma verificação de pull request, Varredura de código verifica o código no pull request. Por padrão, isso é limitado a pull requests que visam o branch-padrão ou branches protegidos, mas você pode alterar esta configuração em GitHub Actions ou em um sistema de CI/CD de terceiros. Se o merge das alterações introduziria novos alertas de Varredura de código no branch de destino, estes serão relatados como resultados de verificação no pull request. Os alertas também são exibidos como anotações na aba Arquivos alterados do pull request. Se você tiver permissão de gravação no repositório, você poderá ver qualquer alerta de Varredura de código existente na aba Segurança. Para obter informações sobre os alertas do repositório, consulte "Gerenciar alertas de Varredura de código do repositório".
Se Varredura de código tiver algum resultado com uma gravidade de erro
, ocorre uma falha na verificação e o erro é relatado nos resultados de verificação. Se todos os resultados encontrados por Varredura de código tiverem gravidades menores, os alertas são tratados como avisos ou notas e a verificação é considerada bem-sucedida. Se seu pull request tem como alvo um branch protegido usar Varredura de código, e o proprietário do repositório configurou as verificações de status obrigatórias, você deverá corrigir ou fechar todos os alertas de erro antes que o pull request possa ser mesclado. Para obter mais informações, consulte "Sobre branches protegidos".
Sobre Varredura de código como uma verificação de pull request
Há muitas opções para configurar Varredura de código como uma verificação de pull request. Portanto, a configuração exata de cada repositório irá variar e alguns terão mais de uma verificação. A verificação que contém os resultados de Varredura de código é: Resultados da varredura de código.
Se o repositório usar a Fluxo de trabalho de análise do CodeQL uma CodeQL / Analyze (LANGUAGE), executa-se a verificação para cada linguagem antes que a verificação de resultados seja executada. A verificação de análise pode falhar se houver problemas de configuração ou se o pull request altera a criação para uma linguagem que a análise precisa para compilar (por exemplo, C/C++, C#, ou Java). Assim como com outras verificações de pull request, você poderá ver informações completas da falha de verificação na aba de Verificações. Para obter mais informações sobre configuração e solução de problemas, consulte "Configurar Varredura de código" ou "Solução de problemas do fluxo de trabalho de CodeQL".
Triar de um alerta no seu pull request
Quando você olha para a aba Arquivos alterados para um pull request, você vê anotações para todas as linhas de código que acionaram o alerta.
Se você tiver permissão de gravação para o repositório, algumas anotações conterão links com contexto adicional para o alerta. No exemplo acima, da análise de CodeQL, você pode clicar em valor fornecido pelo usuário para ver onde os dados não confiáveis entram no fluxo de dados (isso é referido como a fonte). Neste caso, você também pode ver o caminho completo desde a fonte até o código que usa os dados (o sumidouro), clicando em Mostrar caminhos. Isto faz com que seja fácil verificar se os dados não são confiáveis ou se a análise não reconheceu uma etapa de sanitização de dados entre a fonte e o destino. Para obter informações sobre a análise do fluxo de dados usando CodeQL, consulte "Sobre a análise do fluxo de dados".
Para ver mais informações sobre um alerta, os usuários com permissão de gravação podem clicar no link Mostrar mais detalhes, exibido na anotação. Isso permite que você veja todos os contextos e metadados fornecidos pela ferramenta em uma exibição de alerta. No exemplo abaixo, você pode ver tags que mostram a gravidade, o tipo e as enumerações de fraquezas comuns relevantes (CWEs) para o problema. A vista mostra também quais commits introduziram o problema.
Na visualização detalhada de um alerta, algumas ferramentas de Varredura de código, como a análise de CodeQL também incluem uma descrição do problema e um link Mostrar mais para obter orientações sobre como corrigir seu código.
Resolver um alerta no seu pull request
Qualquer pessoa com acesso push a um pull request pode corrigir um alerta de Varredura de código que seja identificado nesse pull request. Se você fizer commit de alterações na solicitação do pull request, isto acionará uma nova execução das verificações do pull request. Se suas alterações corrigirem o problema, o alerta será fechado e a anotação removida.
Se você não considera que um alerta deve ser corrigido, os usuários com permissão de gravação podem fechar o alerta manualmente. Por exemplo, um erro no código que é usado apenas para testes ou quando o esforço de corrigir o erro é maior do que o benefício potencial de melhorar o código. O botão Fechar está disponível nas anotações e no modo de exibição de alertas se você tiver permissão de gravação no repositório.
Se você fechar um alerta de CodeQL como um resultado falso-positivo, por exemplo, porque o código usa uma biblioteca de sanitização que não é compatível, considere contribuir para o repositório CodeQL e melhorar a análise. Para obter mais informações sobre CodeQL, consulte "Contribuir para CodeQL".