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.

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 read permission for a repository, you can see annotations on pull requests. With write permission, you can see detailed information and resolve Varredura de código alerts for that repository.

Varredura de código is available for all public repositories. Varredura de código is also available in private repositories owned by organizations that use GitHub Enterprise Cloud and have a license for Segurança Avançada GitHub. Para obter mais informações, consulte "Sobre Segurança Avançada GitHub".

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 fazer merge das alterações introduzirá novos alertas de Varredura de código no branch de destino, os alertas serão relatados em vários lugares.

  • Verifique o resultado no pull request de
  • A guia Conversa do pull request, como parte de uma revisão de pull request
  • A aba Arquivos alterarados 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".

Em repositórios em que Varredura de código está configurado para digitalizar sempre que o código é enviado por push, o Varredura de código também mapeará os resultados com qualquer solicitação de pull pull aberto e irá adicionar os alertas como anotações nos mesmos lugares que as outras verificações de pull request. Para obter mais informações, consulte "Digitalizando ao enviar por push".

Se o seu pull request for direcionado a um branch protegido que usa Varredura de código e o proprietário do repositório tiver configurado as verificações de status necessárias, a verificação de "resultados de Varredura de código" deve passar antes que você possa fazer o merge do pull request. 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.

Verificação de resultados de Varredura de código

Para todas as configurações de Varredura de código, a verificação que contém os resultados de Varredura de código é: resultados de Varredura de código. Os resultados de cada ferramenta de análise utilizada são mostrados separadamente. Todos os novos alertas gerados por alterações no pull request são exibidos como anotações.

Para ver o conjunto completo de alertas para o branch analisado, clique em Ver todos os alertas do branch. Isso abre a visualização completa de alerta onde você pode filtrar todos os alertas sobre o branch por tipo, gravidade, tag, etc. Para obter mais informações, consulte "Gerenciar alertas de varredura de código para seu repositório. "

Verificação de resultados de Varredura de código em um pull request

Falhas de verificação de resultados Varredura de código

Se os resultados Varredura de código encontrarem algum problema com uma gravidade de erro, grave ou alto, a verificação irá falhar e o erro será relatado nos resultados da verificação. Se todos os resultados encontrados por Varredura de código tiverem gravidades menores, os alertas serão tratados como avisos ou observações e a verificação será considerada bem-sucedida.

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

Você pode substituir o comportamento padrão nas configurações do repositório, ao especificar o nível de gravidade e gravidade de segurança que causarão uma falha de verificação de pull request. Para obter mais informações, consulteDefinir as gravidades causadoras da falha de verificação de pull request".

Outras verificações de Varredura de código

Dependendo da sua configuração, você poderá ver verificações adicionais em execução em pull requests com Varredura de código configurados. Estes são geralmente fluxos de trabalho que analisam o código ou que fazem o upload dos resultados de Varredura de código. Essas verificações são úteis para a resolução de problemas em caso de problemas com a análise.

Por exemplo, se o repositório usar o Fluxo de trabalho de análise do CodeQL, será executada uma verificação de CodeQL / Analyze (LANGUAGE) 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".

Visualizando um alerta no seu pull request

Você pode ver quaisquer alertas de Varredura de código introduzidos em um pull request visualizando a guia Conversa. Varredura de código publica uma revisão de pull request que mostra cada alerta como uma anotação nas linhas de código que acionou o alerta. Você pode comentar nos alertas, ignorar os alertas e ver os caminhos para os alertas, diretamente das anotações. Você pode ver os detalhes completos de um alerta clicando no link "Mostrar mais detalhes" que levará você à página de detalhes do alerta.

Anotações de alerta em uma aba de conversas de pull request

Você também pode ver todos os alertas de Varredura de código na guia Arquivos alterados do pull request. Os alertas existentes de Varredura de código em um arquivo que estão fora do diff das alterações introduzidas no pull request só aparecerão na guia Arquivos alterados.

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.

The status and details on the alert page only reflect the state of the alert on the default branch of the repository, even if the alert exists in other branches. You can see the status of the alert on non-default branches in the Affected branches section on the right-hand side of the alert page. If an alert doesn't exist in the default branch, the status of the alert will display as "in pull request" or "in branch" and will be colored grey.

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

Comentando em um alerta em um pull request

Você pode comentar em qualquer alerta de Varredura de código introduzido pelas alterações em um pull request. Os alertas aparecem como anotações na guia Conversa de um pull request, como parte de uma revisão de pull request, e também são exibidos na aba Arquivos alterados. Você só pode comentar em alertas introduzidos pelas alterações em um pull request. Os alertas existentes de Varredura de código, em arquivos que estão fora das alterações introduzidas no pull request, aparecerão na guia Arquivos alterados mas não pode recever comentários.

Você pode optar por exigir todas as conversas em um pull request, incluindo aquelas em alertas de Varredura de código a serem resolvidas antes que um pull request possa receber merge. Para obter mais informações, consulte "Sobre branches protegidos."

Corrigir de 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.

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.

Captura de tela do alerta de verificação de código com menu suspenso para escolher o motivo da rejeição destacado

É importante escolher o motivo apropriado no menu suspenso, pois isso pode afetar se uma consulta continua sendo incluída em análise futura. Optionally, you can comment on a dismissal to record the context of an alert dismissal. The dismissal comment is added to the alert timeline and can be used as justification during auditing and reporting. You can retrieve or set a comment by using the code scanning REST API. The comment is contained in dismissed_comment for the alerts/{alert_number} endpoint. For more information, see "Code Scanning."

Se você ignorar um alerta de CodeQL como um falso resultado positivo, por exemplo, porque o código usa uma biblioteca de sanitização incompatível, considere contribuir para o repositório de CodeQL e melhorar a análise. Para obter mais informações sobre CodeQL, consulte "Contribuir para CodeQL".

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