Aikido

¿Qué es AI SAST?

Escrito por
Dania Durnas

AI SAST es Pruebas de seguridad de aplicaciones estáticas (SAST) donde el motor es una IA que razona sobre el código en lugar de compararlo con patrones. 

Esta categoría existe porque el SAST tradicional basado en reglas, aunque valioso, tiene límites. No puede detectar clases enteras de vulnerabilidades, incluyendo IDORs, control de acceso roto y fallos de lógica de negocio, que no tienen una firma sintáctica para que una regla las detecte. Todos estos son problemas que requieren la perspectiva de un atacante. Tradicionalmente, esto es lo que cubren las revisiones de código, pero con los LLM aumentando exponencialmente la cantidad de código enviado a producción, las revisiones manuales son más difíciles de escalar.

Aquí es donde entra en juego AI SAST. AI SAST va más allá del SAST al leer el código fuente de la misma manera que lo haría un ingeniero senior durante una revisión de código, rastreando referencias entre archivos y razonando sobre lo que se supone que debe hacer el código frente a lo que realmente hace. También encuentra algunas de las vulnerabilidades que tradicionalmente se encontraban a través del pentesting, pero mucho más rápido y barato.

¿Qué significa AI SAST?

En resumen, AI SAST es análisis estático de código donde una IA lee y razona sobre el código para encontrar vulnerabilidades de seguridad. Aunque el término es controvertido en la industria, a menudo no está claro qué hace cada producto AI SAST. En general, AI SAST se refiere a uno de dos enfoques: 

SAST nativo de IA

También llamado AI SAST basado en razonamiento, este es el AI SAST que utiliza el razonamiento de IA como mecanismo de detección, no como un asistente. Esta es la definición que discutiremos principalmente. El modelo lee la base de código y razona sobre ella directamente. La coincidencia de patrones aún puede estar involucrada como infraestructura de soporte, pero no es el motor principal. El SAST nativo de IA encuentra vulnerabilidades que los pentests han encontrado tradicionalmente, razón por la cual el SAST nativo de IA se compara con el pentesting más a menudo que con el SAST. Las mejores herramientas de SAST nativo de IA proporcionan razonamiento de grado pentest para el código fuente. 

SAST aumentado con IA

Este es el AI SAST de coincidencia de patrones, también llamado SAST mejorado con IA. Bajo esta definición, AI SAST se refiere a un escáner SAST tradicional basado en reglas con características de IA añadidas. El motor de detección sigue siendo basado en reglas y determinista, mientras que la IA se encarga del triaje, la priorización, el filtrado de falsos positivos, las sugerencias de corrección automática y la escritura de reglas en lenguaje natural. La IA no está leyendo la base de código para encontrar las vulnerabilidades (hablaremos de cómo funciona SAST más adelante). Un trabajo necesario, pero el escáner subyacente es el mismo que ha estado funcionando durante años, por lo que esto es una mejora de la tecnología existente. A estas alturas, todos los proveedores que venden SAST determinista deberían considerar la mejora con IA como un requisito en lugar de un extra deseable.

En este artículo, utilizaremos AI SAST para referirnos al SAST nativo de IA, donde la IA realiza el análisis, porque el SAST aumentado con IA cumple el mismo papel que el SAST. El SAST nativo de IA crea una categoría completamente nueva para ayudar a encontrar vulnerabilidades.

¿Cómo saber qué tipo de AI SAST está vendiendo un proveedor?

La pregunta más útil que hacer a un proveedor que promociona SAST con IA es a qué tipo se refieren, porque los dos productos resuelven problemas diferentes. Pero también se puede distinguir el SAST nativo de IA del SAST aumentado con IA escuchando lo que la IA del proveedor afirma hacer.

Si la propuesta trata sobre reducir falsos positivos, priorizar hallazgos, explicar resultados o sugerir soluciones, la detección subyacente sigue siendo basada en reglas, y la IA es el asistente. Esto encaja en la categoría de SAST tradicional. Si la propuesta trata sobre razonar a través de la base de código, detectar IDORs, encontrar fallos de lógica de negocio o seguir el flujo de datos entre servicios, una IA está realizando la detección.

Dado que tienen roles diferentes, no se reemplazan entre sí, por lo que es importante entender lo que se está contratando. Aikido es uno de los pocos proveedores que ofrecen tanto SAST nativo de IA como SAST aumentado con IA.

En qué se diferencia el SAST nativo de IA del SAST convencional

El SAST tradicional, incluido el SAST aumentado con IA, funciona mediante la coincidencia de patrones. Un ingeniero de seguridad escribe una regla que dice algo como "si la entrada del usuario fluye a esta función sin pasar por un saneador, márcala como inyección SQL". La herramienta analiza el código en un árbol de sintaxis abstracta, rastrea cómo se mueven los datos a través de la aplicación y luego busca lugares donde la regla se activa. El SAST es determinista, por lo que reproduce los mismos hallazgos para el mismo código cada vez, razón por la cual el SAST es lo suficientemente rápido, económico y fiable como para validar cada commit en CI/CD.

La otra cara de la moneda es que la coincidencia de patrones no tiene concepto de lo que se supone que debe hacer el código, solo de lo que dice literalmente. Por ejemplo, el SAST no tendría una regla que detecte "lógicamente, este endpoint debería verificar si el usuario posee el recurso antes de modificarlo, pero no lo hace". Eso no es un patrón codificable y requiere que un humano o una IA lo "razone".

Por eso, el SAST nativo de IA puede encontrar vulnerabilidades más complejas. Sigue referencias entre archivos, rastrea solicitudes a través de servicios, pregunta quién llama a una función y qué permisos debería tener, y compara lo que hace el código con lo que debería hacer. La misma vulnerabilidad que pasa desapercibida para cada regla de coincidencia de patrones aparece porque el modelo puede razonar sobre la verificación faltante, no solo buscar un sumidero que no está allí.

Otra diferencia es la cobertura de lenguajes. Con el SAST tradicional, las reglas deben escribirse para cada lenguaje que el motor necesita soportar. Con el SAST de IA, la IA es capaz de comprender todos los lenguajes potenciales en los que puede estar escrita su base de código, por lo que puede dar soporte a organizaciones con bases de código en muchos lenguajes diferentes o poco comunes.

El SAST de IA también es más caro por escaneo que el SAST. Una ejecución que tarda media hora y un par de cientos de dólares no es algo que se ponga delante de cada pull request. La economía obliga al SAST de IA a una cadencia diferente a la del SAST determinista para algunos, reservándolo para cambios de alto riesgo y auditorías de lanzamiento. Estas compensaciones son la razón por la que el SAST de IA es un complemento a la pila de AppSec, no un reemplazo.

Qué detecta el SAST de IA

Las vulnerabilidades para las que está diseñado el SAST de IA son las que el SAST tradicional ha dejado históricamente a los humanos. Las cadenas de exploits de varios pasos aparecen porque el modelo puede conectar hallazgos que parecen no relacionados. Una divulgación de información de baja gravedad, un token de sesión con alcance débil y una política CORS permisiva pueden encadenarse para una toma de control completa de la cuenta. Esto incluye:

  • IDORs y control de acceso roto: La IA puede rastrear una solicitud desde el manejador de rutas a través de la consulta de la base de datos y notar que nada en el medio impone la propiedad.
  • Escalada de privilegios a través de los límites del servicio:
  • Elusión de la lógica de negocio: la IA puede razonar sobre lo que el código está aplicando y notar cuando la aplicación es incompleta, como si faltara una verificación de nivel de suscripción en un endpoint.

{{idors}}

¿Cómo se compara el SAST de IA con el pentesting de IA?

La línea entre el SAST de IA y el pentesting de IA también puede ser difusa, en parte porque ambas herramientas pueden afirmar encontrar las mismas vulnerabilidades y a menudo comparten un diseño de arquitectura.

El SAST de IA solo necesita el código fuente. No necesita ni utiliza una aplicación desplegada. Esto lo hace utilizable en código que aún no está en ejecución y en rutas de código que una prueba en vivo no podría ejercitar de forma segura. Sin embargo, debido a que no puede validar si cada ruta es realmente explotable, produce más falsos positivos que un pentest en vivo. El SAST de IA razona sobre el código sin ejecutarlo, por lo que puede marcar algo que parece una vulnerabilidad pero que no se activará en tiempo de ejecución. Con una red más amplia, detecta cosas a las que un pentest no puede llegar, pero los hallazgos no pueden ser probados. 

El pentesting de IA prueba una aplicación en ejecución. El motor ejercita la aplicación de la misma manera que lo haría un atacante, intentando exploits reales. Los hallazgos vienen con pruebas, como la confirmación de que la solicitud HTTP realmente funcionó. Algunas herramientas de pentesting de IA también aceptan código fuente como contexto adicional (llamado pentesting de caja blanca), lo que permite a la IA leer el código y razonar sobre la lógica de la aplicación junto con la explotación en vivo. En este aspecto, el pentesting de IA se parece al AI SAST, porque ambos leen el código fuente para encontrar vulnerabilidades. Por eso ambos pueden encontrar vulnerabilidades complejas como IDORs y errores de lógica de negocio. La diferencia es que un pentest explota la vulnerabilidad, por lo que el hallazgo viene con pruebas.

Un pentest también proporciona documentación para una auditoría. Los pentesting de IA están siendo aceptados en más certificaciones de cumplimiento, y son más baratos y rápidos que las alternativas de pentesting humano.

Estas herramientas no se reemplazan entre sí. AI SAST se ejecuta en los cambios antes de que se desplieguen y en rutas de código que no son seguras de probar en tiempo de ejecución. El pentesting de IA se ejecuta contra entornos desplegados para validar lo que realmente se explota en producción.

¿Necesita SAST, AI SAST y pentesting de IA?

Puede beneficiarse de los tres, pero con diferentes cadencias. Los equipos más pequeños pueden optar por hacer solo SAST y pentesting de IA, mientras que las organizaciones más grandes pueden optar por ser muy exhaustivas y utilizarlos todos. Cada capa responde a una pregunta diferente, y cada una encuentra una clase de errores que las otras pasan por alto.

  • El SAST determinista se ejecuta en cada commit. Detecta los elementos habituales de OWASP que encajan con patrones conocidos, de forma rápida y económica. Esto pertenece al stack de toda organización. Independientemente de cómo lo llame el proveedor, las mejores herramientas SAST tienen triaje con IA y corrección automática.
  • AI SAST se ejecuta en los cambios y rutas de código donde la lógica es más importante, los lugares a los que SAST no puede llegar estructuralmente. Es más caro que el SAST basado en reglas, pero más barato que el pentesting de IA. 
  • El pentesting de IA se ejecuta contra la aplicación desplegada, validando lo que realmente se explota en tiempo de ejecución. Es exhaustivo pero cuesta más. Para algunos, el pentesting funciona mejor periódicamente o en lanzamientos más grandes. Sin embargo, las grandes organizaciones empresariales con necesidades de seguridad estrictas pueden considerar el pentesting de IA continuo.

Como regla general, SAST siempre, AI SAST a menudo, pentesting de IA de vez en cuando. 

Lo que AI SAST significa para los equipos de AppSec

El SAST nativo de IA cubre el espacio entre el SAST basado en reglas y los pentests complejos. La coincidencia de patrones siempre ha sido ciega a los fallos de lógica, y los equipos de AppSec han estado compensando con revisiones de código, pentests y programas de recompensas por errores. AI SAST automatiza parte de lo que esos programas estaban haciendo, a un coste que escala mejor que los humanos, con una cobertura que mejora a medida que los modelos mejoran.

Aikido ofrece SAST basado en IA SAST análisis de código con IA, un motor agentico que analiza toda la base de código para detectar los casos SAST no puede detectar SAST . Funciona junto con SAST de Aikido, no en su lugar, ya que este último ha estado impulsado por IA desde el principio con clasificación mediante IA y corrección automática con IA. Aikido es una de las pocas plataformas que ofrece tanto SAST nativo de IA SAST SAST asistido por IA, por lo que puedes configurar la cobertura de seguridad adecuada para tu organización.

Compartir:

https://www.aikido.dev/blog/what-is-ai-sast

Suscríbete para recibir noticias

4.7/5
¿Cansado de los falsos positivos?

Prueba Aikido como otros 100k.
Empiece ahora
Obtenga un recorrido personalizado

Con la confianza de más de 100k equipos

Reservar ahora
Escanee su aplicación en busca de IDORs y rutas de ataque reales

Con la confianza de más de 100k equipos

Empezar a escanear
Vea cómo el pentesting de IA prueba su aplicación

Con la confianza de más de 100k equipos

Empezar a probar

Asegura tu plataforma ahora

Protege tu código, la nube y el entorno de ejecución en un único sistema central.
Encuentra y corrije vulnerabilidades de forma rápida y automática.

No se requiere tarjeta de crédito | Resultados del escaneo en 32 segundos.