Ciência e Tecnologia

A linguagem de programação Go chega a avisos de segurança que são úteis

A linguagem de programação Go de código aberto, desenvolvida pelo Google, adicionou suporte para gerenciamento de vulnerabilidades de uma forma projetada para preservar a paciência dos programadores.

A equipe Go criou recentemente um site em vuln .go.dev para hospedar uma seleção de vulnerabilidades conhecidas em pacotes que podem ser importados de módulos Go públicos. Essas vulnerabilidades escolhidas foram selecionadas e revisadas pela equipe de segurança do Go, com base em CVEs, avisos de segurança do GitHub e relatórios de mantenedores.

Presumivelmente, isso resulta em um banco de dados de falhas de alta qualidade porque o questões inconsequentes foram filtradas. Mas há mais do que seletividade.

Na terça-feira, Julie Qiu, membro dessa equipe, descreveu a abordagem do Go, que é notavelmente diferente, digamos, da maneira como a CLI npm do GitHub lida com vulnerabilidades no Ecossistema JavaScript.

Em 2018, antes de sua aquisição pelo GitHub, o npm introduziu um comando audit para encontrar e identificar pacotes npm com vulnerabilidades conhecidas em aplicativos que dependem do npm para gerenciamento de pacotes.

Mas o uso do npm audit se mostrou problemático porque inundou os desenvolvedores com alarmes falsos, levando o engenheiro de software do Facebook Dan Abramov no ano passado para declarar, “npm audit é uma mancha em todo o ecossistema npm.”

Embora o npm tenha visto algumas melhorias desde então , o relatório de vulnerabilidades do npm parece não ter sido resolvido.

    • O Google agora exige que dois funcionários aprovem cada alteração do Go

Me acorde antes de ir Go: os desenvolvedores dizem que aprenderão a linguagem do Google a seguir C: A linguagem de programação favorita de todos não é uma linguagem de programação

    • Meta aprova quatro linguagens de programação para trabalhadores e desenvolvedores

Go, por outro lado, implementou uma abordagem mais direcionada com sua comando govulncheck, que em conjunto com vuln.go.dev serve como “uma maneira confiável e de baixo ruído para que os usuários Go aprendam sobre vulnerabilidades conhecidas que podem afetar seus projetos.”

E há também o pacote relacionado vulncheck que exporta a funcionalidade do govulncheck como uma API Go, para integração com ferramentas de segurança.

Govulncheck analisa sua base de código e apenas apresenta vulnerabilidades que realmente afetam você, com base em quais funções em seu código estão chamando funções vulneráveis ​​​​transitivamente”, disse Qiu em uma postagem no blog.

A documentação do pacote explica que govulncheck “usa a análise estática do código-fonte ou a tabela de símbolos de um binário para reduza os relatórios para apenas aqueles que podem afetar o aplicativo.”

Esse pouco sobre baixo ruído e alertar os desenvolvedores apenas para vulnerabilidades relevantes é a chave. Isso significa menos alarmes falsos, embora não os elimine totalmente. A documentação do comando afirma que a abordagem conservadora do código para o ponteiro de função e chamadas de interface “pode ​​resultar em falsos positivos ou pilhas de chamadas imprecisas em alguns casos”, entre outras limitações.

Mesmo assim, isso deve ser uma melhoria significativa na forma como os scanners de vulnerabilidade Go atuais dependem de arquivos go.sum para verificar os hashes criptográficos dos módulos Go.F

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo