46 puntos por nuremberg 2025-12-04 | 5 comentarios | Compartir por WhatsApp

Resumen general en una línea

  • Con un pipeline barato que combina prompts para LLM y empaquetado de código fuente, se encontraron 3 vulnerabilidades de denegación de servicio en Django y FastAPI (Starlette) (CVE-2025-64458, CVE-2025-64460, CVE-2025-62727)

Resumen

  • Al ver que equipos de alto nivel en DEF CON LiveCTF y DARPA AIxCC usaban LLM para romper binarios e incluso encontrar nuevos 0-day, surgió la impresión de que, también en offensive research real, los LLM pueden mostrar una eficiencia superior a la humana
  • Revisando los archivos de GitHub y el diseño de RoboDuck de equipos participantes de AIxCC (Team Atlanta, Theori), pareció posible adaptar al workflow de búsqueda de vulnerabilidades un enfoque de “encontrar bugs con LLM en lugar de fuzzing”
  • Aprovechando el contexto acumulado al reportar varios problemas de seguridad en Django, DRF y Python, se fijó como objetivo inicial claro encontrar nuevas vulnerabilidades de tipo denial-of-service en el framework Django usando LLM
  • A diferencia de los modelos participantes de AIxCC, que automatizan por completo desde el análisis de binarios hasta el parcheo, se diseñó una estructura que automatiza solo la etapa de “recolectar candidatos de segmentos de código que parezcan vulnerables” en Django, un objetivo basado en scripts, para mantener el costo en unos pocos dólares
  • Al LLM se le asignó el rol de “investigador de seguridad que busca vulnerabilidades en Django”, y se redactó un prompt largo que reunía ejemplos de diffs de CVE de DoS, restricciones en <tips> y ejemplos de formato de salida, con el fin de evitar propuestas de parche innecesarias y reducir la tasa de falsos positivos
  • El código fuente de Django se empaquetó en XML por directorios y se dividió en fragmentos de menos de 40K tokens para pasárselos a GPT-5; incluso recorriendo así todo el framework, el costo de ejecución se mantuvo en alrededor de 5 dólares
  • Al revisar candidatos false-positive encontrados en el workflow, también se descubrieron patrones vulnerables que habían pasado desapercibidos durante años. Incluso en el proceso de validación, mostró una gran capacidad para explicar la root cause de los problemas de seguridad y redactar PoC
  • Después, en lugar de la API de OpenAI, se conectó el prompt de AGENTS.md a Codex CLI para que revisara activamente el código fuente de Django, y como resultado se encontró una vulnerabilidad DoS O(n²) en el manejo del hostname de URL de HttpResponseRedirectBase, registrada como CVE-2025-64458
  • Al aplicar el mismo prompt a FastAPI (más exactamente, Starlette), se reveló que la lógica de fusión del header Range de FileResponse podía provocar ReDoS por procesamiento O(n²) basado en expresiones regulares; esto se publicó como CVE-2025-62727 y recibió una calificación CVSS 8.7 (High) según Snyk

5 comentarios

 
kdy1234 2025-12-06

Qué gran iniciativa... está genial.

 
princox 2025-12-05

Es un caso tan bueno que vale la pena citarlo en presentaciones externas. Voy a guardarlo.

 
heycalmdown 2025-12-04

> Desde la perspectiva del capital, creo que cuanto más sea una tarea de alto contexto que requiera prompts delicados y largos, más se retrasará inevitablemente el momento de su reemplazo.

También me parece una observación excelente.

 
gguimoon 2025-12-04

A mí también solo me interesaba el tema y no había profundizado realmente, pero este artículo da tanto motivación como ideas. Lo recomiendo.

 
heycalmdown 2025-12-04

El contenido del artículo es mucho mejor de lo que me hizo pensar el resumen con prejuicios (puro clickbait..). Si les interesa, les recomiendo leer el original.