Você está visualizando atualmente Defendendo Seus Commits De CVEs Conhecidos Com GitGuardian SCA e Ganchos do Git

Defendendo Seus Commits De CVEs Conhecidos Com GitGuardian SCA e Ganchos do Git

Todos os desenvolvedores desejam criar software seguro e confiável. Eles devem se orgulhar de lançar seu código com a plena confiança de que não introduziram fraquezas ou padrões antigos em suas aplicações. Infelizmente, os desenvolvedores não estão escrevendo seu próprio código na maioria das vezes nos 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 software moderno. Infelizmente, para nossos desenvolvedores preocupados com segurança, a maioria das vulnerabilidades modernas vem desses componentes de software.

À medida que novas vulnerabilidades surgem e são publicamente relatadas como Comuns Vulnerabilidades 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 nessa situação, pois ela impede novos recursos e pode ser enlouquecedor voltar as versões dos componentes e esperar que nada quebre. Os desenvolvedores precisam de uma maneira de determinar rapidamente se um componente que desejam usar possui uma vulnerabilidade conhecida antes de fazer uma solicitação de pull.

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

Entendendo o que está no seu código antes de ser comprometido

A Análise de Código Fonte (SCA) normalmente surge em discussões de BOM de Software e em conversas sobre conformidade, e normalmente muito depois da escrita real do código. Com a Análise de Composição de Software GitGuardian (SCA), os desenvolvedores escaneiam em busca de problemas diretamente de seus terminais em qualquer ponto de seu trabalho, graças ao ggshield, o CLI do GitGuardian. Com um comando rápido, os coders podem testar se uma versão específica de uma dependência introduz uma vulnerabilidade conhecida. O GitGuardian até mostrará se há 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.

Escanear automaticamente apenas as novas alterações

Embora escanear 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 bons em fazer consistentemente cada etapa de um processo repetidamente, especialmente as tediosas. É bom que todo desenvolvedor tenha uma plataforma de automação inteira incorporada diretamente em sua ferramenta favorita de gerenciamento de controle de origem, Git Hooks.

A verificação de SCA do GitGuardian pode ser acionada automaticamente na fase 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 entrar na história do projeto. Se nunca for comprometido, então é improvável que uma verificação de segurança detecte posteriormente um problema no pipeline de CI/CD ou produção. Enquanto novas CVEs surgem diariamente, devemos fazer tudo o que podemos para garantir que não estamos adicionando conhecidas em nosso código.

Escanear 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 na verificação de SCA limita a verificação apenas ao diretório de trabalho atual, ou seja, apenas as alterações feitas desde o último commit. Dessa forma, se houver vulnerabilidades existentes no código-base que ainda não podem ser tratadas, elas não bloquearão suas alterações. Apenas novos problemas com dependências serão identificados e o commit será interrompido em seguida.

No 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 o novo commit com sucesso.

Deslocar para a esquerda significa solucionar problemas mais cedo

Embora a segurança exija a organização como um todo, munir sua equipe de desenvolvimento com as ferramentas certas para encontrar e eliminar problemas de segurança cedo 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 será corrigi-lo. Por isso, disponibilizamos o GitGuardian SCA como um Git Hook pré-commit, para que cada desenvolvedor possa se proteger de adicionar uma vulnerabilidade conhecida ao pipeline e, eventualmente, à produção.

O GitGuardian SCA está disponível para um teste gratuito de 2 semanas após uma rápida conversa com nossa equipe. A 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.