Considere a seguinte situação hipotética: Uma equipe de des...
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:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: A
Fundamento decisivo: O ponto decisivo foi o uso de "^" no package.json, que permitia a entrada automática de nova versão, somado à ausência de verificação estruturada de integridade no pipeline.
- Se o risco vem de dependência instalada automaticamente no pipeline, procure a alternativa que reduza a variabilidade das versões e imponha validação contínua automatizada.
- Em temas de supply chain, critério de confiança não é reputação do pacote; é controle técnico sobre versão, integridade e monitoramento.
- Medida manual ou pontual pode até ajudar operacionalmente, mas não supera alternativa que cria controle preventivo estruturado no CI/CD.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A questão está relacionada ao OWASP Top 10 2021 – A06: Componentes Vulneráveis e Desatualizados (Vulnerable and Outdated Components) e também às boas práticas de segurança da cadeia de suprimentos de software (Software Supply Chain Security).
O problema é uma biblioteca nova, porém comprometida
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo