Varredura e Segurança de código

Visão Geral

A varredura consiste numa análise do código em um repositório e serve para encontrar vulnerabilidades de segurança e erros de codificação. Essa função está disponível para todos os repositórios públicos e privados que são pertencente a organizações em que o GitHub Advanced Security está habilitado. Se a varredura encontrar algum erro/vulnerabilidade, o GitHub mostrará um alerta na aba Segurança.

É possível automatizar esse processo para fazer numa determinada hora, quando ocorre algum evento específico e etc.

CodeQL

O GitHub usa um mecanismo chamado CodeQL.

CodeQL é uma ferramenta de análise de código que permite identificar vulnerabilidades e erros de segurança em seu código-fonte. Ele funciona criando consultas personalizadas para detectar padrões específicos que podem indicar problemas de segurança.

Existem três maneiras de confugurá-lo:

  • Configuração padrão: Essa é uma configuração rápida. Essa configuração pede a escolha das linguagens para serem analisadas, o pacote de consultas e os eventos que disparam essa verificação. Ao colocar desse modo, ele faz uma verificação como uma ação do GitHub Actions.
  • Configuração avançada: Com essa configuração, você adiciona o fluxo de trabalho do CodeQL diretamente do seu repositório (personalizável), usando os recursos desse repositório para executar como uma ação do GitHub Actions.
  • CLI: Desse modo é possível executar essa varredura diretamente em um sistema de integração contínua (CI) externo e carregar os resultados no GitHub. OBS.: esse modo é necessário buscar a API do GitHub.

Suporte

O Code QL possui o suporte para as seguintes linguagens:

  • C/C++
  • C#
  • GO
  • Java
  • Kotlin
  • JavaScript/TypeScript
  • Python
  • Ruby
  • Swift

OBS.: Cada verificação consome minutos do GitHub Actions.