Evaluating LLMs for Real-World Web Vulnerability Detection
Este artículo evalúa seis modelos de lenguaje de gran escala, tanto de frontera como de pesos abiertos, en su capacidad para detectar vulnerabilidades web del mundo real en complementos de WordPress, revelando que, si bien todos los modelos pueden identificar problemas válidos, las tasas de detección varían significativamente según el modelo y el diseño del prompt, sin que ningún modelo logre un reporte consistente o una precisión perfecta a través de las iteraciones.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que tienes una enorme biblioteca de "manuales de instrucciones" digitales (código) para construir sitios web. Algunos de estos manuales tienen trampas ocultas, como una tabla suelta en el suelo que conduce a un sótano lleno de ladrones (hackers). Estas trampas se llaman vulnerabilidades.
Durante mucho tiempo, encontrar estas trampas requería un equipo de expertos guardias de seguridad leyendo manualmente cada página de cada manual. Pero recientemente, ha llegado un nuevo tipo de "superlector": los Modelos de Lenguaje Extensos (LLM). Estos son sistemas de IA que pueden leer y entender el código casi como lo hace un humano.
Este documento es esencialmente una boleta de calificaciones que pone a prueba qué tan bien seis diferentes "superlectores" pueden encontrar estas trampas ocultas en los complementos (plugins) de sitios web de WordPress (los añadidos que otorgan funciones extra a los sitios web).
Aquí está el desglose de su experimento y hallazgos, utilizando analogías simples:
1. La Configuración: La "Caza de Trampas"
Los investigadores seleccionaron cuatro complementos populares de WordPress que eran conocidos por tener trampas específicas del mundo real (como la Inyección SQL, que es como un truco de hacker para engañar a una base de datos y hacer que revele sus secretos, o el Cross-Site Scripting, que es como un hacker inyectando una nota falsa en un tablero de anuncios público).
Le pidieron a seis modelos de IA diferentes que actuaran como auditores de seguridad. No solo les preguntaron una vez; corrieron la prueba tres veces para ver si la IA era consistente, como pedirle a un estudiante que tome el mismo examen durante tres días seguidos.
También probaron diferentes formas de hacer la pregunta (llamadas "prompts"):
- El Prompt "Perezoso": Solo decía, "Encuentra los errores".
- El Prompt "General": Decía, "Eres un experto en seguridad. Encuentra todos los tipos principales de errores".
- El Prompt "Específico": Decía, "Eres un experto en seguridad. Busca específicamente este tipo exacto de error".
2. Los Resultados: ¿Quién Pasó la Prueba?
Los resultados fueron una mezcla de éxito impresionante e inconsistencia frustrante.
- El Estudiante Estrella: Un modelo, Claude Opus 4.6, fue el mejor en su trabajo. Encontró aproximadamente el 63% de las trampas conocidas. Fue el "detective" más confiable.
- La Sorpresa de Código Abierto: Un modelo llamado MiniMax M2.5, que puede ejecutarse en tu propia computadora (a diferencia de los otros que requieren una suscripción de pago), se desempeñó tan bien como los mejores modelos de pago, encontrando alrededor del 48% de las trampas. Esto es como una comida casera que sabe tan bien como un plato de un restaurante de cinco estrellas.
- Los que Lucharon: Los modelos Qwen (otra opción de código abierto) solo encontraron alrededor del 35% de las trampas. Perdieron más de la mitad de las veces.
La Gran Conclusión: Incluso el mejor de las IA perdió casi el 40% de las trampas. Ninguna IA encontró todas las trampas en cada complemento.
3. La "Pregunta Mágica" (Diseño de Prompts)
Los investigadores descubrieron que cómo le preguntas a la IA importa más que qué IA usas.
- Lo Específico es Mejor: Si le dijiste a la IA, "Busca específicamente Inyección SQL", encontró más errores que si dijeras, "Busca cualquier cosa que esté mal". Es como decirle a un usuario de un detector de metales: "Busca monedas de oro", en lugar de "Busca cualquier cosa metálica".
- La Complejidad no Ayuda: Darle a la IA un manual de instrucciones largo y complicado, paso a paso, no la hizo más inteligente. Las instrucciones simples y directas funcionaron igual de bien.
4. El Problema del "Lanzamiento de Moneda" (Consistencia)
Este fue el hallazgo más sorprendente. La IA era poco confiable.
Si le hacías a la misma IA la misma pregunta sobre el mismo código tres veces, daba una respuesta diferente cada vez.
- A veces decía: "¡Encontré una trampa!"
- La siguiente vez decía: "Todo parece seguro".
- La tercera vez podía decir: "¡Encontré una trampa, pero es una diferente!"
Solo un modelo (Gemini) fue consistente el 95% de las veces, pero también fue el que encontró la menor cantidad de trampas. Los mejores modelos solían ser inconsistentes, actuando como un lanzamiento de moneda. Esto significa que no puedes confiar en un solo escaneo; tienes que ejecutar el escaneo varias veces para estar seguro.
5. La "Trampa Fantasma" (La que Todos Perdieron)
Hubo un complemento específico con una trampa difícil llamada "Stored Cross-Site Scripting". Ninguna de las seis IA la encontró, incluso después de 90 intentos.
¿Por qué? La trampa estaba oculta detrás de una configuración muy específica que no estaba activada por defecto. Las IA asumieron: "Como la configuración no está activada, este código no importa", y pasaron de largo. Fue un caso en el que la IA tomó una suposición lógica que resultó ser errónea.
6. ¿Cómo Compara esto con las Herramientas Antiguas?
Los investigadores también pasaron el código por un escáner de seguridad tradicional (Semgrep), que es como usar un detector de metales que solo pita para formas específicas.
- El Resultado: El escáner tradicional encontró cero de las trampas conocidas.
- La Lección: Las IA fueron mucho mejores para encontrar estos errores específicos del mundo real que las herramientas de la vieja escuela, pero aun así perdieron algunos.
El Veredicto Final
El documento concluye que la IA es un asistente poderoso, pero no un reemplazo para los expertos en seguridad humanos.
- Funciona: La IA puede encontrar errores reales y peligrosos en el código de un sitio web.
- No es perfecta: Pierde aproximadamente la mitad de los errores y cambia de opinión con frecuencia.
- Cómo usarla: Obtienes mejores resultados usando un modelo de alto nivel (como Claude), dándole una pregunta específica ("Busca errores de SQL") y ejecutando la prueba varias veces.
- La Advertencia: No puedes confiar ciegamente en el reporte de la IA. Los humanos aún deben verificar los hallazgos porque la IA a veces "alucina" (inventa errores que no existen) o pierde trampas complejas.
En resumen, la IA es una excelente linterna nueva para encontrar agujeros en la armadura de tu sitio web, pero todavía necesitas a un humano que sostenga la linterna, revise las sombras y se asegure de que la pared sea realmente segura.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.