A complexidade da cadeia de suprimentos de software é um grande risco, e nós a abordamos isso extensivamente, por exemplo, em nossos artigos sobre SBOM e SLSA. O calcanhar de Aquiles para a maioria das equipes ainda é a presença de vulnerabilidades em dependências, muitas vezes dependências indiretas em vários níveis. Ferramentas como Dependabot ajudam criando pull requests (PRs) para atualizar as dependências. No entanto, é preciso disciplina de engenharia para cuidar dessas PRs de forma rápida, especialmente quando são para aplicativos ou serviços que não estão em desenvolvimento ativo. Nas circunstâncias certas, agora defendemos o uso do merge automático de PRs de atualização de dependência. Isso requer que o sistema tenha cobertura de teste extensiva — não apenas testes de unidade, mas também testes funcionais e de desempenho. A pipeline de compilação (build) deve executar todos esses testes e deve incluir a varredura de segurança. Em resumo, a equipe deve ter total confiança de que, quando a pipeline for executada com sucesso, o software estará pronto para ser colocado em produção. Nesses casos, as PRs de atualização de dependência, mesmo quando incluem atualizações de versão principal em dependências indiretas, devem ser mescladas (merged) automaticamente.