Todos os desenvolvedores desejam criar software seguro e confiável. Eles deveriam se orgulhar de lançar seu código com total confiança de que não introduziram nenhuma fraqueza ou antipadrões em suas aplicações. Infelizmente, os desenvolvedores não estão escrevendo seu próprio código na maior parte dos dias de hoje. 96% de todo o software contém alguns componentes de código aberto, e os componentes de código aberto compõem entre 70% e 90% de qualquer parte de software moderno. Infelizmente, para nossos desenvolvedores preocupados com a segurança, a maioria das vulnerabilidades modernas vem desses componentes de software.
À medida que novas vulnerabilidades surgem e são publicamente relatadas como Vulnerabilidades Comuns e Exposições (CVEs), as equipes de segurança têm pouca escolha a não ser pedir ao desenvolvedor que refatore o código para incluir diferentes versões das dependências. Ninguém fica feliz nesta situação, pois bloqueia novos recursos e pode ser enlouquecedor reverter versões de componentes e torcer para que nada quebre. Os desenvolvedores precisam de uma maneira de determinar rapidamente se um componente que desejam usar tem uma vulnerabilidade conhecida antes de fazer um pull request.
Felizmente para os desenvolvedores e equipes de segurança, agora é mais fácil e rápido do que nunca escanear CVEs localmente, automaticamente e antes de qualquer commit ser feito.
Analisar o código-fonte (SCA) geralmente surge em discussões sobre Materiais de Software (SBOMs) e em conversas sobre conformidade, e normalmente muito depois da escrita real do código. Com a Análise de Composição de Software (SCA) do GitGuardian, os desenvolvedores podem escanear problemas diretamente do terminal em qualquer ponto do trabalho, graças ao ggshield, o GitGuardian CLI. Com um rápido comando, os codificadores podem testar se uma versão específica de uma dependência introduz uma vulnerabilidade conhecida. O GitGuardian até mostrará se houver uma correção disponível.
Neste exemplo, adicionamos um requisito para a biblioteca `go-getter` e especificamos a versão 1.7.1. Pode haver muitas razões pelas quais um desenvolvedor teria usado essa versão, como copiar de um tutorial mais antigo ou um post online que explica a funcionalidade dessa biblioteca. Uma simples verificação de SCA mostra que não apenas essa versão introduziria uma vulnerabilidade conhecida, mas também há uma correção disponível na versão 1.7.4.
Enquanto escanear CVEs em nosso código localmente é muito poderoso, ainda é um processo manual. Os humanos são ótimos em ser criativos, mas não somos ótimos quando se trata de fazer consistentemente cada etapa de um processo repetidamente, especialmente as tediosas. É uma boa coisa que todo desenvolvedor tenha uma plataforma de automação inteira integrada em sua ferramenta de gerenciamento de controle de origem favorita, Git Hooks.
A verificação do SCA do GitGuardian pode ser acionada automaticamente nas fases de pré-commit ou pré-push do fluxo de trabalho do Git. O momento ideal para detectar qualquer problema no código é antes de ele nunca entrar na história do seu projeto. Se nunca for commitado, então é improvável que posteriormente uma verificação de segurança detecte um problema na pipeline de CI/CD ou produção. Enquanto novas CVEs surgem diariamente, devemos fazer o possível para garantir que não estejamos adicionando conhecidas ao nosso código.
Neste exemplo, não apenas o commit não acontece, mas a mensagem do GitGuardian nos diz que há uma correção disponível em uma versão posterior. Tudo o que nosso desenvolvedor precisa fazer é alterar um caractere no arquivo identificado, salvá-lo e então poderá fazer com sucesso o novo commit.
Enquanto a segurança requer toda a organização, armar sua equipe de desenvolvimento com as ferramentas corretas para encontrar e corrigir problemas de segurança precocemente pode eliminar muitas dores de cabeça mais tarde no processo de entrega de software. Quanto mais próximo da produção você encontrar um problema, mais caro se torna corrigi-lo. Por isso, disponibilizamos o GitGuardian SCA como um Git Hook pré-commit, para que todo desenvolvedor possa se prevenir de adicionar uma vulnerabilidade conhecida na pipeline e eventualmente na produção.
O GitGuardian SCA está disponível para um teste gratuito de 2 semanas após uma rápida conversa com nossa equipe. SCA é apenas uma das preocupações que a suíte de produtos do GitGuardian aborda. Também integramos uma série de ferramentas de segurança, incluindo Detecção de Segredos, Monitoramento Público, Segurança de Infraestrutura como Código e Honeytoken.