Introduzida no começo de outubro, a nova ferramenta de varredura do GitHub parece corresponder às expectativas. Testada pelo Jenkins — servidor de automação gratuito e de código aberto —, o verificador de segurança foi capaz de identificar sete vulnerabilidades, até então desconhecidas, em plug-ins na ferramenta DevOps.
“Muitas das vulnerabilidades de segurança descobertas nos plug-ins do Jenkins são bastante semelhantes entre si e, infelizmente, são específicas do Jenkins, o que significa que as ferramentas genéricas existentes não são capazes de descobri-las”, afirmou Daniel Beck, principal mantenedor do Jenkins e líder da equipe de segurança do servidor.
Durante o experimento, foram encontrados problemas em plug-ins para configurações AWS, Kubernetes, Mercurial, Azure Key Vault e Active Directory. Algumas das falhas encontradas concediam enumeração de credenciais armazenadas no Jenkins para invasores com permissão geral e de leitura (para o plug-in Azure Key Vault) e permitiam substituir a configuração global AWS por conta da ausência de verificações.
“Todos esses problemas foram descobertos com a ajuda dessa ferramenta. Estou feliz com os resultados”, completou Beck.
Com base na tecnologia CodeQL, nova ferramenta do GitHub pode detectar vulnerabilidades em servidores. Foto: madartzgraphics/Pixabay
Como funciona a ferramenta
Basicamente, a varredura de código do GitHub atua com base na tecnologia chamada CodeQL — um analisador de código semântico de código aberto que funciona em três etapas.
No primeiro estágio, os desenvolvedores executam um extrator de CodeQL, presentes nas linguagens de programação com suporte C / C ++, C #, Go, Java, JavaScript, Python e TypeScript, em seus códigos para a criação de um banco de dados.
Após isso, é necessário escrever consultas — chamadas de QL — na linguagem CodeQL. Isso permite que os desenvolvedores encontrem diversas coisas, como parâmetros não utilizados, por exemplo.
Código de varredura do GitHub se mostrou eficaz nos testes da Jenkins. Créditos: GitHub/Reprodução
Na última etapa a ferramenta de varredura interpreta os resultados da consulta, evidenciando o código suspeito e explicando a importância do problema detectado.
A boa notícia é que o GitHub fornece milhares de consultas pré-escritas, poupando (e muito) o trabalho dos desenvolvedores. Eles são integrados com ferramentas de CI / CD (como ações do GitHub ou Jenkins) para o código ser verificado conforme seja confirmado.
Contudo, é importante frisar que, apesar de as ferramentas de varredura serem extremamente importantes na proteção de códigos, elas também podem ser utilizadas por invasores, em casos de open source.
Via: The Register