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 está disponível para repositórios de organizações onde Segurança Avançada GitHub está habilitado. 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".

Notas:

  • 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.

  • For each upload, SARIF upload supports a maximum size of 10 MB for the gzip-compressed SARIF file. Any uploads over this limit will be rejected. If your SARIF file is too large because it contains too many results, you should update the configuration to focus on results for the most important rules or queries.

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 as propriedades do alerta, como, por exemplo, a gravidade, gravidade da segurança, 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.

Sobre os níveis de gravidade

Níveis de gravidade do alerta podem ser Error, Warning ou Note.

Por padrão, qualquer resultado de digitalização de código com uma gravidade de error irá gerar uma falha de verificação. Você pode especificar o nível de gravidade no qual os pull requests que habilitam alertas de verificação de código devem falhar. Para obter mais informações, consulteDefinir as gravidades causadoras da falha de verificação de pull request."

Sobre níveis de gravidade de segurança

Varredura de código exibe níveis de gravidade de segurança para alertas gerados por consultas de segurança. Níveis de severidade de segurança podem ser graves, altos, médios ou baixos.

Para calcular a gravidade da segurança de um alerta, usamos dados de Pontuação do Sistema de Vulnerabilidade Comum (CVSS). O CVSS é uma estrutura aberta para comunicar as características e gravidade das vulnerabilidades de software, e é comumente usado por outros produtos de segurança para pontuar alertas. Para obter mais informações sobre como os níveis de gravidade são calculados, consulte o post do blogue.

Por padrão, qualquer resultado de verificação de código com uma gravidade de segurança de Grave ou Alta irá causar uma falha de verificação. Você pode especificar qual nível de segurança para os resultados da digitalização do código deve causar uma falha de verificação. Para obter mais informações, consulteDefinir as gravidades causadoras da falha de verificação de pull request."

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 Enterprise Server, 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. 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

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.

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. O código do aplicativo exclui o seguinte.

  • Código gerado pelo processo de compilação
  • Código de teste
  • Biblioteca ou código de terceiros
  • Documentação

Varredura de código categoriza arquivos por caminho do arquivo. No momento, você não pode categorizar manualmente os arquivos de origem.

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 Server realiza a pesquisa de texto livre:

  • O nome do alerta

  • A descrição 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 busca E retornará resultados em que os termos da pesquisa são encontrados em qualquer lugar, em qualquer ordem no nome do alerta, descrição ou detalhes.
  1. No GitHub Enterprise Server, 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.

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, por sua vez, todos os alertas correspondentes como fechados.

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 Enterprise Server, 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

    Opcionalmente, você pode usar} a pesquisa de texto livre ou os filtros para exibir um subconjunto de alertas e, em seguida, excluir todos os alertas correspondentes de uma só vez. 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 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.