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.

Alertas de varredura de código de triagem em pull requests

Quando Varredura de código identifica um problema em um pull request, você poderá revisar o código destacado e resolver o alerta.

If you have write permission to a repository, you can resolve Varredura de código alerts for that repository.

Varredura de código is available in public repositories, and in private repositories owned by organizations with an Segurança Avançada license. Para obter mais informações, consulte "produtos de GitHub

Neste artigo

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. By default, this is limited to pull requests that target the default branch, but you can change this configuration within GitHub Actions or in a third-party CI/CD system. 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. If your pull request targets a protected branch that has been enabled for Varredura de código, and the repository owner has configured required status checks, then you must either fix or dismiss all error alerts before the pull request can be merged. Para obter mais informações, consulte "Sobre verificações de status obrigatórias".

Ocorreu uma falha na verificação de Varredura de código em um pull request

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 de Varredura de código".

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.

Alerta de anotação em um diff de pull request

Algumas anotações contêm links com contexto extra 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ê pode visualizar o caminho completo da fonte até o código que usa os dados (o destino), 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 obter mais informações sobre um alerta, clique em Mostrar mais informações 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.

Descrição do alerta e link para mostrar mais informações

Fixing an alert on your pull request

Qualquer pessoa com permissão de gravação em um repositório pode corrigir um alerta de Varredura de código identificado em um 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.

Ignorar um alerta no seu pull request

Uma forma alternativa de fechar um alerta é ignorá-lo. Você pode descartar um alerta se não acha que ele precisa ser corrigido. 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. Se você tem permissão de gravação no repositório, o botão Ignorar estará disponível nas anotações de código e no resumo de alertas. Ao clicar em Ignorar será solicitado que você escolha um motivo para fechar o alerta.

Escolher um motivo para ignorar um alerta

É importante escolher o motivo apropriado no menu suspenso, pois isso pode afetar se uma consulta continua sendo incluída em análise futura.

If you dismiss a CodeQL alert as a false positive result, for example because the code uses a sanitization library that isn't supported, consider contributing to the CodeQL repository and improving the analysis. Para obter mais informações sobre CodeQL, consulte "Contribuir para CodeQL".

Para obter mais informações sobre alertas ignorados, consulte "Gerenciar alertas de Varredura de código para o seu repositório".

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.