SAST / DAST
SAST y DAST son las dos familias de pruebas de seguridad de aplicaciones automatizadas: la primera analiza el código desde dentro (caja blanca), la segunda ataca la app en ejecución desde fuera (caja negra). Se complementan: ninguna por sí sola encuentra todo.
SAST (Static Application Security Testing)
Sección titulada «SAST (Static Application Security Testing)»Qué analiza el código fuente/bytecode SIN ejecutarlo (caja blanca)Encuentra inyección, XSS, hardcoded secrets, patrones inseguros, flujos de datos peligrososCuándo en el IDE, en el PR y en el CI (shift-left, feedback rápido)Limitación no ve fallos de runtime/configuración; genera FALSOS POSITIVOS (hay que tunear)DAST (Dynamic Application Security Testing)
Sección titulada «DAST (Dynamic Application Security Testing)»Qué ataca la aplicación EN EJECUCIÓN desde fuera (caja negra), como un atacanteEncuentra fallos observables en runtime: configuración, auth, inyección explotable, headersCuándo en staging/QA (y controlado en prod); más lento, menos cobertura de códigoLimitación no ve el código; cobertura depende de poder "recorrer" toda la app (crawling/auth)IAST y comparación
Sección titulada «IAST y comparación»IAST instrumenta la app (agente) y observa durante los tests -> combina ventajas menos falsos positivos, pero requiere instrumentaciónSAST caja blanca, temprano, mucho código, más FPDAST caja negra, tardío, runtime real, menos FP pero menos cobertura-> usar AMBOS + SCA (dso-deps) + secretos (dso-secrets) en el pipelineHerramientas
Sección titulada «Herramientas»SAST Semgrep (reglas, rápido), CodeQL (consultas potentes), SonarQube, Bandit (py), gosecDAST OWASP ZAP (open-source), Burp Suite (ver tool-burp), Nuclei (ver tool-nuclei)IAST agentes comerciales (Contrast, etc.)Integración y tuning
Sección titulada «Integración y tuning»- SAST en el PR: solo diferencial (nuevo código) para no ahogar en deuda histórica- reglas a medida (Semgrep) para patrones propios de la organización- triage de falsos positivos; marcar y suprimir con justificación y caducidad- DAST autenticado (con credenciales de prueba) para cubrir zonas tras loginBlue Team / AppSec
Sección titulada «Blue Team / AppSec»- SAST temprano (IDE/PR) + DAST en staging + IAST donde aporte; nunca una sola técnica.
- Tunear agresivamente los falsos positivos: un SAST ruidoso se acaba ignorando.
- Reglas propias (Semgrep/CodeQL) para los patrones de riesgo específicos del código.
- Integrar con SCA (Dependencias & SCA) y secretos (Gestión de secretos) como parte del gate de CI (Seguridad en CI/CD).
CVEs y casos reales
Sección titulada «CVEs y casos reales»- CodeQL ha encontrado clases enteras de vulnerabilidades (variant analysis) en proyectos open-source grandes.
- Semgrep es estándar para reglas de secure coding en pipelines por su velocidad y bajo FP.
- Fallos de runtime/config que SAST no ve (headers, auth) son los que DAST captura en staging.
Checklist de prueba
Sección titulada «Checklist de prueba»- SAST en IDE/PR (diferencial) y en CI con gate
- Reglas a medida (Semgrep/CodeQL) para patrones propios
- DAST en staging, autenticado para cubrir tras login
- IAST donde la instrumentación aporte
- Triage y supresión de falsos positivos con caducidad
- Combinar con SCA (Dependencias & SCA) y secretos (Gestión de secretos)
- Resultados en el PR (feedback) y panel de postura