banner

Os três pilares do GitHub Advanced Security (GHAS)

escrito por Lucas Ludicsa

3 minutos de leitura

Câmera de segurança com símbolo de cadeado digital, representando proteção de dados e segurança cibernética em vídeo vigilância.

Entenda como Dependabot, Secret Scanning e Code Scanning ajudam a reforçar a segurança no GitHub de forma automatizada e integrada ao fluxo de desenvolvimento.

O GitHub Advanced Security reúne três ferramentas essenciais que integram o fluxo de trabalho Git. Detectando, prevenindo e corrigindo falhas de segurança.

Reunimos as ferramentas Dependabot, Secret Scanning e Code Scanning para revelar vulnerabilidades de dependências, secrets e código-fonte dentro do repositório, facilitando correções rápidas no código, antes ou após o envio para produção.

Dependabot

Dependabot automatiza o gerenciamento de dependências em dois níveis:

Alerts: quando um novo alerta é detectado os mantenedores do repositório são notificados, os alertas ocorrem caso a versão tenha um CVE (Common Vulnerabilities and Exposures), um identificador público que cataloga as falhas de segurança conhecidas.

Version Updates: cria pull requests automáticos, para atualizar as dependências em versões mais seguras ou atualizadas.

  • A configuração base do Dependabot Version Updates é feita através do arquivo .github/dependabot.yml indicando o caminho do manifest ou dos arquivos de dependências. O GitHub usa esse arquivo para localizar pacotes desatualizados e abrir PRs automáticos com as versões mais recentes.

Secret Scanning

Secret Scanning busca chaves, tokens e senhas em histórico e novos commits.

Varredura retroativa: escaneia todo o histórico do repositório em busca de secrets já expostos, notificando os mantenedores para que possam revogar ou substituir as credenciais afetadas.

Push Protection: impede que secrets conhecidos (como chaves da AWS, tokens ou senhas de bancos) sejam enviados ao repositório em tempo real. O commit é bloqueado antes mesmo de ser aceito, e o desenvolvedor recebe uma mensagem explicando o motivo e as ações recomendadas.

Code Scanning

Analisa o código-fonte para identificar vulnerabilidades, falhas de segurança e padrões perigosos.

CodeQL: é a linguagem de consulta usada para analisar o código-fonte como um banco de dados. Permite explorar estruturas complexas do código, escrever regras de segurança personalizadas e compartilhar pacotes de consulta com a comunidade.

Análise estática automatizada: o GitHub utiliza o CodeQL para escanear o código durante pull requests, pushes ou de forma agendada. A análise detecta problemas como injeção de SQL, XSS, acesso indevido a dados, entre outros riscos comuns.

Alertas integrados: os resultados da varredura são exibidos diretamente na interface do GitHub, com detalhes técnicos, linha afetada e sugestões de correção.

Queries customizadas: permite escrever consultas em CodeQL para detectar padrões específicos de vulnerabilidade, adaptando a análise às particularidades do projeto.

Concluímos que podemos deixar a segurança mais próxima do dia a dia do desenvolvimento com as ferramentas que funcionam direto no repositório e automatizando esses processos, o time ganha agilidade e reduz os riscos sem sair do fluxo de trabalho.

Compartilhe esse post: