TTPRunner
Agente autónomo de ejecución de TTP para operaciones de equipo púrpura
Dale un informe de amenazas. Él construye el plan de ataque. Tú lo apruebas. Él ejecuta.
Características
| Característica | Descripción |
|---|
| Análisis Multiformato | PDF (con LLM), STIX 2.1, Markdown, URLs - pega un informe de amenazas y listo |
| Análisis con LLM | Extrae técnicas MITRE ATT&CK, las asigna a objetivos, genera comandos de ejecución |
| Grafo de Ejecución | DAG interactivo con Cytoscape - pasos agrupados por objetivo, coloreados por modo (ejecutar/simular) |
| Ejecución Autónoma | El agente ejecuta comandos aprobados mediante QMP guest agent, WinRM o SSH, con transmisión de registros en vivo |
| Integración VECTR | Despliegue automático de VECTR en Proxmox, sincronización de campañas, casos de prueba y artefactos cifrados |
| Soporte Multi-LLM | Anthropic Claude, OpenAI GPT-4o, OpenRouter, Ollama (local) |
| Verificaciones de Entorno | Validación previa al vuelo de Proxmox, VMs, objetivos, LLM, VECTR y herramientas del sistema |
| Notas de Ejecución | Notas Markdown generadas automáticamente con capturas de pantalla, navegables desde la interfaz |
| Asistente de Configuración | Configuración guiada al primer inicio: arranque de Proxmox, descubrimiento de VMs, configuración de credenciales |
Capturas de Pantalla
| Entrada del Panel | Grafo del Plan de Ejecución |
|---|
 |  |
| Modal de Edición de Paso | Detalle de Ejecución |
|---|
 |  |
| Objetivos | Integración VECTR |
|---|
 |  |
| Historial de Ejecución | Ajustes |
|---|
 |  |
Inicio Rápido
Docker (Recomendado)
git clone https://github.com/Antonlovesdnb/TTPRunner.git
cd TTPRunner
docker compose up -d --build
Abre http://localhost:4000 — el asistente de configuración te guiará a través de la configuración inicial.
Modo de Desarrollo
git clone https://github.com/Antonlovesdnb/TTPRunner.git
cd TTPRunner
npm run install:all
npm run dev
La API se ejecuta en el puerto 4000, la interfaz en el puerto 3000.
Documentación
| Documento | Descripción |
|---|
| Instalación | Configuración Docker, entorno de desarrollo, requisitos previos de Proxmox, preparación de VMs |
| Guía de Uso | Recorrido completo desde el asistente de configuración hasta la sincronización con VECTR |
| Configuración | Todos los campos de config.yaml, variables de entorno, opciones de proveedor LLM |
| Arquitectura | Inmersión técnica profunda: motor de ejecución, QMP, integración LLM, capa de salida |
| Solución de Problemas | Problemas comunes: Proxmox, WinRM, QMP, VECTR, Docker |
| Desarrollo | Entorno de desarrollo, estructura del proyecto, convenciones de código |
| Casos de Uso | Ejemplos reales y recorridos prácticos |
Cómo Funciona
Informe de Amenazas Análisis LLM Revisión del Usuario
(PDF, STIX, MD, URL) (Extraer TTP, (Grafo Cytoscape,
│ asignar a objetivos, editar pasos,
│ generar comandos) establecer modos)
▼ ▼ ▼
┌──────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐
│ Analizador│───▶│ Motor LLM │───▶│ Grafo del │───▶│ Agente │
└──────────┘ └──────────────┘ └───Plan───────┘ └────┬─────┘
│
┌───────────────────────────────────────┤
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐
│ QMP │ │ WinRM │ │ SSH │ │ Salida │
│ (agente │ │(Windows) │ │ (Linux) │ │ │
│ invitado│ │ │ │ │ │ Attire │
└────┬────┘ └────┬─────┘ └────┬────┘ │ Notas │
│ │ │ │ VECTR │
└──────────────┼───────────────┘ └──────────┘
▼
┌───────────────────┐
│ Laboratorio │
│ Proxmox │
│ │
│ VMs Windows y │
│ Linux Objetivo │
└───────────────────┘
Stack Tecnológico
| Capa | Tecnología |
|---|
| API | Bun + Hono, SQLite |
| Frontend | Vue 3, Vite, Tailwind CSS, Cytoscape.js |
| Ejecución | QMP (QEMU Monitor Protocol), WinRM mediante pywinrm, SSH |
| LLM | Anthropic Claude, OpenAI, OpenRouter, Ollama |
| Salida | Attire JSON, notas Markdown, API de VECTR (GraphQL + REST) |
| Infraestructura | Proxmox VE, Docker, contenedores LXC |
Requisitos Previos
- Proxmox VE 7.x o 8.x con acceso a API
- Docker y Docker Compose (para el despliegue)
- VMs de laboratorio con el agente invitado de QEMU instalado (WinRM/SSH como alternativa)
- Clave API de LLM — Anthropic, OpenAI o OpenRouter (u Ollama para inferencia local)