En esta entrega de la serie sobre agentes en ciberseguridad centrados en pentesting analizo el proyecto ROGUE, un agente para escaneo web automático disponible en GitHub y desarrollado en Python. El repositorio analizado corresponde al commit más reciente del 18 de junio de 2025 y se presenta como una herramienta orientada a la evaluación automática de aplicaciones web.
Tecnologías y arquitectura: ROGUE está implementado en Python y utiliza Playwright para la automatización del navegador. El proyecto depende exclusivamente de OpenAI porque el uso del LLM está codificado de forma fija en el archivo llm.py, donde se referencian los modelos gpt-4o y o4-mini. Hubo un intento inicial de integrar modelos de Anthropic que nunca se completó. Las capacidades del agente se basan en un conjunto de herramientas definidas en tools.py, un prompt de sistema que describe el rol del agente y una base de conocimiento construida a partir de páginas externas mediante knowledge_fetcher.py.
Detalle de componentes: Las herramientas incluyen funciones que invocan Playwright, la posibilidad de ejecutar código Python generado por el LLM, y utilidades incompletas para procesar salidas. Los prompts del sistema aportan información sobre inyecciones SQL y XSS, describen funciones auxiliares y cómo interpretar resultados. La comprobación de contraseñas o subdominios se realiza de forma muy rudimentaria consultando colecciones locales en la carpeta list, y hay un mecanismo para pedir información al usuario que no está bien implementado porque es un stub que no procesa la entrada.
Funcionamiento general: Al ejecutar run.py se crea un objeto Agent que monta una base de conocimiento inicial con datos de sitios de referencia. Esa base alimenta el objeto LLM y se inicializa un scheduler con el prompt del sistema. El scanner usa un Summarizer en dos etapas: un parseo inicial y un parseo final mediante LLM para buscar elementos relevantes. A partir de ese parseo se genera un plan de escaneo que se ejecuta paso a paso usando las herramientas disponibles. Finalmente, el sistema produce un resumen intermedio y un reporte final mediante prompts específicos.
Pruebas prácticas: Para validar el comportamiento probé ROGUE contra la aplicación mutillidae incluida en Metasploitable 2, usando una página con un ejemplo sencillo de XSS reflejado. El payload usado fue <script>alert(1)</script> y también se probó un payload tipo imagen <img src=x onerror=alert(1)> en un formulario de contenido. Se lanzó el agente con la invocación del script standard y por defecto el LLM activo fue o4-mini.
Observaciones de comportamiento: El agente detectó ejecución de JavaScript y dedujo que debía realizar comprobaciones XSS, pero en la práctica inició cadenas de comprobaciones complejas y erróneas en lugar de explotar la vulnerabilidad simple descubierta. Se observaron intentos de técnicas sofisticadas como Stored XSS via Client Side Filter Evasion y codificaciones alternativas que no aplicaban al contexto y llevaron al fracaso. En una ejecución el proceso llegó a navegar a otras páginas y tardó entre 10 y 15 minutos en analizar una sola página, lo que hace inviable su uso a escala donde hay decenas de endpoints por revisar. Además el sistema no guardó evidencia de ataques exitosos y el reporte final quedó vacío a pesar de que la inyección llegó a ejecutarse en el navegador.
La segunda prueba con un RAG simple mostró que el agente finalmente reconoció la posibilidad de XSS, pero el flujo siguió siendo deficiente: la vulnerabilidad fue identificada muy al final del proceso, sin pruebas reproducibles almacenadas, y el agente solicitó intervención humana mediante un prompt interactivo que además no fue usado correctamente por la implementación actual. En resumen, el proyecto presenta problemas serios: registros de acciones fallidos, planes demasiado complejos que confunden al LLM en escenarios sencillos, falta de automatización real y dependencias rígidas a proveedores externos.
Conclusiones y comparativa: ROGUE no es una solución totalmente automatizada, depende exclusivamente de OpenAI, y no consigue realizar pruebas básicas de aplicaciones web como XSS o SQLi en entornos de laboratorio sencillos. El proyecto da la impresión de haber sido abandonado antes de alcanzar una madurez mínima: hay ideas sobre uso de Playwright y módulos de summarization, pero la integración no está completa y los resultados reales son pobres. En contraste, en Q2BSTUDIO desarrollamos soluciones que corrigen estas limitaciones mediante flujos robustos de evidencia, orquestación eficiente de pruebas y agentes IA diseñados para ser escalables y auditables. Si necesita reforzar la seguridad de sus aplicaciones o realizar pruebas automatizadas de pentesting puede consultar nuestros servicios de ciberseguridad y pentesting y explorar cómo aplicamos inteligencia artificial para optimizar auditorías.
Qué mejorar en proyectos similares: recomendaciones prácticas incluyen eliminar dependencias rígidas a un único proveedor de modelos, asegurar trazabilidad y almacenamiento de evidencias de explotación, simplificar y priorizar planes de ataque según heurísticas contextuales, optimizar tiempos de exploración para escalabilidad, y construir prompts y herramientas que no requieran intervención humana en fases críticas. Todo ello combinado con una arquitectura que permita seleccionar modelos locales o en la nube segun requisitos de privacidad y costo.
Trabajo futuro y oferta de Q2BSTUDIO: En próximas entregas compararemos cómo sistemas avanzados como SxipherAI gestionan los mismos escenarios y mostraremos el desarrollo de un agente propio para detección de XSS paso a paso. En Q2BSTUDIO somos especialistas en desarrollo de aplicaciones a medida, inteligencia artificial para empresas y soluciones cloud en AWS y Azure. Ofrecemos creación de software a medida y servicios de inteligencia de negocio con Power BI que mejoran la toma de decisiones. Con la experiencia en agentes IA y automatización podemos ayudar a integrar detección automatizada, pipelines de pruebas y reportes accionables. Para conocer nuestras capacidades en inteligencia artificial consulte nuestras soluciones de inteligencia artificial.
Resumen rápido: ROGUE muestra ideas interesantes pero carece de madurez operativa. No es totalmente automático, solo usa OpenAI, falla en pruebas básicas de pentesting y no registra evidencia útil. En Q2BSTUDIO transformamos estas lecciones en soluciones prácticas de software a medida, ciberseguridad, servicios cloud y analítica para empresas que necesitan resultados fiables y escalables.