Você está visualizando atualmente Defendendo Seus Commits de Vulnerabilidades Conhecidas (CVEs) com GitGuardian SCA e Ganchos do Git

Defendendo Seus Commits de Vulnerabilidades Conhecidas (CVEs) com GitGuardian SCA e Ganchos do Git

Todos os desenvolvedores querem criar software seguro e confiável. Eles devem se sentir orgulhosos de lançar seu código com total confiança de que não introduziram nenhuma fraqueza ou padrões antiéticos em suas aplicações. Infelizmente, atualmente os desenvolvedores não estão escrevendo seu próprio código na maior parte do tempo. 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 software moderno. Infelizmente para os desenvolvedores preocupados com a segurança, a maioria das vulnerabilidades modernas vem desses componentes de software.

À medida que novas vulnerabilidades surgem e são relatadas publicamente como Vulnerabilidades e Exposições Comuns (CVEs), as equipes de segurança têm pouca escolha a não ser pedir ao desenvolvedor para reformular o código para incluir diferentes versões das dependências. Ninguém fica feliz nessa situação, pois bloqueia novas funcionalidades e pode ser enlouquecedor reverter as versões dos 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 enviar uma solicitação de recebimento.

Felizmente, para desenvolvedores e equipes de segurança, agora é mais fácil e rápido do que nunca escanear por CVEs localmente, automaticamente, e antes de qualquer commit ser feito.

Entendendo o que há em seu código antes de ser confirmado

A Análise de Código-Fonte (SCA) geralmente surge em discussões de Materiais de Software e em conversas sobre conformidade, e normalmente muito depois da escrita real do código. Com o GitGuardian Software Composition Analysis (SCA), os desenvolvedores escaneiam problemas diretamente de seus terminais em qualquer ponto de seu trabalho, graças ao ggshield, o GitGuardian CLI. Com um comando rápido, os programadores podem testar se uma determinada versão de uma dependência introduz uma vulnerabilidade conhecida. O GitGuardian até mostra se há uma correção disponível.

Neste exemplo, adicionamos a exigência da 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. O escaneamento SCA simples 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.

Automaticamente escaneie apenas as novas mudanças

Embora escanear por CVEs em nosso código localmente seja muito poderoso, ainda é um processo manual. Os humanos são ótimos em ser criativos, mas não somos ótimos quando se trata de consistentemente fazer cada etapa de um processo repetidamente, especialmente as tediosas. É uma coisa boa que cada desenvolvedor tenha toda uma plataforma de automação integrada diretamente em sua ferramenta de gerenciamento de controle de origem favorita, os Git Hooks.

A varredura de SCA do GitGuardian pode ser acionada automaticamente na fase pré-commit ou pré-push do fluxo de trabalho do Git. O momento ideal para detectar qualquer problema no código é antes que ele ever faça parte da história do projeto. Se nunca for confirmado, então uma varredura de segurança não é provável de detectar posteriormente um problema no pipeline CI/CD ou produção. Enquanto novas CVEs surgem diariamente, devemos fazer todo o possível para garantir que não estamos adicionando conhecidos ao nosso código.

Varredura apenas o escopo correto de trabalho

Você verá no exemplo de git hook que estamos usando o comando ‘ggshield sca scan pre-commit’ em vez de ‘ggshield sca scan all’ como usamos no exemplo manual. Essa variante da varredura SCA limita a varredura apenas ao diretório de trabalho atual, ou seja, apenas as alterações que foram feitas desde o último commit. Dessa forma, se houver vulnerabilidades existentes na base de código que ainda não podem ser abordadas, elas não bloquearão suas alterações. Apenas novas questões com dependências serão identificadas e o commit será interrompido então.

Neste exemplo, não apenas o commit não acontece, mas a mensagem do GitGuardian nos informa 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 ele pode fazer com sucesso o novo commit.

Centralizando a resolução de problemas mais cedo

Embora a segurança exija toda a organização, armar sua equipe de desenvolvimento com as ferramentas certas para encontrar e eliminar problemas de segurança mais cedo pode eliminar muitas dores de cabeça mais tarde no processo de entrega de software. Quanto mais perto da produção você encontrar um problema, mais caro será corrigi-lo. Por isso, disponibilizamos o GitGuardian SCA como um Git Hook pré-commit, para que cada desenvolvedor possa se prevenir de adicionar uma vulnerabilidade conhecida no 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. O SCA é apenas uma das preocupações que a suíte de produtos do GitGuardian aborda. Também integramos uma variedade de ferramentas de segurança, incluindo Detecção de Segredos, Monitoramento Público, Segurança de Infraestrutura como Código e Honeytoken.