Shift-left
Mientras más a la izquierda del ciclo se encuentra la falla, más barato es corregirla.
Qué es
Dibuja el ciclo de vida del software de izquierda a derecha: código, build, pruebas, staging, producción. Shift-left es mover las verificaciones de seguridad lo más posible hacia la izquierda de esa línea: de la producción hacia el teclado de quien desarrolla.
En la práctica: el hook que bloquea antes del commit
El ejemplo más tangible es el pre-commit: un hook local que ejecuta las mismas herramientas del pipeline, pero en la máquina del dev, antes de que el código siquiera salga. La configuración de abajo corre y en cada commit:
repos:
- repo: https://github.com/gitleaks/gitleaks
hooks:
- id: gitleaks # bloquea la clave antes del commit
- repo: https://github.com/semgrep/semgrep
hooks:
- id: semgrep
args: ["--config", "auto"] # las mismas reglas del CIDefensa en capas, no sustitución
El hook local es rápido y barato, pero no es una autoridad: se puede usar --no-verify y saltarlo. Por eso la misma verificación corre de nuevo en el PR y en el build, capas con costos distintos. Temprano (IDE, pre-commit) para feedback rápido; después (CI) como la compuerta de verdad, que nadie se salta.
El efecto económico
El costo de un defecto crece órdenes de magnitud a medida que avanza en el ciclo: corregir una línea en el editor cuesta segundos; el mismo problema en producción puede costar un incidente, una filtración y la confianza de los usuarios. Shift-left no se trata de que te guste la seguridad: se trata de aritmética.
El límite del shift-left
Anticipar no elimina lo que viene después: algunas vulnerabilidades solo existen en el sistema ensamblado, con configuración y datos reales, territorio del y del monitoreo en producción. Shift-left complementa las verificaciones tardías, no las sustituye.
conexiones en el mapa
- Shift-leftanticipaSAST
- Shift-leftanticipaSCA
- Shift-leftempieza en el diseñoThreat modeling: pensar como el atacante antes de programar
actualizado el 14/10/2026 · fuentes para profundizar · reportar un error
Desbloquea
pon a prueba lo que entendiste
Cargando preguntas…