A aplicação corporativa típica hoje é composta principalmente por dependências de código aberto e de terceiros, com o código próprio da organização representando uma pequena fração do que realmente executa em produção. Comprometimentos de alto perfil de pacotes amplamente usados demonstraram que uma única dependência envenenada, várias camadas dentro de uma árvore de dependências, pode comprometer milhares de aplicações a jusante simultaneamente.
Construindo uma lista de materiais antes de precisar dela
Uma lista de materiais de software—um inventário completo de cada componente, sua versão e sua proveniência—é um pré-requisito para responder rapidamente quando uma nova vulnerabilidade é divulgada em uma biblioteca amplamente usada. A varredura de dependências deve rodar continuamente no pipeline, não como uma auditoria periódica.
Fixar versões de dependências, verificar assinaturas de pacotes, e restringir de quais registros os sistemas de build podem extrair reduzem a chance de um comprometimento da cadeia de suprimentos chegar à produção sem detecção.
A JIG ajuda organizações de engenharia a construir programas de segurança da cadeia de suprimentos de software.
