GitHub implementou um sistema de aprendizado de máquina para procurar vulnerabilidades no código

O GitHub anunciou a adição de um sistema experimental de aprendizado de máquina ao seu serviço de verificação de código para identificar tipos comuns de vulnerabilidades no código. Em fase de testes, a nova funcionalidade está disponível atualmente apenas para repositórios com código em JavaScript e TypeScript. Observa-se que a utilização de um sistema de aprendizado de máquina tem permitido ampliar significativamente o leque de problemas identificados, ao analisar os quais o sistema não se limita mais à verificação de templates padronizados e não está vinculado a frameworks bem conhecidos. Entre os problemas identificados pelo novo sistema, são mencionados erros que levam a cross-site scripting (XSS), distorção de caminhos de arquivos (por exemplo, através da indicação de “/..”), substituição de consultas SQL e NoSQL.

O serviço de verificação de código permite identificar vulnerabilidades em um estágio inicial de desenvolvimento, verificando cada operação “git push” em busca de possíveis problemas. O resultado é anexado diretamente à solicitação pull. Anteriormente, a verificação era realizada por meio do mecanismo CodeQL, que analisa templates com exemplos típicos de código vulnerável (CodeQL permite criar um template de código vulnerável para identificar a presença de uma vulnerabilidade semelhante no código de outros projetos). O novo mecanismo, que usa aprendizado de máquina, pode identificar vulnerabilidades anteriormente desconhecidas porque não está vinculado à enumeração de modelos de código que descrevem vulnerabilidades específicas. O custo desse recurso é um aumento no número de falsos positivos em comparação com verificações baseadas em CodeQL.

Fonte: opennet.ru

Adicionar um comentário