Skip to main content

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

Na visão de segurança, que você pode visualizar, corrigir, ou dispensar alertas de possíveis 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 on GitHub.com. To use Varredura de código in a private repository owned by an organization, you must have a license for Segurança Avançada GitHub. For more information, see "GitHub's products."

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, a página de verificação de código de alertas é filtrada para mostrar alertas apenas para o branch padrão do repositório.

  1. No GitHub.com, 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. Opcionalmente, use a caixa de pesquisa de texto livre ou os menus suspensos para filtrar alertas. Por exemplo, você pode filtrar pela ferramenta usada para identificar alertas. Filtrar por ferramenta

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

     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.
     ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png)
    
  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

Para obter mais informações, consulte "Sobre alertas de Varredura de código".

Observação: Para análise de Varredura de código com CodeQL, você pode ver informações sobre a última execução em um cabeçalho na parte superior da lista de alertas de Varredura de código para o repositório.

Por exemplo, você pode ver quando o último scanner foi executada, o número de linhas de código analisadas em comparação com o número total de linhas de código no seu repositório, e o número total de alertas gerados. Banner de interface do usuário

Filtrando alertas de Varredura de código

Você pode filtrar os alertas exibidos no modo de exibição de alertas de Varredura de código. Isso é útil caso haja muitos alertas pois você pode se concentrar em um determinado tipo de alerta. Existem alguns filtros predefinidos e uma série de palavras-chave que você pode usar para refinar a lista de alertas exibidos.

  • Para usar um filtro predefinido, clique Filtros ou em um filtro exibido no cabeçalho da lista de alertas e escolha um filtro na lista suspensa. Filtros predefinidos
  • Para usar uma palavra-chave, digite diretamente na caixa de texto dos filtros ou:
    1. Clique na caixa de filtros para exibir uma lista de todas as palavras-chave de filtro disponíveis.
    2. Clique na palavra-chave que deseja usar e, em seguida, selecione um valor na lista suspensa. Lista de filtros de palavra-chave

O benefício de usar filtros de palavra-chave é que apenas os valores com resultados são exibidos nas listas suspensas. Isso facilita evitar filtros de configuração que não encontram resultados.

Se você inserir vários filtros, a visualização mostrará alertas que correspondem a todos esses filtros. Por exemplo, is:closed severity:high branch:main só exibirá alertas de alta gravidade fechados e que estão presentes no branch principal. A exceção são os filtros relacionados a refs (ref, branch e pr): is:open branch:main branch:next irá mostrar alertas abertos do branch principal do próximo branch.

Please note that if you have filtered for alerts on a non-default branch, but the same alerts exist on the default branch, the alert page for any given alert will still only reflect the alert's status on the default branch, even if that status conflicts with the status on a non-default branch. For example, an alert that appears in the "Open" list in the summary of alerts for branch-x could show a status of "Fixed" on the alert page, if the alert is already fixed on the default branch. You can view the status of the alert for the branch you filtered on in the Affected branches section on the right side of the alert page.

Você pode prefixar o filtro tag com - para excluir resultados com essa tag. Por exemplo, -tag:style mostra apenas alertas que não têm a tag estilo e -tag:experimental omitirá todos os alertas experimentais. Para obter mais informações, consulte "Sobre alertas deVarredura de código."

Restringir resultados apenas ao código do aplicativo

Você pode usar o filtro "Apenas alertas no código do aplicativo" ou a palavra-chave autofilter:true e valor para restringir os resultados de alertas no código do aplicativo. Consulte "Sobre etiquetas para alertas que não estão no código de aplicativos" acima para mais informações sobre os tipos de código que não são código do aplicativo.

Pesquisando alertas de Varredura de código

Você pode pesquisar na lista de alertas. Isso é útil se houver um grande número de alertas no seu repositório, ou, por exemplo, se você não souber o nome exato de um alerta. GitHub Enterprise Cloud realiza a pesquisa de texto livre:

  • O nome do alerta

  • Os detalhes do alerta (isso também inclui as informações ocultas da visualização por padrão na seção ocultável Mostrar mais)

    Informações de alerta usadas em pesquisas

Pesquisa compatívelExemplo de sintaxeResultados
Pesquisa de uma palavrainjeçãoRetorna todos os alertas que contêm a palavra injeção
Pesquisa de múltiplas palavrasinjeção sqlRetorna todos os alertas que contêm sql ou injeção
Pesquisa de correspondência exata
(use aspas duplas)
"injeção sql"Retorna todos os alertas que contém a frase exata injection sql
OU pesquisasql OU injeçãoRetorna todos os alertas que contêm sql ou injeção
Pesquisa Esql E injeçãoRetorna todos os alertas que contêm ambas as palavras sql e injeção

Dicas:

  • A busca múltipla de palavras é equivalente a uma busca OU.
  • A pesquisa E retornará resultados em que os termos da pesquisa são encontrados em qualquer lugar, em qualquer ordem no nome ou informações do alerta.
  1. No GitHub.com, 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. À direita dos menus suspensos de Filtros, digite as palavras-chave a serem pesquisadas na caixa de pesquisa de texto livre. A caixa de pesquisa de texto livre
  5. Pressione retornar. O anúncio do alerta conterá os alertas Varredura de código alertas abertos correspondentes aos seus critérios de busca.

Rastreando alertas de Varredura de código em problemas

Note: The tracking of Varredura de código alerts in issues is in beta and subject to change.

This feature supports running analysis natively using GitHub Actions or externally using existing CI/CD infrastructure, as well as third-party Varredura de código tools, but not third-party tracking tools.

Varredura de código alerts integrate with task lists in Problemas do GitHub to make it easy for you to prioritize and track alerts with all your development work. Para obter mais informações sobre os problemas, consulte "Sobre os problemas".

To track a code scanning alert in an issue, add the URL for the alert as a task list item in the issue. For more information about task lists, see "About tasks lists."

For more information about creating issues to track Varredura de código alerts, see "Tracking Varredura de código alerts in issues using task lists."

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.

Você pode usar a pesquisa de texto livre ou os filtros para exibir um subconjunto de alertas e, em seguida, marcar todos os alertas correspondentes como fechados.

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

Filtrar alertas por branch

Please note that if you have filtered for alerts on a non-default branch, but the same alerts exist on the default branch, the alert page for any given alert will still only reflect the alert's status on the default branch, even if that status conflicts with the status on a non-default branch. For example, an alert that appears in the "Open" list in the summary of alerts for branch-x could show a status of "Fixed" on the alert page, if the alert is already fixed on the default branch. You can view the status of the alert for the branch you filtered on in the Affected branches section on the right side of the alert page.

Observação: Se você executar a digitalização de código usando várias configurações, às vezes, um alerta terá múltiplas origens da análise. A menos que você execute todas as configurações regularmente, você poderá ver alertas fixos em uma análise de origem, mas não em outra. Para obter mais informações, consulteSobre as origens da análise".

Ignorando ou alertas

Há duas formas de fechar um alerta. Você pode corrigir o problema no código ou pode ignorar o alerta.

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.
  • A razão pela qual você fechou o alerta foi registrada.
  • Opcionalmente, você pode comentar em uma rejeição para registrar o contexto de uma rejeição de alerta.
  • Da próxima vez que Varredura de código for executado, o mesmo código não gerará um alerta.

Para ignorar alertas:

  1. No GitHub.com, 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ê 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

  1. Revise o alerta e clique em para ignorar o alerta e escolher ou digitar 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".

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