Evitar que un paquete homónimo se cuele en una compilación

Construye una herramienta de precios con dependencias Python aprobadas y rechaza sustituciones de archivos wheel.

ProyectoDevSecOpsPythonCiberseguridad

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este proyecto práctico de DevSecOps trata una decisión concreta: qué bytes de las dependencias pueden formar parte de una compilación útil. Repararás una herramienta de precios de entradas y aplicarás el mismo método a un puesto de materiales para talleres.

Dos laboratorios guiados presentan la selección de fuentes y los hashes de todas las dependencias. El desafío independiente cambia las relaciones entre paquetes, manteniendo las mismas herramientas y el contrato de instalación.

Lo que aprenderás

  • Identificar dependencias directas e indirectas y explicar por qué un segundo índice pip no es un respaldo de menor prioridad.
  • Reconstruir los paquetes aprobados en entornos Python separados y entregar una lista de precios completa y correcta.
  • Rechazar archivos wheel con el mismo nombre y versión pero otros bytes mediante hashes aprobados por separado.
  • Conservar los espejos legítimos, las rutas entre comillas, el comportamiento de la aplicación y los pedidos originales.

A quién va dirigido este curso

Para principiantes en DevSecOps que sepan usar cd, cat y comandos básicos de terminal y editar un archivo pequeño. No necesitas programar en Python, Docker ni una cuenta en la nube. El primer laboratorio explica los entornos virtuales, las opciones de pip y la breve receta Shell utilizada en el proyecto.

Entorno de aprendizaje: Cada laboratorio comienza de forma independiente con Python, pip, archivos wheel sintéticos originales y fuentes locales preparados en una terminal Linux del navegador.

Preguntas frecuentes

¿Debo publicar o atacar un paquete público?

No. Todas las fuentes y los paquetes están controlados dentro del entorno. Los sustitutos solo cambian los cálculos del ejemplo.

¿Un hash coincidente demuestra que el paquete es seguro?

Demuestra que los bytes coinciden con la aprobación suministrada por separado. No identifica al editor ni demuestra ausencia de vulnerabilidades.

¿Qué entregaré?

Una receta de instalación reutilizable, el entorno aprobado real y un CSV correcto. El desafío también debe rechazar cambios en dependencias directas e indirectas y aceptar espejos sin modificaciones.

Profesor

labby
Labby
Labby is the LabEx teacher.