Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Esta versão do GitHub Enterprise foi descontinuada em 2023-03-15. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

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

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

Who can use this feature

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 code scanning alerts for that repository.

A Code scanning está disponível para os repositórios pertencentes à organização do GitHub Enterprise Server. Esse recurso exige uma licença do GitHub Advanced Security. Para obter mais informações, confira "About GitHub Advanced Security".

Sobre os resultados de code scanning em pull requests

Em repositórios onde code scanning está configurado como uma verificação de pull request, code scanning 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 a mesclagem das alterações for gerar novos alertas de code scanning no branch de destino, os alertas serão relatados em vários locais.

  • Verificar os resultados na solicitação de pull
  • A guia Arquivos alterados da solicitação de pull

Se você tiver permissão de gravação no repositório, poderá ver todos os alertas existentes da code scanning na guia Segurança. Para obter informações sobre os alertas do repositório, confira "Como gerenciar alertas da code scanning para seu repositório".

Nos repositórios em que a code scanning estiver configurada para verificar o código sempre que ele é enviado por push, a code scanning também mapeará os resultados a qualquer solicitação de pull aberta e adicionará os alertas como anotações nos mesmos lugares que as outras verificações de solicitação de pull. Para obter mais informações, confira "Como personalizar a code scanning".

Se o seu pull request for direcionado a um branch protegido que usa code scanning e o proprietário do repositório tiver configurado as verificações de status necessárias, a verificação de "resultados de " deve passar antes que você possa fazer o merge do pull request. Para obter mais informações, confira "Sobre os branches protegidos".

Sobre code scanning como uma verificação de pull request

Há muitas opções para configurar code scanning como uma verificação de solicitação de pull. 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

Para todas as configurações da code scanning, a verificação que contém os resultados da code scanning é: Resultados da . 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 do branch analisado, clique em Exibir todos os alertas do branch. Isso abrirá a exibição completa do alerta em que você poderá filtrar todos os alertas do branch por tipo, severidade, marca etc. Para obter mais informações, confira "Como gerenciar alertas da verificação de código para seu repositório".

Verificação de resultados de  em uma solicitação de pull

Falhas de verificação de resultados

Se a verificação de resultados de code scanning encontrar problemas com uma severidade error, critical ou high, a verificação falhará e o erro será relatado nos resultados da verificação. Se todos os resultados encontrados por code scanning 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 code scanning em um pull request

Você pode substituir o comportamento padrão nas configurações do repositório especificando o nível de severidades e as severidades de segurança que causarão falha da solicitação de pull. Para obter mais informações, confira "Como personalizar a code scanning".

Outras verificações de code scanning

Dependendo da sua configuração, você poderá ver verificações adicionais em execução em pull requests com code scanning configurados. Estes são geralmente fluxos de trabalho que analisam o código ou que fazem o upload dos resultados de code scanning. 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, uma verificação CodeQL/Analisar (LINGUAGEM) será executada 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 acontece com outras verificações de solicitação de pull, você pode ver detalhes completos da falha de verificação na guia Verificações. Para obter mais informações sobre a configuração e a resolução de problemas, confira "Como personalizar a code scanning" ou "Solução de problemas do fluxo de trabalho do CodeQL".

Visualizando um alerta no seu pull request

Você pode ver os alertas de code scanning introduzidos em uma solicitação de pull acessando a guia Arquivos alterados. Cada alerta é mostrado como uma anotação nas linhas de código que dispararam o alerta. A gravidade do alerta é exibida na anotação.

Anotação de alerta em uma comparação de solicitação de pull

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, na análise do CodeQL, clique no valor fornecido pelo usuário para ver em que ponto os dados não confiáveis entram no fluxo de dados (isso é conhecido como a origem). Nesse caso, você também pode ver o caminho completo do código-fonte do código que usa os dados (o coletor) 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 como analisar o fluxo de dados usando o CodeQL, confira "Sobre a análise de fluxo de dados".

Para ver mais informações sobre um alerta, os usuários com a permissão de gravação podem clicar no link Mostrar mais detalhes mostrado 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 exibição detalhada de um alerta, algumas ferramentas da code scanning, como a análise do CodeQL, também incluem uma descrição do problema e um link Mostrar mais para obter diretrizes sobre como corrigir seu código.

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

Corrigir de um alerta no seu pull request

Qualquer pessoa com acesso push a um pull request pode corrigir um alerta de code scanning 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ê tiver 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. Quando você clicar em Ignorar, precisará escolher um motivo para fechar o alerta. Como 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.

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, confira "Contribuir para CodeQL".

Para obter mais informações sobre como ignorar alertas, confira "Como gerenciar alertas de code scanning no repositório".