piattaforma autonoma di red teaming; meta-harness multi-agente di sicurezza offensiva
▄▄▄█████▓▓█████ ███▄ ▄███▓ ██▓███ ▓█████ ██████ ▄▄▄█████▓
▓ ██▒ ▓▒▓█ ▀ ▓██▒▀█▀ ██▒▓██░ ██▒▓█ ▀ ▒██ ▒ ▓ ██▒ ▓▒
▒ ▓██░ ▒░▒███ ▓██ ▓██░▓██░ ██▓▒▒███ ░ ▓██▄ ▒ ▓██░ ▒░
░ ▓██▓ ░ ▒▓█ ▄ ▒██ ▒██ ▒██▄█▓▒ ▒▒▓█ ▄ ▒ ██▒░ ▓██▓ ░
▒██▒ ░ ░▒████▒▒██▒ ░██▒▒██▒ ░ ░░▒████▒▒██████▒▒ ▒██▒ ░
▒ ░░ ░░ ▒░ ░░ ▒░ ░ ░▒▓▒░ ░ ░░░ ▒░ ░▒ ▒▓▒ ▒ ░ ▒ ░░
░ ░ ░ ░░ ░ ░░▒ ░ ░ ░ ░░ ░▒ ░ ░ ░
░ ░ ░ ░ ░░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░
Un framework di sicurezza offensiva multi-agente, progettato per trasformare l'agente di codifica AI che già esegui in un cacciatore di zero-day.
Il tuo agente di codifica AI è già un hacker — T3MP3ST gli fornisce un arsenale.
Puntalo su un target autorizzato e la kill chain si auto-esegue: recon → exploit → report, da una War Room nel browser o dalla CLI, guidato dall'agente a cui sei già connesso — Claude Code, Codex, Hermes — o da un modello che esegui completamente offline (Ollama, LM Studio, vLLM). Nessuna nuova chiave API, nessun tenant cloud, nessuna seconda bolletta. Il tuo agente è il cervello; T3MP3ST è la macchina da guerra imbullonata attorno ad esso. Tempesta auto-ospitata. Guerra senza chiavi. ⚡
E non ti chiederà di credergli sulla parola. Sulla suite di 104 sfide di XBOW ottiene un 90,1% pass@1 — al di sopra dell'85% auto-dichiarato da XBOW — insieme a risoluzioni CTF senza indizi e una caccia a freddo su CVE reali, successive al cutoff, che il modello non aveva mai visto. Ogni numero in questo README viene ricalcolato dai dati impegnati con un comando (npm run verify-claims). Schietto sulla missione, onesto sulla costruzione — la tabella dello stato dice esattamente cosa è in produzione, cosa è impalcatura e cosa è ancora in roadmap; ricevute complete in Benchmark.
Tre cose lo distinguono:
npm run verify-claims li deriva tutti, 24/24 verdi. Un'affermazione che non può essere riprodotta non viene pubblicata. Mai numeri da fidarsi ciecamente.Vai a → Avvio rapido · Cosa caccia · Cosa viene fornito oggi · Benchmark · Architettura · Documentazione
T3MP3ST è uno strumento di sicurezza offensivo, progettato per test, ricerca e formazione autorizzati. Puntalo solo su sistemi di tua proprietà o per i quali hai un'autorizzazione esplicita e scritta a testarli. L'accesso non autorizzato a computer, reti o dati è illegale nella maggior parte delle giurisdizioni — sei tu l'unico responsabile per come usi questo software e per rimanere entro la legge e le tue regole di ingaggio. Porta la tempesta sui tuoi target, non su quelli di qualcun altro.
T3MP3ST viene fornito così com'è sotto licenza AGPL-3.0, senza garanzia e senza responsabilità per qualsiasi danno, perdita o uso improprio. Gli autori non approvano, supportano o giustificano attività non autorizzate. Ottieni il permesso. Rimani in scopo. Non essere una minaccia. 🫡
La sicurezza offensiva sta dietro anni di pratica e strumenti costosi. La scommessa dietro T3MP3ST è che uno sciame coordinato di agenti metta la vera caccia ai bug alla portata di persone che non hanno mai ricevuto l'invito, attraverso app web, CTF, smart contract, codice sorgente e OSS embedded/robotica. È una scommessa ambiziosa, e le sezioni seguenti sono attente a separare ciò che già funziona da ciò che è ancora una scommessa.
| Dominio | Cosa fa | Stato |
|---|---|---|
| 🕸️ Web app | Black-box, recon da attaccante esterno → exploit (suite XBEN) | ✅ Stabile |
| 🚩 CTF | Risoluzioni senza indizi, in sandbox isolata (Cybench) | ✅ Stabile |
| 🤖 Robotica / OT / embedded | Pipeline di divulgazione coordinata per caccia a vulnerabilità OSS (OSV + PoC live + refuter) | ✅ Pipeline stabile |
| 📂 Codice sorgente | Analisi white-box del repository con scomposizione master-builder cieca | ⚠️ Ingest solo Python |
| 💰 Smart contract | Damn Vulnerable DeFi | ⚠️ riproduzione, non scoperta nuova |
| ☁️ Cloud (IaC) | Benchmark di rilevamento misconfig (cloud:bench) + arsenale cloud opzionale (aws/az/gcloud + scoutsuite/cloudfox/pmapper; pacu con accesso controllato) | 🚧 Impalcatura misconfig IaC — sfruttamento live-cloud non ancora benchmarkato |
| 📱 Mobile | Analizzatore statico integrato (misconfig manifest + rilevamento segreti/testo in chiaro, mobile:bench) + arsenale opzionale (mobsfscan/objection/drozer; frida con accesso controllato) | 🚧 Impalcatura rilevamento statico — sfruttamento dinamico non benchmarkato |
| 🔩 Binario / RE | Rivelatore di sink da output decompilato (copia non sicura / format-string / cmd-injection / int-overflow, binary:bench) + arsenale opzionale (ghidra/radare2/objdump/checksec/strings; gdb con accesso controllato) | 🚧 Impalcatura rilevamento sink statico — risoluzione/pwn non benchmarkato |
Percorso più veloce per una War Room funzionante (senza chiavi, ~2 minuti per la configurazione; il tempo della missione dipende dal target):
npm install
npm run server # War Room → http://127.0.0.1:3333/ui/
Nella War Room, apri Impostazioni e connetti un agente locale (Claude Code / Codex / Hermes). Quindi descrivi un target a Op Admiral in inglese semplice e lancialo. L'agente che hai connesso è il cervello. Nessuna chiave richiesta.
Preferisci usare una chiave? Impostane una e salta il passaggio di connessione:
export OPENROUTER_API_KEY=... # o VENICE_API_KEY / ANTHROPIC_API_KEY / OPENAI_API_KEY
export XAI_API_KEY=... # Grok Build (grok-build-0.1) — xAI's coding model, native tool-calling
Agenti locali lenti possono avere più margine con T3MP3ST_LOCAL_AGENT_TIMEOUT_MS per ogni chiamata CLI, T3MP3ST_TASK_TIMEOUT_MS per le attività di missione e T3MP3ST_GENERAL_TIMEOUT_MS per le richieste di pianificazione. I valori sono in millisecondi.
Oppure eseguilo completamente offline sul tuo modello — nessuna chiave, nessun cloud. Predefinito su Ollama; puntalo su qualsiasi server compatibile con OpenAI (LM Studio, vLLM, llama.cpp):
ollama serve && ollama pull llama3 # o un server compatibile con OpenAI
export TEMPEST_LOCAL_BASE_URL=http://localhost:11434/api # LM Studio: http://localhost:1234/v1
export TEMPEST_LOCAL_MODEL=llama3
npx tempest # → "Change default provider" → local
Il tool-calling funziona su qualsiasi modello locale (è guidato tramite testo), quindi l'Arsenale funziona anche su modelli senza function-calling nativo.
Verifica i numeri tu stesso:
npm run verify-claims # ricalcola ogni headline dal JSON impegnato in bench/