Reservar cita

SAST: probar el código antes de que se ejecute

El análisis estático de código es el punto de control con más referencias cruzadas del ciclo de desarrollo seguro – y a la vez la herramienta con mayor potencial de frustración. Qué aporta técnicamente el SAST, dónde están probados sus límites, qué estándares lo exigen y qué está cambiando la IA ahora mismo.

El SAST (Static Application Security Testing) examina código fuente, bytecode o binarios en busca de vulnerabilidades sin ejecutar el programa – a diferencia del DAST (prueba de la aplicación en ejecución desde fuera), el IAST (instrumentación en tiempo de ejecución) y el SCA (análisis de dependencias). Su fuerza: el SAST encuentra pronto las clases de fallo conocidas, en cada línea de código y con la ubicación exacta – lo bastante barato para cada commit. Su precio: como un análisis totalmente automático que sea a la vez completo y correcto es teóricamente imposible, toda herramienta aproxima – y produce falsas alarmas o pasa por alto clases de fallo sin firma. Usar bien el SAST nunca consiste en elegir «qué herramienta», sino: qué análisis, sobre qué código, en qué punto del flujo de trabajo – y quién tría los hallazgos. Precisamente en ese triaje se concentra desde 2024 el mayor cambio en años: el análisis y la priorización asistidos por IA.

Lo esencial en resumen

01

Cómo funciona el SAST por dentro

Los motores SAST traducen el código a representaciones intermedias – árboles de sintaxis abstracta o hechos de programa relacionales – y aplican sobre ellas análisis de flujo de control, de flujo de datos y de taint. CodeQL, por ejemplo, extrae el código a una base de datos y expresa las vulnerabilidades como consultas en una extensión de Datalog; Semgrep casa patrones estructuralmente sobre el árbol sintáctico, con fuentes, sumideros y sanitizers como reglas de taint. La profundidad marca la diferencia: el análisis dentro de una función es el estándar – el análisis interprocedural a través de límites de archivos y funciones distingue las clases de herramientas y, en Semgrep por ejemplo, queda reservado a la oferta comercial.

02

El límite probado: la exactitud es imposible

Según el teorema de Rice, todas las propiedades semánticas no triviales de los programas son indecidibles – un análisis que encuentre todas las vulnerabilidades sin dar nunca una falsa alarma es matemáticamente imposible. Cada herramienta elige un lado: la sobreaproximación (ningún caso omitido dentro del espacio modelado, a costa de falsas alarmas sistemáticas – la base la pusieron Cousot y Cousot en 1977 con la interpretación abstracta) o la subaproximación (más precisa, con huecos). Los falsos positivos no son un error de implementación, sino el precio del enfoque – la única cuestión es quién los descarta.

03

Qué encuentra el SAST de forma fiable

El SAST es más fuerte en clases de fallo con forma estable: inyección, llamadas criptográficas inseguras, credenciales incrustadas, errores de memoria en C/C++ – con archivo, línea y posición exactos, mucho antes de que exista una aplicación que probar. Por eso OWASP SAMM sitúa las pruebas estáticas y dinámicas automatizadas ya en el nivel de madurez 1 de su corriente de Security Testing: son la línea base escalable sobre la que se apoyan las pruebas manuales más profundas.

04

Qué no puede encontrar estructuralmente

OWASP nombra con claridad los puntos ciegos: los fallos de autenticación y autorización, el mal uso de la criptografía y los errores de lógica de negocio son difíciles o imposibles de detectar automáticamente – y los errores de configuración ni siquiera están en el código. La medición lo confirma: en un estudio ISSTA de la TU de Múnich, seis analizadores de C/C++ pasaron por alto entre el 47 y el 80 por ciento de 192 vulnerabilidades reales conocidas; incluso combinando todas las herramientas se escapaba entre el 30 y el 69 por ciento. Estas clases requieren threat modeling, revisiones – o razonamiento semántico.

Página de conocimiento Threat Modeling
05

La realidad de los falsos positivos

Según la investigación consolidada, entre el 35 y el 91 por ciento de las alertas del análisis estático no son accionables. Un estudio de campo de 2025 – financiado por un proveedor – sobre casi 3.000 repositorios públicos encontró más del 91 por ciento de falsas alarmas en tres clases de fallo clásicas, con un caso extremo de 1.166 hallazgos y 6 reales. Y la evaluación de más de 100 millones de hallazgos AppSec de 178 organizaciones mostró que solo entre el 2 y el 5 por ciento exige acción inmediata. La fatiga de alertas no es un factor blando: es la causa más frecuente del fracaso de los programas SAST.

06

Qué hacen distinto Google y Meta

Las dos palancas más eficaces están publicadas: en Meta, la tasa de corrección de los escaneos nocturnos por lotes era casi cero; cuando el mismo análisis apareció como comentario en la revisión de código del diff, subió a más del 70 por ciento – mismo motor, misma tasa de falsas alarmas. Google solo admite en la revisión análisis cuya tasa efectiva de falsas alarmas quede por debajo del 10 por ciento; en la práctica su sistema Tricorder está justo por debajo del 5 por ciento. La lección: el punto de despliegue y la confianza del desarrollador pesan más que la calidad de la herramienta.

07

Evaluar herramientas con seriedad

El OWASP Benchmark es una aplicación Java ejecutable con 2.740 casos de prueba realmente explotables en 11 categorías; las herramientas se puntúan por tasa de verdaderos positivos frente a falsos positivos (índice de Youden). La suite Juliet del NIST añade casos sintéticos sobre 118 CWE en C/C++ y 112 en Java. Cuidado con afirmaciones de fabricante como «100 % de detección»: los corpus son públicos, el sobreajuste es posible – y benchmarks recientes como CASTLE muestran que cada clase de herramienta tiene sus propios patrones de fallo: la verificación formal minimiza falsas alarmas pero falla fuera de su modelo; los LLM brillan en fragmentos y flaquean al crecer el código.

08

Un panorama de herramientas en plena sacudida

Las coordenadas cambiaron en 2024/2025: Semgrep puso sus reglas mantenidas bajo licencia propietaria en diciembre de 2024 – en respuesta, un consorcio de unos diez proveedores de seguridad bifurcó el motor como Opengrep (LGPL; tras un año: 43 releases y análisis de taint entre funciones como código abierto). Sonar también sacó sus analizadores de lenguaje de la LGPL. GitHub dividió Advanced Security en abril de 2025 en Code Security (30 US-$ por committer activo/mes) y Secret Protection (19 US-$). Y tras dos años de pausa, Gartner relanzó el Magic Quadrant de Application Security Testing en octubre de 2025 – con 16 proveedores y el ASPM como dimensión de evaluación.

09

Qué cambia la IA en el SAST

Las cifras más sólidas están en el triaje: agentes LLM detrás de un SAST clásico redujeron las falsas alarmas en el OWASP Benchmark hasta un 88,6 por ciento con solo un 3,1 por ciento de pérdida de recall; sobre alertas reales de CodeQL identificaron hasta el 93,3 por ciento de los falsos positivos. Copilot Autofix de GitHub reduce el tiempo mediano de corrección de 1,5 horas a 28 minutos según la telemetría beta. Y sistemas autónomos como Google Big Sleep o los finalistas del DARPA AIxCC ya encuentran vulnerabilidades reales por sí solos. Los límites de la tarjeta 4 se desplazan – pero no desaparecen: la IA complementa las capas, no las sustituye.

Profundizar: AI Code Security
Profundización · SAST con LLM e IA

AI SAST: el análisis aprende a leer la intención

Desde 2024 el SAST cambia más rápido que en los quince años anteriores: los modelos de lenguaje trían hallazgos, razonan semánticamente más allá de los límites de las funciones y ya encuentran zero-days reales. En julio de 2026, Wiz formuló para ello un modelo de tres niveles — escaneo base determinista, razonamiento de IA continuo en cada pull request, deep testing agéntico dirigido — con la tesis central: «Deep scanning everywhere doesn't scale». Las cuatro evoluciones clave:

Triaje LLM detrás del escáner

El beneficio mejor demostrado: un filtro LLM detrás del escáner determinista reduce las falsas alarmas entre un 88,6 y un 93,3 por ciento con una pérdida de recall mínima — consistente en varios estudios independientes.

Razonamiento semántico en cada PR

En lugar de patrones, la IA examina la estructura de la aplicación, los trust boundaries y los flujos de datos — «como lo haría un investigador de seguridad». Enfoques neuro-simbólicos como IRIS duplican la detección frente a CodeQL solo.

Análisis profundo autónomo

Sistemas como Wiz Atlas (más del 90 % en CyberGym, 200+ vulnerabilidades desconocidas) o los finalistas del DARPA AIxCC encuentran fallos reales por sí solos — el hallazgo se convierte en commodity.

Nuevos límites y superficie de ataque

Los veredictos de los LLM no son deterministas y son manipulables: comentarios de código adversarios engañan a los detectores LLM en más del 90 % de los casos. El analista de IA necesita el mismo endurecimiento que cualquier otra herramienta.

Página de conocimiento: AI SAST — análisis de código con LLM

Con todas las evidencias: estado de la investigación, panorama de herramientas 2026, riesgos y gobernanza — incluido el modelo de niveles de Wiz en detalle.

Nuestra solución · AI SAST en operación

VamiAppSec: seis escáneres, un backlog, triaje con IA

Nuestra plataforma VamiAppSec orquesta Semgrep, Gitleaks, Checkov, Syft/Grype y el Claude Code Security Reviewer en un único pipeline, normaliza todos los hallazgos en un esquema unificado y enriquece cada hallazgo con un LLM – con contexto, evaluación de explotabilidad y propuesta de parche concreta. Justo el trabajo de triaje que hunde los programas SAST clásicos lo asume la máquina – de forma trazable y desplegable en su propio centro de datos.

6+escáneres en un pipeline
−54 %tiempo mediano de triaje
93 %duplicados eliminados
24 hhasta la puesta en marcha
  • Self-hosted o SaaS – si lo desea, íntegramente en su propia infraestructura
  • Integraciones: GitHub, GitLab, Bitbucket, Jenkins, Slack, MS Teams
  • Como consultoría: arquitectura de escaneo, calibración y validación de explotabilidad

Cifras de mediciones propias frente a la salida bruta de los escáneres; detalles en vamiappsec.com.

Estándares y fuentes

Los contenidos de esta página se basan en las siguientes guías y estudios disponibles públicamente.

NIST · 2022

SP 800-218: Secure Software Development Framework (SSDF) v1.1

Ancla el análisis de código en la práctica PW.7 (y tras el release en RV.1.2); la tabla de referencia enlaza PW.7 con IEC 62443-4-1, ISO/IEC 27034 y OWASP ASVS.

OWASP Foundation · continuo

Source Code Analysis Tools

Encuadre canónico de fortalezas (clases de fallo conocidas, ubicación exacta) y debilidades (autorización, lógica de negocio, configuración, volumen de falsas alarmas).

OWASP Foundation · 2016–2026

OWASP Benchmark Project

2.740 casos de prueba Java ejecutables y realmente explotables en 11 categorías; puntuación mediante el índice de Youden. Variante Python en curso.

NIST · 2017

Juliet Test Suite 1.3 (SARD)

Casos sintéticos sobre 118 CWE (C/C++) y 112 (Java), con gemelos buenos/malos para medir la discriminación.

Lipp, Banescu, Pretschner (TU Múnich) · 2022

An Empirical Study on the Effectiveness of Static C Code Analyzers (ISSTA)

Seis analizadores contra 192 vulnerabilidades reales en 27 proyectos: 47–80 % omitidas; combinar herramientas solo reduce la brecha al 30–69 %.

Distefano et al. · 2019

Scaling Static Analyses at Facebook (CACM)

La evidencia del diff-scan: tasa de corrección casi nula en lotes, más del 70 % tras pasar a comentarios de revisión sobre el diff – con análisis idéntico.

Sadowski et al. · 2018

Lessons from Building Static Analysis Tools at Google (CACM)

La regla del 10 %: por encima de esa tasa efectiva de falsas alarmas, el análisis sale de la revisión; Tricorder está en realidad justo por debajo del 5 %.

BSI · 2024

TR-03185: ciclo de vida de software seguro, parte 1

PROD.DEV.F.2: DEBERÍA realizarse además un análisis estático automático del código – con remisiones a CON.8, el SSDF (PW) e IEC 62443-4-1.

BSI · 2023

Compendio IT-Grundschutz, módulo CON.8 desarrollo de software

Requisito básico CON.8.A7: pruebas durante el desarrollo, complementadas con la recomendación DEBERÍA de análisis estático automático.

PCI Security Standards Council · 2024

PCI DSS v4.0.1, requisito 6.2.3

Revisión del código de software a medida antes de producción – manual o automatizada; obligatoria como requisito diferido desde el 31 de marzo de 2025.

Veracode · 2025

State of Software Security 2025

Telemetría de más de 1,3 millones de aplicaciones: semivida de corrección de 252 días (+47 % en 5 años); el 74 % de las organizaciones arrastra deuda de seguridad.

Gartner · 2025

Magic Quadrant for Application Security Testing

Relanzado el 6 de octubre de 2025 tras dos años de pausa; 16 proveedores evaluados, con el ASPM integrado como dimensión de evaluación.

Nature Scientific Data · 2025

Consolidated dataset on static analysis alert actionability

Consolida la investigación sobre la fatiga de alertas: el 35–91 % de las alertas de los analizadores estáticos no son accionables.

¿Implantar SAST, despejarlo o acelerarlo con IA?

En una primera conversación sin compromiso miramos su pipeline: qué análisis corre dónde, cuánto ruido soporta su equipo y dónde tiene más palanca el triaje con IA.