Dependendo da configuração, code scanning os resultados podem aparecer como resultados de verificação e anotações em solicitações de pull. Para saber mais, confira Sobre alertas de digitalização de códigos.
Exibindo os resultados da verificação code scanning
Para todas as configurações do code scanning, a verificação que contém os resultados do code scanning é: Resultados do Code scanning . Os resultados de cada ferramenta de análise utilizada são mostrados separadamente. Quaisquer novos alertas sobre linhas de código alteradas na solicitação de pull 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 abre a visualização completa de alertas, onde você pode filtrar todos os alertas da ramificação por tipo, gravidade, tag etc. Para obter mais informações, consulte Avaliar alertas de varredura de código para seu repositório.

Gerenciando níveis de severidade para falhas de verificação
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.

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 saber mais, confira Opções de configuração de fluxo de trabalho para verificação de código.
Diagnosticando problemas com sua configuração 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 interromper a compilação para uma linguagem que a análise compila (por exemplo, C/C++, C#, Go, Java, Kotlin, Rust, e Swift).
Assim como em outras verificações de solicitações de pull, você pode ver todos os detalhes da falha na aba Verificações. Para obter mais informações sobre configuração e resolução de problemas, consulte Opções de configuração de fluxo de trabalho para verificação de código ou Solução de erros de análise de escaneamento de código.
Visualizando um alerta no seu pull request
Você pode ver quaisquer alertas de code scanning que estejam dentro do diff das alterações introduzidas em uma solicitação de pull, visualizando a aba Conversação. Code scanning publica uma revisão de solicitação de pull que mostra cada alerta como uma anotação nas linhas de código que o acionaram. Você pode comentar os alertas, ignorar os alertas e ver os caminhos para os alertas, diretamente nas anotações. Você pode ver os detalhes completos de um alerta clicando no link "Mostrar mais detalhes", que acessa a página de detalhes do alerta.

Você também pode visualizar todos os alertas code scanning que estão dentro do diff das alterações introduzidas na solicitação de pull na aba Arquivos alterados.
Se você adicionar uma nova configuração de verificação de código em sua solicitação de pull, verá um comentário na sua solicitação de pull direcionando você para a aba Segurança do repositório para que você possa visualizar todos os alertas na ramificação da solicitação de pull. Para obter mais informações sobre como visualizar os alertas de um repositório, consulte Avaliar alertas de varredura de código para seu repositório.
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 CodeQL, consulte Sobre a análise do 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.
O status e os detalhes na página de alerta refletem apenas o estado do alerta no branch padrão do repositório, mesmo que o alerta exista em outros branches. Você pode ver o status do alerta em branches não padrão na seção Branches afetados no lado direito da página de alerta. Se um alerta não existir no branch padrão, o status do alerta será exibido como "na solicitação de pull" ou "no branch" e será cinza. A seção Development mostra branches vinculados e pull requests que corrigirão o alerta.
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.

Como comentar um alerta em uma solicitação de pull
Você pode comentar em qualquer alerta code scanning que apareça em uma solicitação de pull. Os alertas aparecem como anotações na aba Conversação de uma solicitação de pull, como parte de uma revisão de solicitação de pull e também são exibidas na aba Arquivos alterados.
Você pode exigir que todas as conversas em uma solicitação de pull, incluindo as relacionadas a alertas de code scanning sejam resolvidas antes que a solicitação de pull possa ser mesclada. Para saber mais, confira Sobre os branches protegidos.
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.
Trabalhando com sugestões de alertas em uma solicitação de pull usando Autofixo do Copilot
Correção Automática do GitHub Copilot é uma extensão de code scanning que fornece recomendações específicas para ajudar você a corrigir alertas de code scanning (incluindo alertas de CodeQL) em solicitações de pull. As possíveis correções são geradas automaticamente por grandes modelos de linguagem (LLMs) usando dados do código-fonte, da solicitação de pull e da análise code scanning.
Observação
Você não precisa de uma assinatura do GitHub Copilot para usar o Correção Automática do GitHub Copilot. O Autofixo do Copilot está disponível para todos os repositórios públicos no GitHub.com, bem como repositórios internos ou privados de propriedade de organizações e empresas que tenham uma licença para o GitHub Code Security.

Gerando sugestões de Autofixo do Copilot e publicando em uma solicitação de pull
Quando Autofixo do Copilot está habilitado para um repositório, os alertas são exibidos normalmente nas solicitações de pull e as informações de quaisquer alertas encontrados por code scanning são enviadas automaticamente para o LLM para processamento. Quando a análise do LLM é concluída, todos os resultados são publicados como comentários sobre alertas relevantes. Para saber mais, confira Uso responsável da Correção Automática do Copilot para verificação de código.
Observação
- Autofixo do Copilot suporta um subconjunto de consultas CodeQL. Para obter informações sobre a disponibilidade de Autofixo do Copilot, consulte as tabelas de consulta vinculadas a partir de Consultas para análise de CodeQL.
- Quando a análise estiver concluída, todos os resultados relevantes serão publicados na solicitação de pull de uma só vez. Se pelo menos um alerta em sua solicitação de pull tiver uma sugestão Autofixo do Copilot, você deve presumir que o LLM terminou de identificar possíveis correções para o seu código.
- Nos alertas gerados por consultas que não são suportadas por Autofixo do Copilot, você verá uma nota informando que a consulta não é suportada. Se uma sugestão para uma consulta com suporte não for gerada, você verá uma nota no alerta solicitando que você tente enviar outro commit ou entre em contato com o suporte.
- O Autofixo do Copilot para alertas do code scanning não poderá gerar uma correção para cada alerta em cada situação. O recurso opera com base no melhor esforço e não tem a garantia de ter êxito em 100% das vezes. Para obter informações sobre as limitações das correções geradas automaticamente, confira Limitações das sugestões.
Normalmente, quando você sugere alterações em uma solicitação de pull, seu comentário contém alterações para um único arquivo que é alterado na solicitação de pull. A captura de tela a seguir mostra um comentário Autofixo do Copilot que sugere alterações no arquivo index.js onde o alerta é exibido. Como a possível correção exige uma nova dependência no escape-html, o comentário também sugere adicionar essa dependência ao arquivo package.json, mesmo que a solicitação de pull original não faça alterações nesse arquivo.

Avaliando e confirmando uma sugestão de Autofixo do Copilot
Cada sugestão Autofixo do Copilot demonstra uma possível solução para um alerta code scanning em sua base de código. Avalie as alterações sugeridas para determinar se elas são uma boa solução para sua base de código e para garantir que elas mantenham o comportamento pretendido. Para obter informações sobre as limitações das sugestões de Autofixo do Copilot, consulte Limitações das sugestões e Mitigando as limitações das sugestões em "Uso responsável de Autofixo do Copilot para code scanning."
- Clique em Editar para exibir as opções de edição e selecione o seu método preferencial.
- Em Editar com GitHub CLI, siga as instruções para baixar a solicitação de pull localmente e aplicar a correção sugerida.
- Selecione Editar FILENAME para editar o arquivo diretamente em GitHub com a correção sugerida aplicada.
- Opcionalmente, se você preferir aplicar a correção em um repositório local ou branch, selecione o menu suspenso na sugestão.
- Selecione Exibir patch de correção automática para exibir instruções para aplicar a correção sugerida a qualquer repositório local ou branch.
- Selecione Copiar linha modificada LINE_NUMBER para copiar uma linha específica da sugestão.
- Teste e modifique a correção sugerida conforme necessário.
- Quando terminar de testar as alterações, confirme-as e envie-as para a ramificação.
- O envio das alterações para sua ramificação acionará todos os testes usuais para sua solicitação de pull. Confirme se os testes de unidade ainda são aprovados e se o alerta de code scanning agora foi corrigido.
Rejeitando uma sugestão de Autofixo do Copilot
Se você decidir rejeitar uma sugestão, clique em Rejeitar sugestão nos comentários para rejeitar a correção sugerida.
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 a permissão de gravação no repositório, um botão Ignorar alerta estará disponível nas anotações de código e no resumo de alertas. Quando você clicar em Ignorar alerta, precisará escolher um motivo para fechar o alerta.

É importante escolher o motivo apropriado no menu suspenso, pois isso pode afetar se uma consulta continua sendo incluída em análise futura. Opcionalmente, você pode fazer um comentário para registrar o contexto de um alerta ignorado. O comentário sobre o alerta ignorado é adicionado à linha do tempo do alerta e pode ser usado como justificativa em auditorias e relatórios. Você pode recuperar ou definir um comentário usando a API REST de verificação de código. O comentário está contido no dismissed_comment do ponto de extremidade alerts/{alert_number}. Para saber mais, confira Pontos de extremidade da API REST para varredura de código.
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 ignorar alertas, consulte Resolver alertas de varredura de código.