GitHub - Utiliza ferramenta de Machine Learning para verificar vulnerabilidades em códigos
Tags: github, machinelearning, security, codereview
Published: 2022-04-06 12:30:49

![Github](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4advjdjhs6i7rzflyqeg.png)
 
O GitHub nosso queridinho, está usando uma ferramenta machine learning para alertar os desenvolvedores sobre possíveis vulnerabilidades de segurança em nossos códigos e essa nova ferramenta de escaneamento de código é capaz de encontrar mais vulnerabilidades de segurança em potencial além de solucionar problemas recorrentes no ecossistema JavaScript/TypeScript mas não limitado somente a isso sendo implementado no futuro em outras liguagens (pelo menos eu gostaria que fosse). Esta nova versão beta de verificação de código poderá encontrar mais alertas para quatro padrões de vulnerabilidade comuns: cross-site scripting (XSS), path injection, NoSQL injection e SQL injection.

### Atualizado constantemente 

O mecanismo de análise CodeQL é o responsável pela varredura de código para identificar possíveis vulnerabilidades de segurança e evitar que invasores executem códigos maliciosos nas máquinas das vítimas ou assumam o controle de bancos de dados inteiros. 

Para identificar possíveis vulnerabilidades de segurança, os desenvolvedores podem permitir que o CodeQL execute consultas em sua base de código. Essas consultas de open source são escritas por membros da comunidade e especialistas em segurança do GitHub (isso mesmo que você ouviu open source ganhando ainda mais visibilidade), e cada consulta é cuidadosamente elaborada para reconhecer o maior número possível de variantes de um determinado tipo de vulnerabilidade. As consultas são continuamente atualizadas para reconhecer bibliotecas e estruturas emergentes mesmo por que estamos em constante evolução hoje estamos atualizandos e amanhã não, o que permite identificar com precisão fluxos de dados de usuários não confiáveis, que muitas vezes são a causa raiz das vulnerabilidades de segurança.

![Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6n9nxdtent300099w1of.png)

Provavelmente já deve ter até surgido essa mensagem para você que se encontra na aba de security do seu repositório (se não surgiu não precisa se preocupar) então atente-se a ela 

![Security](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l9jp3e33zkgr4dyniy5q.png)

A nova ferramenta ajudará o CodeQL a identificar mais fluxos de dados de usuários não confiáveis e, portanto, mais vulnerabilidades de segurança em potencial. Por enquanto recurso experimental já está disponível em beta pública para repositórios JavaScript e TypeScript na plataforma do GitHub.

### Como eu ativo o escaneamento de código?

Hoje esse novo escaneamento de código, por machine learning, será ativado automaticamente para quem já utiliza suites de análises e assim que é disponibilizando seu código no Github. 
Para quem ainda não utiliza ou quer conferir se está ativo, basta ativar acessando a página principal do seu repositório, para isso clique em *Security* e de pois na aba *Dependabot alerts*:

![Ativando Dependabot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kye51ysfd8qyf8y9ltqi.png)
 
Depois clique em **this repository’s settings** e será carregado uma nova tela onde poderá selecionar para **Enable** (Habilitar) ou **Disabe** (Desabilitar)

![Habilitando ou Desabilitando](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/988p7t9o4mm4do40vssp.png)

Claro que tem como você se aprofundar ainda mais nas configurações mas para isso peço que você dê uma olhada na doc do CodeQL clicando [aqui](https://docs.github.com/pt/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system). Fato é que o Github vem trazendo muitas novidades para a plataforma e isso é muito importante para nós dev's pois cria ainda mais novas possibilidades de projetos e integrações.

Fontes onde pesquisei esse conteúdo:

- https://canaltech.com.br/seguranca/github-lanca-sistema-que-encontra-brechas-em-codigos-automaticamente-209630/
- https://docs.github.com/pt/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system