Motores de Ejecución
EXODUS proporciona dos motores de ejecución distintos diseñados para diferentes escenarios operativos:
Modo Interactivo (Human-in-the-Loop)
El motor por defecto para la operación manual donde un operador humano (pentester, analista de seguridad) mantiene el control y dirige las acciones del agente en tiempo real.
# Iniciar sesión de chat interactiva
exodus-cli chat --agent triage_agent
Casos de Uso:
- Pentesting manual: El operador analiza los resultados y decide los próximos pasos
- Reconocimiento exploratorio: La experiencia humana guía la investigación
- Entrenamiento y aprendizaje: Entender cómo funcionan los agentes paso a paso
- Requisitos de cumplimiento: Mantener la supervisión humana para operaciones sensibles
Características:
- El operador humano controla el flujo
- El agente responde a cada mensaje del usuario
- Visibilidad completa del razonamiento del agente
- Aprobación manual antes de acciones críticas
- Retroalimentación interactiva y corrección de curso
Flujo de trabajo de ejemplo:
Tú: "Escanea este objetivo en busca de puertos abiertos"
Agente: [Ejecuta escaneo nmap, muestra resultados]
Tú: "Ahora enumera el servicio HTTP en el puerto 80"
Agente: [Realiza enumeración HTTP]
Tú: "Parece vulnerable, prueba fuerza bruta de directorios"
Agente: [Ejecuta gobuster]
Modo Automatizado (Ejecución Autónoma)
El motor automatizado (exodus-cli auto) permite la operación completamente autónoma con capacidades avanzadas de planificación, reflexión y autocorrección. Diseñado para tareas que requieren una intervención humana mínima.
# Ejecutar misión autónoma
exodus-cli auto "Realizar reconocimiento completo en exodialabs.xyz" \
--agent recon_agent \
--session scan_20250107 \
--verbose
Casos de Uso:
- Escaneo automatizado: Programar reconocimiento desatendido de infraestructura
- Pruebas de seguridad CI/CD: Integrar en pipelines para evaluación continua
- Automatización de bug bounty: Descubrimiento autónomo de vulnerabilidades
- Operaciones a gran escala: Desplegar enjambres de agentes para tareas distribuidas
- Flujos de trabajo repetitivos: Automatizar evaluaciones de seguridad rutinarias
Características Avanzadas
1. Planificación Dinámica
El agente genera un plan de tareas estructurado basado en el objetivo:
Objetivo: "Escanear objetivo y encontrar vulnerabilidades"
Plan:
├─ task_1: Escaneo de puertos y descubrimiento de servicios
├─ task_2: Enumeración HTTP/SMB (depende de task_1)
├─ task_3: Identificación de vulnerabilidades
├─ task_4: Validación de exploits
└─ task_5: Generación de informe
2. Reflexión Estratégica
Autoevaluación periódica para asegurar el progreso:
- Basada en iteraciones: Revisa el progreso cada N pasos (por defecto: 25)
- Basada en tareas: Evalúa después de N tareas completadas (por defecto: 3)
- Acciones:
CONTINUE,REPLAN,ESCALATE, oCOMPLETE
3. Replanificación Dinámica
El agente puede regenerar el plan a mitad de la ejecución si:
- La estrategia no está funcionando (fallos repetidos)
- El entorno cambió (nuevos servicios descubiertos)
- La tarea se vuelve irrelevante (objetivo ya alcanzado)
4. Punto de Control y Reanudación
El estado de ejecución se guarda automáticamente:
# Iniciar misión
exodus-cli auto "Tarea de larga duración" --session my_mission
# Interrumpir con Ctrl+C o tiempo de espera
^C Interrumpido por el usuario
# Reanudar desde el punto de control
exodus-cli auto --resume --session my_mission
5. Escalada a Humano
El agente puede solicitar asistencia cuando se queda atascado:
Reflexión: ESCALATE
Razonamiento: "Se requieren credenciales para proceder. Se necesita intervención manual."
El agente solicita asistencia humana
Modos de Ejecución Segura
EXODUS proporciona múltiples drivers de ejecución para ejecutar herramientas de forma segura:
Modo Docker (Recomendado para ejecución aislada):
[agent]
execution_mode = "docker"
[agent.execution.docker]
default_image = "debian:latest"
default_image_name = "exodus_container"
- Entorno aislado usando cualquier imagen de Docker (Debian, Ubuntu, Kali, ParrotSec, Alpine, etc.)
- Gestión automática del ciclo de vida del contenedor
- Ejecución segura de comandos sin afectar al sistema host
- Perfecto para herramientas de seguridad o ejecución de código no confiable
Modo Local:
[agent]
execution_mode = "local"
- Ejecución directa en tu entorno
- Más rápido para herramientas confiables
- Usar para desarrollo y pruebas
Contenedor Exodus Security Executor
EXODUS proporciona un contenedor Docker especializado que ejecuta un demonio exodus-server para ejecutar herramientas basadas en Python en un entorno aislado de ParrotSec. Los agentes pueden comunicarse con este servidor a través de sockets Unix para ejecutar herramientas de EXODUS remotamente.
# Construir la imagen
docker build -t exodus-security-executor -f docker/exodus_security_executor/Dockerfile .
# Ejecutar el contenedor
docker run -d --name exodus-executor exodus-security-executor