saltar al contenido
volver al mapa
concepto
2 min de lectura

Shift-left

Mientras más a la izquierda del ciclo se encuentra la falla, más barato es corregirla.

plugins de IDEpre-commit hookschecks de PR

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:

.pre-commit-config.yamlyaml
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 CI

Defensa 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.

Secrets scanningEscaneo de credenciales expuestas en código, commits e historial de git.ver en el glosario →SASTAnálisis estático: examina el código sin ejecutarlo. Encuentra problemas por análisis de flujo, no por adivinación.ver en el glosario →DASTPrueba dinámica: ataca la aplicación en ejecución, desde afuera, en caja negra.ver en el glosario →

conexiones en el mapa

actualizado el 14/10/2026 · fuentes para profundizar · reportar un error

Desbloquea

pon a prueba lo que entendiste

Cargando preguntas…