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.