Tema 19

19. DevSecOps, SAST, DAST, escaneo de imágenes y automatización de controles

La seguridad de una arquitectura moderna no puede depender de revisiones tardías o auditorías esporádicas. Necesita integrarse en el flujo de entrega. DevSecOps busca justamente eso: mover controles hacia etapas tempranas, automatizar evidencia útil y reducir el tiempo entre introducir un riesgo y detectarlo.

Objetivo Integrar seguridad al ciclo de entrega
Enfoque Automatización, evidencia y gates útiles
Resultado Detectar riesgos antes de producción

19.1 Introducción

Cuando una organización entrega cambios con frecuencia, la seguridad no puede seguir operando como una revisión manual al final del proceso. Si los controles aparecen demasiado tarde, los hallazgos llegan cuando el costo de corregir es alto y cuando el equipo ya está empujando hacia producción.

DevSecOps propone integrar la seguridad en el flujo normal de desarrollo, build, test, empaquetado y despliegue. La idea no es agregar fricción por agregarla, sino automatizar controles que realmente reduzcan riesgo y ofrecer feedback temprano a los equipos.

Esto exige un equilibrio delicado: si la automatización es débil, no protege; si es excesivamente ruidosa o poco precisa, los equipos la ignoran. El objetivo es construir un sistema de controles útiles, repetibles y sostenibles.

19.2 Qué significa DevSecOps

DevSecOps no significa que "seguridad ahora la hace desarrollo" ni que todo se resuelve con herramientas de pipeline. Significa incorporar prácticas, controles y responsabilidades de seguridad dentro de los mismos procesos con los que se construye y opera el software.

En la práctica implica:

  • Controles tempranos en repositorios y pipelines.
  • Políticas automatizadas para builds, imágenes y despliegues.
  • Feedback rápido y accionable para los equipos.
  • Gobierno de excepciones, no solo detección de problemas.

19.3 Shift-left con criterio

Shift-left significa mover validaciones hacia etapas más tempranas del ciclo de vida. Esto es útil porque permite encontrar problemas cuando todavía son baratos de corregir. Sin embargo, no todo puede ni debe resolverse únicamente en esa etapa. Algunos riesgos solo aparecen con el sistema ejecutándose.

La postura madura no es reemplazar controles de runtime por controles tempranos, sino combinarlos inteligentemente.

19.4 SAST

SAST, o Static Application Security Testing, analiza código fuente, bytecode o representaciones estáticas para detectar patrones inseguros, dependencias peligrosas o errores comunes antes de ejecutar la aplicación.

Su valor principal está en que puede ejecutarse muy temprano y a gran escala. Ayuda a detectar problemas como:

  • Uso inseguro de ciertas APIs.
  • Validaciones insuficientes.
  • Manejo riesgoso de datos sensibles.
  • Patrones que suelen derivar en inyecciones o exposición.
SAST no entiende por completo el contexto del sistema. Aporta señal temprana, pero necesita interpretación y priorización.

19.5 DAST

DAST, o Dynamic Application Security Testing, analiza la aplicación en ejecución. A diferencia del enfoque estático, observa el sistema desde afuera, interactuando con endpoints y respuestas reales. Esto permite detectar ciertos fallos que dependen del comportamiento en runtime.

Es útil para encontrar:

  • Configuraciones inseguras visibles en la aplicación desplegada.
  • Endpoints expuestos o mal protegidos.
  • Errores de autenticación o autorización observables.
  • Problemas que no son evidentes leyendo solo el código.

19.6 SAST y DAST no compiten

Un error frecuente es discutir cuál de los dos "sirve más". En realidad, responden a preguntas distintas y se complementan. SAST ve antes, pero con menos contexto de ejecución. DAST ve más cerca del comportamiento real, pero llega más tarde y no cubre todo el espacio de código.

Técnica Ventaja Límite
SAST Feedback temprano y escalable Más ruido y menos contexto de ejecución
DAST Observa el comportamiento real expuesto Llega más tarde y no explora todo el código

19.7 Escaneo de imágenes

En arquitecturas basadas en contenedores no alcanza con revisar el código fuente. También hay que analizar las imágenes finales, porque en ellas viven el sistema base, librerías del runtime, paquetes del sistema operativo y archivos adicionales que pueden introducir riesgo.

El escaneo de imágenes ayuda a detectar:

  • Paquetes vulnerables conocidos.
  • Dependencias desactualizadas o sin soporte.
  • Componentes inesperados dentro de la imagen.
  • Exposición accidental de archivos sensibles.

19.8 Gates y políticas automáticas

Automatizar controles no siempre significa bloquear todo. A veces conviene alertar; otras veces conviene impedir promoción a producción. La clave está en definir criterios claros de severidad, criticidad y contexto.

Un gate útil debería responder a preguntas como:

  • Qué tipo de hallazgo justifica bloquear.
  • Qué excepciones pueden existir y quién las aprueba.
  • Cómo se evita bloquear por ruido irrelevante.
  • Qué evidencia queda de la decisión tomada.

19.9 Falsos positivos y fatiga

Una de las razones por las que muchos programas de seguridad automatizada fracasan es la fatiga de alertas. Si cada pipeline arroja decenas o cientos de hallazgos sin priorización real, los equipos dejan de prestar atención y la herramienta pierde legitimidad.

Para evitarlo conviene:

  • Priorizar por impacto real y exposición.
  • Contextualizar según tipo de servicio y entorno.
  • Revisar reglas que generan demasiado ruido.
  • Distinguir claramente entre alerta, warning y bloqueo.

19.10 Automatización de controles en CI/CD

El pipeline puede convertirse en una herramienta poderosa para hacer cumplir políticas técnicas de forma consistente. Esto no solo incluye escaneos, sino también validaciones sobre artefactos, configuraciones y metadatos de despliegue.

Por ejemplo, puede automatizarse la verificación de:

  • Dependencias aprobadas y actualizadas.
  • Imágenes base permitidas.
  • Presencia de SBOM o firma.
  • Configuraciones mínimas requeridas para despliegue.

19.11 Seguridad como feedback, no solo como control policial

Un pipeline de seguridad maduro no debería limitarse a decir "falló". También debería ayudar a entender por qué falló, qué riesgo representa el hallazgo y cuál es la forma esperable de corregirlo. Si la experiencia del desarrollador es puramente punitiva, la seguridad tiende a ser percibida como obstáculo y no como sistema de ayuda.

19.12 Excepciones y gobierno

No todo hallazgo exige una corrección inmediata ni todo bloqueo es razonable. Hay veces en que se acepta riesgo temporalmente por razones operativas o de negocio. Lo importante es que esa excepción quede explicitada, con vencimiento, responsable y justificación.

Una excepción sin trazabilidad se convierte rápidamente en deuda invisible.

19.13 Errores comunes

  • Introducir muchas herramientas sin estrategia de priorización.
  • Bloquear pipelines por hallazgos de bajo valor o sin contexto.
  • No revisar la calidad de las reglas y aceptar ruido constante.
  • Depender solo de escaneo estático y omitir validaciones de runtime.
  • No dejar evidencia ni gobierno sobre excepciones aceptadas.
La automatización de seguridad sirve cuando reduce incertidumbre y acelera correcciones. Si solo agrega ruido, se convierte en teatro de control.

19.14 Qué debes recordar de este tema

  • DevSecOps integra seguridad dentro del flujo de entrega, no solo al final.
  • SAST y DAST se complementan porque observan problemas desde ángulos distintos.
  • El escaneo de imágenes es imprescindible en arquitecturas basadas en contenedores.
  • Los gates deben ser útiles, proporcionados y gobernados, no arbitrarios.
  • La calidad del feedback y la gestión de excepciones son tan importantes como la detección.

19.15 Conclusión

La seguridad que llega tarde compite con la entrega; la seguridad integrada acompaña la entrega. DevSecOps busca precisamente eso: convertir controles técnicos en parte normal del ciclo de construcción, validación y despliegue. Cuando la automatización está bien calibrada, ayuda a encontrar riesgos antes, con menos costo y con más evidencia para decidir qué hacer.

En el próximo tema estudiaremos observabilidad de seguridad: logs, métricas, trazas y correlación para cerrar el ciclo y entender qué ocurre una vez que los sistemas ya están corriendo.