PentAGI (Penetration testing Artificial General Intelligence) – es una herramienta de código abierto para automatizar tareas en las pruebas de seguridad ofensivas. El repositorio del proyecto fue publicado por la organización vxcontrol, y en la documentación junto al sistema principal se mencionan servicios en la nube relacionados de VXControl. Por esa razón conviene aclarar desde el inicio la relación con el ecosistema VXControl: el repositorio principal de PentAGI se distribuye bajo la licencia MIT, pero el acceso a ciertos servicios en la nube de VXControl se gestiona por separado y exige cumplir condiciones de uso específicas.
PentAGI se despliega en infraestructura propia y combina interfaz web, componente de servidor, interfaces de programación, entorno de ejecución en contenedores, almacenamiento de memoria y conexión con modelos de lenguaje externos. El proyecto debe entenderse no como una “capa inteligente” para lanzar comandos aislados, sino como una plataforma en la que varios componentes procesan la tarea de forma secuencial, eligen acciones y guardan resultados intermedios.
Kortó sobre el proyecto
| Parámetro | Lo que indica la documentación |
|---|---|
| Tipo | Plataforma abierta para automatización de tareas de pentesting |
| Modelo de despliegue | Alojamiento autónomo en infraestructura propia |
| Interfaces | Interfaz web, API REST y GraphQL |
| Tecnologías principales | React y TypeScript en el frontend, Go en el servidor, PostgreSQL con pgvector para memoria y búsqueda semántica |
| Entorno de ejecución | Docker y Docker Compose, incluye instalador interactivo |
| Pilas adicionales | Archivos Compose separados para el grafo de conocimiento, observabilidad y analítica de modelos de lenguaje |
| Licencia del repositorio | MIT |
PentAGI está pensado para automatizar tareas repetitivas que surgen durante un pentest. En la documentación se enumeran aislamiento mediante contenedores, un sistema de agentes multinivel, memoria a largo plazo, navegador integrado, búsqueda externa y un conjunto de utilidades profesionales, incluyendo nmap, Metasploit y sqlmap. El sistema también almacena comandos y resultados en PostgreSQL y, al activar componentes adicionales, puede usar un grafo de conocimiento basado en Graphiti y Neo4j.
Una característica importante de PentAGI es que el proyecto no se limita a un único archivo ejecutable. El esquema básico incluye servidor, cola de tareas, almacenamiento, agentes y un conjunto de contenedores. Además, la documentación distingue pilas separadas para observabilidad y analítica, donde se emplean Grafana, VictoriaMetrics, Jaeger, Loki, Langfuse, ClickHouse, Redis y MinIO. Para una revisión rápida “por curiosidad” ese esquema puede parecer pesado, porque incluso sin extensiones adicionales el proyecto requiere Docker, configuración de variables de entorno y acceso al socket de Docker; al activar pilas complementarias el número de servicios crece de forma notable.
El repositorio principal de PentAGI se distribuye bajo la licencia MIT. El código del SDK para los servicios en la nube de VXControl incluido en el proyecto se publica libremente, pero el acceso a los propios servicios en la nube de VXControl, incluidas las fuentes de inteligencia de amenazas, soporte de IA y funcionalidades adicionales, requiere una clave de licencia separada y está sujeto a condiciones distintas. El SDK VXControl Cloud utiliza AGPL-3.0 con una excepción especial para el proyecto oficial PentAGI. Por ese motivo la sección de licencias de PentAGI conviene leerla junto con las aclaraciones sobre los servicios en la nube asociados.
Funciones principales
- automatización de fases individuales del pentest mediante un sistema de agentes;
- ejecución de acciones en un entorno aislado de contenedores;
- soporte de más de 20 utilidades integradas para pentesting;
- almacenamiento a largo plazo de resultados e historial de acciones;
- búsqueda semántica en tareas y artefactos pasados;
- conexión de un grafo de conocimiento mediante Graphiti y Neo4j;
- trabajo con motores de búsqueda externos;
- soporte de varios proveedores de modelos de lenguaje, incluidos modelos locales a través de Ollama;
- registros, métricas y analítica mediante pilas de observabilidad separadas.
Para comprobar configuraciones de modelos de lenguaje, el proyecto incluye la utilidad ctester. La documentación la describe como una herramienta para probar agentes, verificar llamadas a funciones, respuestas en formato JSON y tareas especializadas de ciberseguridad y pentesting.
Cómo funciona PentAGI
La parte más útil es el esquema de interacción entre agentes. En la documentación el proceso no se muestra con la fórmula abstracta «el sistema ayuda al pentester», sino como una secuencia de roles y etapas.
Primero el orquestador recibe la tarea y consulta el almacenamiento de experiencias anteriores y la base de conocimientos. Luego el investigador analiza el objetivo, busca casos similares, coteja vulnerabilidades conocidas y guarda hallazgos. Después, el desarrollador elabora un plan de ataque, consulta información sobre exploits y capacidades de las herramientas. En la etapa siguiente, el ejecutor recibe el plan, carga instrucciones para las herramientas, realiza las acciones y almacena los resultados.
Escenario de uso
- El usuario plantea la tarea de evaluar un objetivo.
- El orquestador lanza el flujo de trabajo y las subtareas.
- El investigador recoge información sobre el objetivo y busca casos similares.
- El planificador o desarrollador construye el plan de acciones siguientes.
- El ejecutor lanza las herramientas en el contenedor y guarda el resultado.
- El sistema registra comandos, artefactos y salidas en la memoria.
- El informe y el historial de acciones están disponibles a través de la interfaz.
La documentación no ofrece un ejemplo práctico detallado del tipo “se detecta un puerto, se selecciona un exploit, se intenta la explotación”. Por eso es mejor no añadir ese tipo de escenario por cuenta propia. Pero en el esquema se percibe que PentAGI enlaza la tarea, la búsqueda de contexto, la planificación y la ejecución en una sola cadena.
Existen dos mecanismos que afectan el desarrollo del trabajo. El primero se llama control de ejecución. Supervisa llamadas repetidas a herramientas, el volumen total de llamadas y los casos en que un agente deja de progresar hacia el objetivo. El segundo se denomina paso de planificación. En este modo un agente divide la tarea por adelantado en varios pasos. Además, el proyecto aplica límites estrictos en el número de llamadas a herramientas según el tipo de agente. La documentación describe estos mecanismos como una forma de reducir bucles infinitos y limitar ejecuciones inútiles.
A quién va dirigido el proyecto
PentAGI está dirigido a quienes necesitan no un script aislado, sino su propia plataforma para automatizar pentests. Por la composición de componentes y las secciones de la documentación, el proyecto resulta más adecuado para los siguientes escenarios:
- equipos de emulación de ataques;
- comprobaciones internas de seguridad en empresas;
- experimentos con modelos de lenguaje para ciberseguridad;
- entornos con modelos de lenguaje locales;
- automatización de etapas repetitivas en programas de búsqueda de vulnerabilidades, cuando el equipo ya dispone de la infraestructura necesaria.
Para un usuario que solo quiere ver la herramienta, la barrera de entrada es alta. La razón no es solo configurar claves y variables de entorno. Incluso en el esquema oficial, junto al sistema principal aparecen servicios separados para grafo de conocimiento, analítica y observabilidad. Para un arranque mínimo basta el archivo Compose principal, pero la documentación describe explícitamente varias pilas adicionales que amplían el sistema y aumentan el número de servicios.
Instalación y puesta en marcha
La documentación propone dos métodos principales.
1. Instalador interactivo
El proyecto publica un instalador separado para Linux, Windows y macOS. El instalador realiza comprobaciones del sistema, ayuda a preparar el archivo .env, configurar el proveedor del modelo de lenguaje, servicios de búsqueda y parámetros de seguridad, y luego inicia el sistema mediante Docker Compose.
El procedimiento es el siguiente:
- crear un directorio de trabajo;
- descargar el archivo del instalador;
- descomprimir el archivo;
- ejecutar el instalador;
- seguir la configuración paso a paso.
La documentación indica de forma explícita que el instalador necesita acceso a la API de Docker. Para ese arranque puede ser necesario usar sudo o añadir el usuario al grupo docker. Los autores advierten claramente que ese acceso equivale de hecho a privilegios de nivel root.
2. Arranque manual
El modo manual consta de varios pasos:
- crear un directorio de trabajo;
- preparar el archivo
.enva partir del ejemplo; - indicar la clave de al menos un proveedor de modelos de lenguaje;
- si es necesario, activar servicios de búsqueda externos;
- si es necesario, activar Graphiti y Neo4j;
- descargar
docker-compose.yml; - ejecutar
docker compose up -d.
Requisitos mínimos: Docker, Docker Compose, al menos 2 núcleos virtuales de CPU, 4 GB de RAM y 20 GB de espacio libre. Además, las pilas adicionales para grafo de conocimiento, observabilidad y analítica se lanzan mediante archivos Compose separados. En la documentación de despliegue se enumeran cuatro niveles: pila principal, pila Langfuse, pila Graphiti y pila de observabilidad.
Composición de servicios y limitaciones prácticas
| Parte del sistema | Qué incluye | Qué significa en la práctica |
|---|---|---|
| Pila principal | interfaz, servidor, cola de tareas, agentes, PostgreSQL con pgvector | Incluso el arranque básico requiere entorno de contenedores y configuración de variables de entorno |
| Grafo de conocimiento | Graphiti y Neo4j | Para activar la memoria de relaciones se necesita un archivo Compose separado y parámetros independientes |
| Observabilidad | Grafana, VictoriaMetrics, Jaeger, Loki, OpenTelemetry | Útil para un equipo, pero excesivo para una toma de contacto breve con el proyecto |
| Analítica de modelos de lenguaje | Langfuse, ClickHouse, Redis, MinIO | Amplía el control sobre los agentes, pero aumenta el número de servicios y el consumo de recursos |
Por esa razón, el principal inconveniente práctico de PentAGI no es tanto la “arquitectura compleja” en abstracto, sino el coste del despliegue. Para obtener el sistema completo hay que levantar no solo la pila principal, sino también servicios adicionales para grafo de conocimiento, observabilidad y analítica. Para un equipo grande ese enfoque puede estar justificado. Para una ejecución individual con fines de prueba resulta aparatoso.
Ahora, sobre las limitaciones. Los materiales oficiales insisten en el aislamiento por contenedores, redes separadas entre servicios y la recomendación de mover las operaciones de trabajo a un nodo distinto en entornos de producción. El servicio principal en el docker-compose.yml estándar se ejecuta con privilegios root porque necesita acceso al socket de Docker para gestionar contenedores. Los autores añaden que, con conexión de red a Docker, es posible prescindir de privilegios root y usar un usuario normal.
En los materiales oficiales relacionados de VXControl sobre la imagen vxcontrol/kali-linux, utilizada junto con PentAGI, se indica expresamente que el acceso al socket de Docker otorga privilegios significativos en el nodo, y que las herramientas de pentesting están destinadas únicamente a pruebas autorizadas. A nivel de la documentación fuente, ese enunciado puede considerarse la principal advertencia sobre ética y seguridad.
| Ventajas de PentAGI | Inconvenientes de PentAGI |
|---|---|
| Alojamiento autónomo en infraestructura propia | Alta barrera de entrada para el primer arranque |
| Soporte de modelos de lenguaje externos y locales | El despliegue completo requiere muchos servicios auxiliares |
| Ejecuciones aisladas en contenedores | El arranque estándar necesita acceso a Docker y en el esquema base usa root |
| Memoria, búsqueda semántica y grafo de conocimiento opcional | Parte de las funcionalidades se sitúa en pilas separadas y requiere configuración adicional |
| Hay interfaz, acceso por API y capacidades de observabilidad | Para tareas simples, el sistema puede resultar más pesado que un conjunto de utilidades independientes |
Conclusión
PentAGI no es una utilidad ligera para un arranque rápido, sino una plataforma de automatización de pentests con sistema de agentes, memoria, ejecución en contenedores y varias pilas adicionales. La principal virtud del proyecto es que integra la definición de la tarea, la búsqueda de contexto, la planificación, la ejecución y el almacenamiento de resultados en un único sistema. La limitación principal es el esfuerzo necesario para desplegarlo y la cantidad de dependencias.
Si se necesita una herramienta para una toma de contacto rápida, PentAGI puede parecer excesivo. Si se precisa una pila desplegable en infraestructuras propias para automatización de pentests, experimentos con modelos de lenguaje para ciberseguridad y trabajo con modelos locales, PentAGI se presenta como un proyecto de infraestructura más que como una utilidad puntual.