Esta versão do GitHub Enterprise será descontinuada em 2022-02-16. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

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 se você tiver uma licença para Segurança Avançada GitHub. 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 1000 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 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.

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. Em "Varredura de código", clique no alerta que você gostaria de explorar.

    Lista de alertas de Varredura de código

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

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

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

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

    Lista de alertas de Varredura de código

  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.