Você está visualizando atualmente Protegendo Seus Commits De CVEs Conhecidos Com GitGuardian SCA E Git Hooks

Protegendo Seus Commits De CVEs Conhecidos Com GitGuardian SCA E Git Hooks

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 antipadrões 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 representam 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 Vulnerabilidades Comuns e Exposições (CVEs), as equipes de segurança têm pouca escolha a não ser pedir ao desenvolvedor para refatorar o código para incluir diferentes versões das dependências. Ninguém está feliz com essa 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 uma solicitação de pull request.

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

Compreender o que está em seu código antes de ser comprometido

A Análise de Código-Fonte (SCA) surge principalmente em discussões sobre Software Bill Of Materials (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) da GitGuardian, os desenvolvedores escaneiam em busca de problemas diretamente de seus terminais a qualquer momento em 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é 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 usaria essa versão, como copiar de um tutorial mais antigo ou um post online que explique a funcionalidade dessa biblioteca. Um simples escaneamento de SCA mostra que não apenas esta versão introduziria uma vulnerabilidade conhecida, mas também há uma correção disponível na versão 1.7.4.

Escaneando automaticamente apenas as novas alterações

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 são excelentes quando se trata de fazer de forma consistente cada etapa de um processo repetidamente, especialmente tediosas. É algo bom que cada desenvolvedor tenha uma plataforma de automação completa integrada diretamente em sua ferramenta favorita de gerenciamento de controle de fonte, Git Hooks.

A digitalização SCA da 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 mesmo de ele ser adicionado ao histórico do projeto. Se nunca for comprometido, uma verificação de segurança provavelmente não detectará posteriormente um problema no pipeline CI/CD ou produção. Enquanto novas CVEs surgem diariamente, devemos fazer tudo o que estiver ao nosso alcance para garantir que não estejamos adicionando conhecidos ao nosso código.

Escaneando apenas o escopo correto de trabalho

No exemplo do git hook, estamos usando o comando `ggshield sca scan pre-commit` em vez de `ggshield sca scan all` como usamos no exemplo manual. Essa variante no escaneamento de SCA limita o escaneamento apenas ao diretório de trabalho atual, ou seja, apenas as alterações feitas desde o último commit. Dessa forma, se houver vulnerabilidades existentes na base de código que ainda não podem ser resolvidas, 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.

Deslocar para a esquerda significa resolver problemas mais cedo

Embora a segurança exija a participação de toda a organização, armar sua equipe de desenvolvimento com as ferramentas certas para encontrar e eliminar problemas de segurança precocemente 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 que disponibilizamos o GitGuardian SCA como um Git Hook pré-commit, para que cada desenvolvedor possa evitar 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 da 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.