Agente de pruebas de penetración impulsado por IA que se conecta a una máquina Kali, ejecuta herramientas de seguridad de forma autónoma, analiza los resultados e itera a través de flujos de trabajo basados en el navegador.
Un agente de pruebas de penetración de código abierto impulsado por IA. Se conecta a una caja de ataque Kali, ejecuta herramientas de forma autónoma, analiza los resultados e itera. Tú describes el objetivo. Él hace el resto.
Diseñado para compromisos del mundo real, máquinas boot2root y CTFs.
Pentest Copilot realizando un bypass de autenticación en OWASP Juice Shop:
Míralo en YouTube
.ovpn/.conf con los certificados, claves o credenciales referenciados y conéctate/desconéctate desde el navegador. Se admiten múltiples conexiones simultáneas.git clone https://github.com/bugbasesecurity/pentest-copilot.git
cd pentest-copilot
./run.sh start
Abre http://localhost:3000, regístrate y comienza una sesión.
run.sh espera a que el frontend, el backend, MongoDB y Redis estén listos antes de
informar de éxito. Si el arranque falla, imprime el estado de los contenedores afectados y
los logs recientes. Configura y asigna un modelo en Settings -> Models tras el
primer arranque.
En Windows, ejecuta Pentest Copilot dentro de WSL2 con la integración WSL de Docker Desktop
habilitada. Los hosts de trabajo con PowerShell nativo y SSH de Windows no son
compatibles porque los comandos del espacio de trabajo requieren un shell POSIX. Para obtener permisos de archivos y rendimiento fiables, clona el repositorio en el sistema de archivos de WSL, no
en /mnt/c.
Settings -> Models detecta los CLI de Codex y Claude Code autenticados. Autentícate una vez en la máquina que ejecuta el CLI:
codex login
claude auth login
Después selecciona Use Codex o Use Claude Code. El CLI oficial se encarga del inicio de sesión, la renovación y la gestión de los derechos de suscripción; Pentest Copilot no copia ni reproduce tokens OAuth. Los transportes de suscripción reciben el mismo historial de conversación y esquemas de funciones que los proveedores de API y devuelven el mismo contrato de llamada a asistente/herramienta, por lo que Pentest Copilot sigue ejecutando herramientas y comprobaciones de consentimiento.
El backend de Docker incluye el CLI de Codex para Linux y monta únicamente el
archivo ~/.codex/auth.json basado en archivos del host, siguiendo el flujo documentado de transferencia de inicio de sesión headless/Docker de Codex. Establece CODEX_AUTH_FILE antes de docker compose up si tu
archivo de credenciales se encuentra en otro lugar. El CLI puede renovar ese archivo durante su uso
normal; nunca lo confirmes ni lo compartas. Las credenciales solo en el Keychain del host y Claude Code
siguen estando disponibles únicamente en modo desarrollador/host hasta que se
configure un puente de inferencia en el host. El uso de la suscripción de Claude es control local del CLI y debe cumplir con los
términos actuales de productos de terceros y suscripciones de Anthropic.
Las familias de modelos de primera clase actuales incluyen GPT-5.6 Sol/Terra/Luna, Claude Fable/Opus/Sonnet 5 y Kimi K3 (API directa de Moonshot u OpenRouter).
En modo Docker, Pentest Copilot monta los directorios ~/.ssh y ~/keys
del host en modo de solo lectura. Cada espacio de trabajo puede seleccionar un alias Host concreto de
~/.ssh/config en Connection. Cada sesión de ese espacio de trabajo usa
el mismo host y carpeta de trabajo sin copiar claves privadas a MongoDB. Establece
HOST_SSH_DIR o HOST_SSH_KEYS_DIR antes de iniciar Docker cuando esos
directorios se encuentren en otro lugar.
Usa alias con nombre en lugar de entradas solo con comodines:
Host lab-box
HostName 10.10.10.10
User root
IdentityFile ~/.ssh/lab-box.pem
run.sh se encarga de la generación de archivos de configuración, las compilaciones de Docker y la orquestación de contenedores. Usa ./run.sh start -q para reutilizar el modo de inicio anterior y omitir las preguntas en ejecuciones posteriores.
Para la matriz completa de escenarios de SO, Docker, SSH, VPN, proxy, permisos, recuperación y despliegue, consulta Configuración y Solución de Problemas.
./run.sh stop # Stop all containers
./run.sh logs # Tail logs
./run.sh status # Container status
./run.sh backup # Back up databases, configuration, and workspaces
./run.sh config # Update configuration
./run.sh dev # Developer mode (infra only, run frontend/backend locally)
./run.sh help # Full help
Pentest Copilot puede exponer su plano de control local a través de MCP para clientes como Claude Code o Codex. Abre Settings -> MCP Access para copiar el endpoint MCP local y el token bearer.
Trata el token como acceso de administrador local: puede ejecutar comandos en la caja de explotación configurada, operar Burp, la automatización del navegador y los flujos de VPN, leer artefactos, escribir hallazgos y actualizar la configuración local de Pentest Copilot. Las acciones MCP vinculadas a un compromiso se registran en esa sesión para que permanezcan visibles en la interfaz de Pentest Copilot.
Después de copiar el endpoint y el token, puedes hacer una prueba rápida de la conexión MCP:
cd backend
PENTEST_COPILOT_MCP_URL=http://localhost:8080/mcp \
PENTEST_COPILOT_MCP_TOKEN=pc_mcp_... \
corepack pnpm run mcp:smoke
| Mínimo | |
|---|---|
| RAM | 8 GB (+2 GB si usas el contenedor Kali integrado) |
| Disco | 20 GB |
| Docker | v20+ con Compose v2+ |
| Node.js | v22+ (solo modo dev) |
| pnpm | v9+ (solo modo dev) |
El modo Docker vincula sus puertos de interfaz y servicios a 127.0.0.1 por defecto. No
expongas el stack a una LAN o a internet sin TLS, autenticación y una
configuración deliberada de proxy inverso. En el modo Kali integrado, mantén los archivos
durables del espacio de trabajo bajo /kali-data; los archivos en otras ubicaciones del contenedor
Kali se eliminan cuando se recrea el contenedor.
La guía de Configuración y Solución de Problemas dentro del repositorio es la fuente autoritativa para la instalación, configuración, recuperación y despliegue. La Wiki contiene referencia adicional de funciones y puede ir por detrás de la versión actual:
./run.sh dev # Starts MongoDB + Redis in Docker
Después, en terminales separadas:
cd backend && pnpm install && pnpm run watch # TypeScript compiler
cd backend && pnpm run dev # Backend server (port 8080)
cd frontend && pnpm install && pnpm run dev # Frontend (port 3000)
Para la configuración de desarrollo y la solución de problemas, consulta la guía de Configuración y Solución de Problemas.
@article{goyal2024hacking,
title={Hacking, the lazy way: LLM augmented pentesting},
author={Goyal, Dhruva and Subramanian, Sitaraman and Peela, Aditya},
journal={arXiv preprint arXiv:2409.09493},
year={2024}
}
Las contribuciones son bienvenidas. Consulta la Guía de Contribución y el Código de Conducta.
Pentest Copilot está destinado únicamente a pruebas de seguridad autorizadas. Ten siempre permiso explícito antes de probar cualquier sistema.