Entender os resultados do CodeQL
Em unidades anteriores, você criou um banco de dados e escaneou o arquivo extraído do seu código. Agora você pode exibir os resultados e determinar se há vulnerabilidades de segurança a serem resolvidas.
Exibir resultados de verificação de código da análise do CodeQL
Os resultados da consulta interpretados são exibidos automaticamente no código-fonte na extensão CodeQL do Visual Studio Code. Os resultados de saída gerados pela CLI do CodeQL podem estar em muitos formatos para uso com várias ferramentas.
Você pode controlar como os resultados da análise são exibidos no código-fonte modificando a instrução de select uma consulta. Você pode tornar os resultados claros e fáceis para outros usuários entenderem ao desenvolver a consulta. Quando você escreve suas próprias consultas no console de consulta ou na extensão CodeQL para Visual Studio Code, não há restrições sobre o que pode ser selecionado.
Se você quiser usar uma consulta para criar alertas na verificação de código do GitHub ou gerar resultados de análise válidos usando a CLI do CodeQL, é necessário fazer com que a instrução select relate os resultados no formato exigido.
Agir de acordo com alertas de leitura de código
Você pode configurar a verificação de código para verificar o código em um repositório. Você pode usar a análise codeql padrão, uma análise não Microsoft ou outros tipos de análise. Os alertas resultantes são exibidos um ao lado do outro no repositório.
A análise codeql padrão do GitHub pode incluir mais propriedades para alertas do que resultados de ferramentas não Microsoft ou de consultas personalizadas. Em um fluxo de trabalho padrão, a varredura de código analisa seu código periodicamente no branch padrão e durante solicitações de pull.
Cada alerta inclui as seguintes informações:
- O problema com o código e o nome da ferramenta que o identificou.
- A linha de código que disparou o alerta.
- As propriedades do alerta, como a gravidade.
- A gravidade da segurança.
- O ponto em que o problema foi introduzido.
- A natureza do problema.
As informações também incluem como corrigir o problema quando a análise do CodeQL identifica um alerta. Além disso, a verificação de código por meio do CodeQL pode detectar problemas de fluxo de dados em seu código.
Alertas de fluxo de dados
A análise de fluxo de dados encontra possíveis problemas de segurança no código, incluindo:
- Usando dados de uma forma que comprometa a segurança.
- Passando argumentos perigosos para funções.
- Vazando informações confidenciais.
O GitHub mostra como os dados percorrem o código quando a varredura de código relata alertas de fluxo de dados. Você pode usar esses alertas de fluxo de dados para identificar as áreas do código que vazam informações confidenciais. Esse conhecimento pode ajudá-lo a identificar o ponto de entrada para ataques de usuários mal-intencionados.
Níveis de severidade
Qualquer resultado de verificação de código com gravidade Error causa falha na verificação por padrão. Os níveis de severidade do alerta são Error, Warninge Note. Você pode especificar o nível de severidade no qual as solicitações de pull que disparam alertas de verificação de código devem falhar.
Níveis de severidade de segurança
As consultas de segurança geradas pela varredura de código exibem níveis de gravidade de segurança para alertas. Os níveis de severidade de segurança são Critical, Highe MediumLow. O GitHub usa dados comuns do CVSS (Common Vulnerability Score System) para calcular a gravidade de segurança de um alerta.
Qualquer resultado de varredura de código que tenha uma severidade de segurança de Critical ou High causará, por padrão, uma falha de checagem. Você pode especificar qual nível de severidade de segurança deve causar uma falha na verificação dos resultados da varredura de código.
Fechar um alerta de verificação de código
Você tem duas maneiras de fechar um alerta:
- Corrija o problema no código.
- Ignore ou exclua o alerta.
Ignorar um alerta de verificação de código
Ignorar um alerta é uma maneira de fechar um alerta que você não acha que precisa ser corrigido. Por exemplo, você pode descartar um alerta para um erro no código usado apenas para teste. Você também poderá ignorar um alerta se o esforço necessário para corrigir o erro for maior do que o benefício potencial de melhorar o código.
Você pode descartar alertas de anotações de verificação de código no código ou da lista de resumo na guia Segurança. Para ignorar um alerta da lista, selecione o menu Ignorar alerta, escolha um motivo e selecione o botão Ignorar alerta.
Ao descartar um alerta:
- O alerta é ignorado em todos os branches.
- O alerta é removido do número de alertas atuais do projeto.
- O alerta é movido para a lista Fechado no resumo dos alertas. Caso necessário, você pode reabri-lo daqui.
- O motivo pelo qual você fechou o alerta é registrado.
- Na próxima vez que a verificação de código for executada, o mesmo código não gerará um alerta.
Excluir um alerta de verificação de código
Você pode excluir um alerta se tiver permissões de administrador para o repositório. Excluir alertas é útil quando:
- Você configura uma ferramenta de verificação de código, mas depois decide removê-la.
- Você configurou a análise do CodeQL com um conjunto maior de consultas do que deseja continuar usando.
- Você removeu algumas consultas da ferramenta.
- Você deseja aperfeiçoar os resultados da verificação de código.
Você pode excluir alertas da lista de resumo na guia Segurança .
Quando você exclui um alerta:
- O alerta é excluído em todos os ramos.
- O alerta é removido do número de alertas atuais do projeto.
- O alerta não é adicionado à lista Fechado no resumo dos alertas.
- O alerta será exibido novamente nos resultados da análise, se o código que gerou o alerta permanecer o mesmo e a mesma ferramenta de verificação de código for executada novamente sem nenhuma alteração de configuração.