Uso de LLMS para facilitar el proceso de pentesting

Este Trabajo Fin de Máster explora cómo los modelos de lenguaje pueden apoyar y mejorar procesos de pentesting automatizado en entornos cloud. Para ello se diseñó una infraestructura vulnerable en AWS utilizando Terraform, incorporando configuraciones inseguras como puertos expuestos, políticas IAM demasiado permisivas y buckets S3 públicos. Posteriormente, estas configuraciones fueron evaluadas con Prowler, una herramienta especializada en la identificación de malas prácticas de seguridad en la nube. Con los resultados generados por Prowler y los archivos Terraform como entrada, se integró la API de Gemini para que analizara las vulnerabilidades detectadas y propusiera versiones corregidas del código con mejoras orientadas a reforzar la seguridad.

La metodología se basó en un proceso iterativo compuesto por cuatro ciclos. En cada ciclo se desplegaba la infraestructura, se analizaba con Prowler, se enviaban los resultados al LLM y se aplicaban las recomendaciones generadas para crear una nueva versión del entorno. Este enfoque permitió medir de forma progresiva cómo evolucionaba la postura de seguridad, comparando la cantidad y criticidad de las vulnerabilidades detectadas en cada fase. Durante el desarrollo se comprobó que el modelo no siempre comprendía las dependencias entre recursos, pero sí fue capaz de identificar patrones inseguros y sugerir mejoras consistentes, especialmente cuando el prompt estaba bien diseñado y el contexto de entrada era concreto. Esto puso de relieve la importancia del prompt engineering en tareas técnicas con LLMs.

Los resultados obtenidos mostraron una reducción notable de las vulnerabilidades críticas y altas desde las primeras iteraciones, lo que confirmó que las recomendaciones del modelo eran útiles y efectivas. A medida que el entorno se volvía más seguro, las mejoras propuestas se centraron en aspectos de seguridad media o baja, indicando que la infraestructura avanzaba hacia un estado más robusto. En conjunto, el trabajo demuestra que los LLMs pueden aportar un valor significativo en procesos de análisis repetitivo y refactorización de infraestructura como código, ayudando a automatizar parte del flujo de pentesting y reduciendo el esfuerzo manual, aunque siempre bajo la supervisión de un profesional.

Scroll al inicio