Cuando lees que una herramienta de seguridad no empieza con un informe SAST puede sonar raro: ¿no es SAST la forma clásica de escalar revisiones de código? Codex Security tomó esa decisión a propósito porque la realidad de las vulnerabilidades prácticas suele ser más sutil que un simple flujo de datos.
La raíz del problema: validar la intención, no solo el flujo
SAST hace una cosa muy útil: traza una entrada no confiable hasta un punto sensible y marca el camino. Es elegante y cubre muchos errores. ¿Pero alcanza para decidir si el sistema es realmente seguro?
El punto clave es que muchas fallas no son solo problemas de flujo de datos. Son problemas de intención y de cómo las comprobaciones se mantienen después de transformaciones, decodificaciones o normalizaciones. En otras palabras: no basta con ver que el código llama a sanitize_html(); hay que demostrar que esa llamada mantiene la invariante que el sistema necesita.
¿Te suena familiar? Un caso común: recibes un redirect_url, aplicas una regex para permitir solo ciertos destinos, haces un y luego rediriges. Un informe fuente-a-sumidero puede mostrar la ruta: entrada → regex → decode → redirect. Pero la pregunta real es otra: ¿la validación se aplica al valor que finalmente interpreta el handler de redirección? Si la regex corre antes del decode, quizá la comprobación no restringe lo que realmente se interpreta después.
