La cadena de suministro del código
Qué hacer con las dependencias
Bloqueo de versiones en un archivo de bloqueo, una actualización periódica programada en vez de saltos grandes una vez al año, y análisis automático de vulnerabilidades en la tubería de construcción.
Comprueba antes de añadir: cuándo se actualizó por última vez, cuántos mantenedores tiene, y cuántas dependencias arrastra. Un paquete que trae decenas de paquetes para una función no es un ahorro.
La propia tubería es un objetivo
Las herramientas de construcción tienen acceso a los secretos y a producción. Limita los permisos, no ejecutes código no confiable en un contexto privilegiado, y establece que los scripts de instalación no corren en los servidores de construcción sin control.
Saber qué está corriendo
Una lista de componentes actualizada por cada publicación. Cuando se publica una vulnerabilidad grave, la primera pregunta es '¿lo tenemos?' y quien no tiene lista desperdicia un día en la búsqueda.
En profundidad
Firma los paquetes y las imágenes, y verifica la firma antes del despliegue. Y en el repositorio: exige revisión de pares, bloquea los envíos directos a la rama principal y verifica la identidad de quien envía. La mayoría de los incidentes de la cadena de suministro empiezan con una cuenta de desarrollador comprometida, no con una vulnerabilidad en el código.