Resumen
Entiende cómo GitLab integra DAST para detectar vulnerabilidades mientras tu aplicación está en runtime sin arriesgar la estabilidad. Aquí se explica la diferencia frente a pruebas estáticas, el rol de OWASP SAP Proxy y SAP Baseline, y por qué estas verificaciones ocurren tras el deployment y se potencian con review apps.
¿Qué es DAST y por qué importa en GitLab?
Las pruebas dinámicas de seguridad (DAST) analizan una aplicación en ejecución asumiendo un escenario de atacante externo y un enfoque de black box. A diferencia del análisis estático, no requieren acceso al código: inspeccionan el comportamiento real mientras el sistema corre.
¿Qué diferencias hay con pruebas estáticas?
- Las estáticas analizan código, dependencias y contenedores sin ejecutarlos.
- Las dinámicas simulan un atacante externo con la app en runtime.
- Las estáticas tienen acceso total al código; las dinámicas no.
¿Qué limita GitLab al evitar escaneos activos?
- GitLab no ejecuta pruebas dinámicas activas para no saturar el sistema.
- Evita “escaneos duros” que podrían tirar el servicio o dejarlo no apto para producción.
- Prioriza estabilidad del entorno en ejecución.
¿Qué valida DAST pasivo?
- Revisión de headers de seguridad bien configurados.
- Verificación de cookies seguras y transmisión por canales seguros.
- Restricción de acceso de JavaScript a cookies cuando no corresponde.
- Envío de reporte al Merge Request para su evaluación.
¿Cómo funcionan OWASP SAP Proxy y SAP Baseline?
GitLab usa dos componentes: OWASP SAP Proxy y SAP Baseline. Ambos colaboran para analizar el tráfico de la aplicación mientras está corriendo, con un flujo claro de intermediación y prueba.
¿Qué rol cumple cada componente?
- OWASP SAP Proxy: actúa como intermediario entre las comunicaciones del análisis dinámico y el servidor. Captura el tráfico para su evaluación.
- SAP Baseline: ejecuta las pruebas sobre las comunicaciones capturadas por el proxy.
- Integración: el proxy “cacha” el tráfico y Baseline realiza el análisis efectivo para detectar vulnerabilidades.
¿Cuándo correr DAST en el pipeline de GitLab CI?
DAST se ejecuta cuando la aplicación ya está desplegada y accesible. Por ello, las pruebas dinámicas aparecen en el pipeline después del deployment y se benefician de usar review apps.
¿Qué requisitos hacen posible DAST?
- Aplicación corriendo en un clúster de Kubernetes conectada a Internet.
- Configuración del job DAST en
.gitlabci.yml
indicando Dynamic Application Testing. - Visibilidad del entorno desde GitLab CI para inspeccionar tráfico vía proxies.
¿Por qué usar review apps?
- Permiten correr DAST por rama sin esperar staging o producción.
- Alinea la práctica con DevSecOps: seguridad como parte integral del desarrollo.
- Facilita feedback temprano en el Merge Request.
¿Qué lugar ocupa en el flujo del pipeline?
- Construcción del contenedor.
- Ejecución de pruebas iniciales.
- Deployment del entorno.
- Trabajo post-deployment: DAST pasivo y pruebas de performance sobre la app en ejecución.
¿Tienes una experiencia aplicando DAST con review apps en GitLab o dudas sobre el flujo post-deployment? Comparte tus preguntas y casos en los comentarios.