Imagem de fundo

Considere a seguinte situação hipotética: Uma equipe de desenvolvedores é responsável p...

Considere a seguinte situação hipotética:


Uma equipe de desenvolvedores é responsável por uma API Node.js utilizada em todas as aplicações da organização. Essa API utiliza diversas dependências do Node Package Manager (NPM), incluindo bibliotecas populares para autenticação e manipulação de dados.


Durante a execução automática da esteira de CI/CD, uma nova versão (minor) de uma dependência amplamente utilizada é instalada automaticamente após um npm install, pois o package.json está configurado com "^". Horas depois, a equipe de segurança cibernética notifica que essa nova versão foi comprometida por um ataque à cadeia de suprimentos, contendo código malicioso que exfiltra variáveis de ambiente.


Sua equipe não possui política formal de versionamento fixo (version pinning) nem processo estruturado de verificação de integridade de dependências para o projeto da API.


A equipe deve adotar medida(s) para prevenir riscos relacionados à cadeia de suprimentos de software.


Assinale a alternativa que representa a decisão MAIS ADERENTE às recomendações da OWASP TOP 10:


A

Fixar versões exatas das dependências utilizadas no projeto e integrar validação automatizada de segurança das dependências no pipeline de CI/CD.


B

Manter o uso de versões com "^" no package.json, mas executar npm audit manualmente antes de cada deploy em produção.


C

Remover imediatamente a dependência comprometida e substituí-la por um fork próprio hospedado no repositório interno da empresa.


D

Permitir atualizações automáticas apenas para dependências consideradas maduras e com grande número de downloads semanais.