Este projeto prático de DevSecOps trata de uma decisão concreta: quais bytes de dependências podem fazer parte de um build útil. Você corrigirá uma ferramenta de preços de ingressos e aplicará o mesmo método a um balcão de materiais para oficinas.
Dois laboratórios guiados apresentam a seleção de fontes e os hashes de todas as dependências. O desafio independente muda as relações entre pacotes, mantendo as mesmas ferramentas e o contrato de instalação.
O que você aprenderá
- Identificar dependências diretas e indiretas e explicar por que um segundo índice pip não é uma reserva de prioridade menor.
- Reconstruir os pacotes aprovados em ambientes Python separados e entregar uma lista de preços completa e correta.
- Rejeitar arquivos wheel com os mesmos nome e versão, mas bytes diferentes, usando hashes aprovados de forma independente.
- Preservar espelhos legítimos, caminhos entre aspas, o comportamento da aplicação e os pedidos originais.
Para quem é este curso
Para iniciantes em DevSecOps que saibam usar cd, cat, comandos básicos de terminal e editar um pequeno arquivo de texto. Programação Python, Docker e conta de nuvem não são necessários. O primeiro laboratório explica ambientes virtuais, opções do pip e a pequena receita Shell usada no projeto.
Ambiente de aprendizagem: Cada laboratório começa de forma independente com Python, pip, arquivos wheel sintéticos originais e fontes locais preparados no terminal Linux do navegador.
Perguntas frequentes
Preciso publicar ou atacar um pacote público?
Não. Todas as fontes e todos os pacotes são controlados dentro do ambiente. Os substitutos alteram apenas os cálculos do exemplo.
Um hash correspondente prova que o pacote é seguro?
Prova que os bytes correspondem à aprovação fornecida separadamente. Não identifica o publicador nem comprova ausência de vulnerabilidades.
O que entregarei?
Uma receita de instalação reutilizável, o ambiente aprovado real e um CSV correto. O desafio também deve rejeitar alterações em dependências diretas e indiretas e aceitar espelhos inalterados.



