Gerenciar alertas de verificação de código para o seu repositório

Da visão de segurança, você pode visualizar, corrigir, ignorar ou excluir alertas de potenciais vulnerabilidades ou erros no código do seu projeto.

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

Varredura de código is available for all public repositories, and for private repositories owned by organizations where Segurança Avançada GitHub is enabled. Para obter mais informações, consulte "Sobre Segurança Avançada GitHub".

Sobre os alertas de Varredura de código

Você pode configurar Varredura de código para verificar o código em um repositório usando a análise-padrão de CodeQL, uma análise de terceiros ou vários tipos de análise. Quando a análise for concluída, os alertas resultantes serão exibidos lado a lado na visualização de segurança do repositório. Os resultados de ferramentas de terceiros ou de consultas personalizadas podem não incluir todas as propriedades que você vê para alertas detectados pela análise-padrão CodeQL de GitHub. Para obter mais informações, consulte "Configurar Varredura de código para um repositório".

Por padrão, Varredura de código analisa seu código periodicamente no branch-padrão e durante os pull requests. Para obter informações sobre o gerenciamento de alertas em um pull request, consulte "Triar aletras de Varredura de código em pull requests".

Note: SARIF upload supports a maximum of 5000 results per upload. Todos os resultados acima deste limite são ignorados. Se uma ferramenta gerar muitos resultados, você deverá atualizar a configuração para focar nos resultados para as regras ou consultas mais importantes.

Sobre detalhes de alertas

Cada alerta destaca um problema com o código e o nome da ferramenta que o identificou. Você pode ver a linha de código que acionou o alerta, bem como propriedades do alerta, como, por exemplo, a gravidade e a natureza do problema. Os alertas também informam quando o problema foi introduzido pela primeira vez. Para os alertas identificados pela análise do CodeQL , você também verá informações sobre como corrigir o problema.

Exemplo de alerta de Varredura de código

Se você configurar o Varredura de código usando CodeQL, isso também poderá detectar problemas no fluxo de dados no seu código. A análise do fluxo de dados encontra potenciais problemas de segurança no código, tais como: usar dados de forma insegura, passar argumentos perigosos para funções e vazar informações confidenciais.

Quando Varredura de código relata alertas de fluxo de dados, GitHub mostra como os dados se movem através do código. Varredura de código permite que você identifique as áreas do seu código que vazam informações confidenciais que poderia ser o ponto de entrada para ataques de usuários maliciosos.

Visualizar os alertas de um repositório

Qualquer pessoa com permissão de leitura para um repositório pode ver anotações de Varredura de código em pull requests. Para obter mais informações, consulte "Triar alertas de Varredura de código em pull requests".

Você precisa de permissão de gravação para visualizar um resumo de todos os alertas para um repositório na aba Segurança. Por padrão, os alertas são exibidos para o branch-padrão.

  1. No GitHub, navegue até a página principal do repositório.

  2. No seu nome de repositório, clique em Segurança. Guia de segurança

  3. Na barra lateral esquerda, clique em alertas de varredura de código. Aba de "Alertas de varredura de código"

  4. Optionally, use the free text search box or the drop-down menus to filter alerts. Por exemplo, você pode filtrar pela ferramenta usada para identificar alertas. Filter by tool

  5. Em "Varredura de código", clique no alerta que você gostaria de explorar.

    Resumo dos alertas

  6. Opcionalmente, se o alerta destacar um problema com o fluxo de dados, clique em Mostrar caminhos para exibir o caminho da fonte de dados até o destino onde é usado. O link "Exibir caminhos" em um alerta

  7. Alertas da análise de CodeQL incluem uma descrição do problema. Clique em Mostrar mais para obter orientação sobre como corrigir seu código. Detalhes para um alerta

Searching Varredura de código alerts

You can search the list of alerts. This is useful if there is a large number of alerts in your repository, or if you don't know the exact name for an alert for example. GitHub performs the free text search across:

  • The name of the alert

  • The alert description

  • The alert details (this also includes the information hidden from view by default in the Show more collapsible section)

    The alert information used in searches

Supported searchSyntax exampleResults
Single word searchinjectionReturns all the alerts containing the word injection
Multiple word searchsql injectionReturns all the alerts containing sql or injection
Exact match search
(use double quotes)
"sql injection"Returns all the alerts containing the exact phrase sql injection
OR searchsql OR injectionReturns all the alerts containing sql or injection
AND searchsql AND injectionReturns all the alerts containing both words sql and injection

Dicas:

  • The multiple word search is equivalent to an OR search.
  • The AND search will return results where the search terms are found anywhere, in any order in the alert name, description, or details.
  1. No GitHub, navegue até a página principal do repositório.
  2. No seu nome de repositório, clique em Segurança. Guia de segurança
  3. Na barra lateral esquerda, clique em alertas de varredura de código. Aba de "Alertas de varredura de código"
  4. To the right of the Filters drop-down menus, type the keywords to search for in the free text search box. The free text search box
  5. Press return. The alert listing will contain the open Varredura de código alerts matching your search criteria.

Corrigir um alerta

Qualquer pessoa com permissão de gravação para um repositório pode corrigir um alerta, fazendo o commit de uma correção do código. Se o repositório tiver Varredura de código agendado para ser executado em pull requests, recomenda-se registrar um pull request com sua correção. Isso ativará a análise de Varredura de código referente às alterações e irá testar se sua correção não apresenta nenhum problema novo. Para obter mais informações, consulte "Configurar Varredura de código" e " "Testar alertas de Varredura de código em pull requests".

Se você tem permissão de escrita em um repositório, você pode visualizar alertas corrigidos, vendo o resumo de alertas e clicando em Fechado. Para obter mais informações, consulte "Visualizar os alertas de um repositório. A lista "Fechado" mostra alertas e alertas corrigidos que os usuários ignoraram.

You can use the free text search or the filters to display a subset of alerts and then in turn mark all matching alerts as closed.

Alertas podem ser corrigidos em um branch, mas não em outro. Você pode usar o menu suspenso "Branch", no resumo dos alertas, para verificar se um alerta é corrigido em um branch específico.

Filtrar alertas por branch

Ignorar ou excluir alertas

Há duas formas de fechar um alerta. Você pode corrigir o problema no código ou pode ignorar o alerta. Como alternativa, se você tiver permissões de administrador para o repositório, será possível excluir alertas. Excluir alertas é útil em situações em que você configurou uma ferramenta Varredura de código e, em seguida, decidiu removê-la ou em situações em que você configurou a análise de CodeQL com um conjunto de consultas maior do que você deseja continuar usando, e, em seguida, você removeu algumas consultas da ferramenta. Em ambos os casos, excluir alertas permite limpar os seus resultados de Varredura de código. Você pode excluir alertas da lista de resumo dentro da aba Segurança.

Ignorar um alerta é uma maneira de fechar um alerta que você considera que não 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. Você pode ignorar alertas de anotações de Varredura de código no código ou da lista de resumo dentro na aba Segurança.

Ao descartar um alerta:

  • Ele é ignorado em todos os branches.
  • O alerta é removido do número de alertas atuais para o seu projeto.
  • O alerta é movido para a lista "Fechado" no resumo dos alertas, onde você pode reabri-lo, se necessário.
  • O motivo pelo qual você fechou o alerta foi gravado.
  • Da próxima vez que Varredura de código for executado, o mesmo código não gerará um alerta.

Ao excluir um alerta:

  • Ele é excluído em todos os branches.
  • O alerta é removido do número de alertas atuais para o seu projeto.
  • Ele não é adicionado à lista "Fechado" no resumo dos alertas.
  • Se o código que gerou o alerta permanecer o mesmo, e a mesma ferramenta Varredura de código for executada novamente sem qualquer alteração de configuração, o alerta será exibido novamente nos resultados das análises.

Para ignorar ou excluir alertas:

  1. No GitHub, navegue até a página principal do repositório.

  2. No seu nome de repositório, clique em Segurança. Guia de segurança

  3. Na barra lateral esquerda, clique em alertas de varredura de código. Aba de "Alertas de varredura de código"

  4. Se você tem permissões de administrador para o repositório e deseja excluir alertas para esta ferramenta de Varredura de código, selecione algumas ou todas as caixas de seleção e clique em Excluir.

    Excluir alertas

    Optionally, you can use the free text search or the filters to display a subset of alerts and then delete all matching alerts at once. Por exemplo, se você removeu uma consulta da análise de CodeQL, você pode usar o filtro "Regra" para listar apenas os alertas dessa consulta e, em seguida, selecionar e apagar todos esses alertas.

    Filtrar alertas por regra

  5. Se você deseja ignorar um alerta, é importante explorar primeiro o alerta para que você possa escolher o motivo correto para ignorá-lo. Clique no alerta que você deseja explorar.

    Abrir um alerta da lista de resumo

  6. Revise o alerta e clique em Ignorar e 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.

    Se vocêignorar 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 de CodeQL e melhorar a análise. Para obter mais informações sobre CodeQL, consulte "Contribuir para CodeQL".

Ignorar múltiplos alertas de uma vez

Se um projeto tem vários alertas que você deseja ignorar pelo mesmo motivo, você pode ignorá-los em massa do resumo de alertas. Normalmente, você pode querer filtrar a lista e, em seguida, ignorar todos os alertas correspondentes. Por exemplo, você pode querer ignorar todos os alertas atuais no projeto que foram marcados para uma vulnerabilidade específica de Enumeração de Fraqueza Comum (CWE).

Leia mais

Esse documento ajudou você?Política de Privacidade

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.