TTPRunner
Agente autonomo di esecuzione TTP per operazioni purple team
Inserisci un report di minaccia. Formula il piano d'attacco. Approvi. Esegue.
Funzionalità
| Funzionalità | Descrizione |
|---|
| Parsing multi-formato | PDF (basato su LLM), STIX 2.1, Markdown, URL – incolla un report di minaccia e parti |
| Analisi LLM | Estrae tecniche MITRE ATT&CK, le mappa sui target, genera comandi di esecuzione |
| Grafo di esecuzione | DAG Cytoscape interattivo – passi raggruppati per target, colorati per modalità (esegui/simula) |
| Esecuzione autonoma | L'agente esegue i comandi approvati tramite QMP guest agent, WinRM o SSH con streaming live dei log |
| Integrazione VECTR | Distribuisce automaticamente VECTR su Proxmox, sincronizza campagne, casi di test e artefatti crittografati |
| Supporto multi-LLM | Anthropic Claude, OpenAI GPT-4o, OpenRouter, Ollama (locale) |
| Controlli ambientali | Validazione pre-volo di Proxmox, VM, target, LLM, VECTR e strumenti di sistema |
| Note di esecuzione | Note Markdown generate automaticamente con screenshot, navigabili dall'interfaccia |
| Procedura guidata di configurazione | Setup guidato al primo avvio: bootstrap Proxmox, scoperta VM, configurazione credenziali |
Schermate
| Inserimento dashboard | Grafo del piano di esecuzione |
|---|
 |  |
| Modale modifica passo | Dettaglio esecuzione |
|---|
 |  |
| Target | Integrazione VECTR |
|---|
 |  |
| Cronologia esecuzioni | Impostazioni |
|---|
 |  |
Avvio rapido
Docker (consigliato)
git clone https://github.com/Antonlovesdnb/TTPRunner.git
cd TTPRunner
docker compose up -d --build
Apri http://localhost:4000 – la procedura guidata ti accompagnerà nella configurazione iniziale.
Modalità sviluppo
git clone https://github.com/Antonlovesdnb/TTPRunner.git
cd TTPRunner
npm run install:all
npm run dev
L'API è in ascolto sulla porta 4000, l'interfaccia sulla porta 3000.
Documentazione
| Documento | Descrizione |
|---|
| Installazione | Setup Docker, ambiente di sviluppo, prerequisiti Proxmox, preparazione VM |
| Guida all'uso | Percorso completo dalla procedura guidata alla sincronizzazione VECTR |
| Configurazione | Tutti i campi di config.yaml, variabili d'ambiente, opzioni provider LLM |
| Architettura | Approfondimento tecnico: motore di esecuzione, QMP, integrazione LLM, layer di output |
| Risoluzione problemi | Problemi comuni: Proxmox, WinRM, QMP, VECTR, Docker |
| Sviluppo | Ambiente di sviluppo, struttura del progetto, convenzioni di codice |
| Casi d'uso | Esempi reali e percorsi guidati |
Come funziona
Threat Report LLM Analysis User Review
(PDF, STIX, MD, URL) (Extract TTPs, (Cytoscape graph,
│ map to targets, edit steps,
│ gen commands) set modes)
▼ ▼ ▼
┌──────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐
│ Parser │───▶│ LLM Engine │───▶│ Plan Graph │───▶│ Agent │
└──────────┘ └──────────────┘ └──────────────┘ └────┬─────┘
│
┌───────────────────────────────────────┤
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐
│ QMP │ │ WinRM │ │ SSH │ │ Output │
│ (guest │ │(Windows) │ │ (Linux) │ │ │
│ agent) │ │ │ │ │ │ Attire │
└────┬────┘ └────┬─────┘ └────┬────┘ │ Notes │
│ │ │ │ VECTR │
└──────────────┼───────────────┘ └──────────┘
▼
┌───────────────────┐
│ Proxmox Lab │
│ │
│ Windows & Linux │
│ Target VMs │
└───────────────────┘
Stack tecnologico
| Layer | Tecnologia |
|---|
| API | Bun + Hono, SQLite |
| Frontend | Vue 3, Vite, Tailwind CSS, Cytoscape.js |
| Esecuzione | QMP (QEMU Monitor Protocol), WinRM via pywinrm, SSH |
| LLM | Anthropic Claude, OpenAI, OpenRouter, Ollama |
| Output | Attire JSON, note Markdown, API VECTR (GraphQL + REST) |
| Infrastruttura | Proxmox VE, Docker, container LXC |
Prerequisiti
- Proxmox VE 7.x o 8.x con accesso API
- Docker e Docker Compose (per la distribuzione)
- VM di laboratorio con guest agent QEMU installato (WinRM/SSH come alternativa)
- Chiave API LLM — Anthropic, OpenAI o OpenRouter (oppure Ollama per inferenza locale)
Nota: TTPRunner è stato testato con l'ambiente Constructing Defense Lab. Altre configurazioni di laboratorio Proxmox potrebbero comportarsi diversamente.
Contribuire