
plateforme de red teaming autonome ; méta-harnais de sécurité offensive multi-agents
▄▄▄█████▓▓█████ ███▄ ▄███▓ ██▓███ ▓█████ ██████ ▄▄▄█████▓
▓ ██▒ ▓▒▓█ ▀ ▓██▒▀█▀ ██▒▓██░ ██▒▓█ ▀ ▒██ ▒ ▓ ██▒ ▓▒
▒ ▓██░ ▒░▒███ ▓██ ▓██░▓██░ ██▓▒▒███ ░ ▓██▄ ▒ ▓██░ ▒░
░ ▓██▓ ░ ▒▓█ ▄ ▒██ ▒██ ▒██▄█▓▒ ▒▒▓█ ▄ ▒ ██▒░ ▓██▓ ░
▒██▒ ░ ░▒████▒▒██▒ ░██▒▒██▒ ░ ░░▒████▒▒██████▒▒ ▒██▒ ░
▒ ░░ ░░ ▒░ ░░ ▒░ ░ ░▒▓▒░ ░ ░░░ ▒░ ░▒ ▒▓▒ ▒ ░ ▒ ░░
░ ░ ░ ░░ ░ ░░▒ ░ ░ ░ ░░ ░▒ ░ ░ ░
░ ░ ░ ░ ░░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░
Un framework de sécurité offensive multi-agents, conçu pour transformer l'agent de codage IA que vous utilisez déjà en chasseur de zero-day.
Votre agent de codage IA est déjà un hacker — T3MP3ST lui met un arsenal entre les mains.
Pointez-le vers une cible autorisée et la kill chain s'exécute toute seule : recon → exploit → report, depuis une War Room dans le navigateur ou la CLI, pilotée par l'agent auquel vous êtes déjà connecté — Claude Code, Codex, Hermes — ou un modèle que vous exécutez entièrement hors ligne (Ollama, LM Studio, vLLM). Pas de nouvelles clés API, pas de tenant cloud, pas de deuxième facture. Votre agent est le cerveau ; T3MP3ST est la machine de guerre boulonnée autour. Tempête auto-hébergée. Guerre sans clé. ⚡
Et il ne vous demandera pas de le croire sur parole. Sur la suite de 104 défis de XBOW elle-même, il obtient 90,1 % de pass@1 — au-dessus des 85 % auto-déclarés par XBOW — en plus de résolutions de CTF sans indice et d'une chasse à froid sur de vraies CVE postérieures à la date de coupure que le modèle n'avait jamais vues. Chaque chiffre de ce README se recalcule à partir de données commitées avec une seule commande (npm run verify-claims). Assumé sur la mission, honnête sur la construction — le tableau de statut indique exactement ce qui est opérationnel, ce qui est de l'échafaudage et ce qui reste à la feuille de route ; toutes les preuves dans Benchmarks.
Trois choses le distinguent :
npm run verify-claims les redérive tous, 24/24 au vert. Une affirmation qui ne peut pas être reproduite n'est pas livrée. Jamais de chiffres « faites-moi confiance ».Aller à → Démarrage rapide · Ce qu'il chasse · Ce qui est livré aujourd'hui · Benchmarks · Architecture · Documentation
T3MP3ST est un outil de sécurité offensif, conçu pour des tests, de la recherche et de l'éducation autorisés. Pointez-le uniquement vers des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. L'accès non autorisé à des ordinateurs, des réseaux ou des données est illégal dans la plupart des juridictions — vous êtes seul responsable de l'utilisation que vous faites de ce logiciel et du respect de la loi et de vos règles d'engagement. Amenez la tempête sur vos cibles, pas sur celles des autres.
T3MP3ST est fourni tel quel sous licence AGPL-3.0, sans garantie ni responsabilité pour tout dommage, perte ou mauvaise utilisation. Les auteurs n'approuvent, ne soutiennent ni ne cautionnent les activités non autorisées. Obtenez la permission. Restez dans le périmètre. Ne soyez pas une menace. 🫡
La sécurité offensive reste inaccessible sans des années de pratique et des outils coûteux. Le pari derrière T3MP3ST est qu'un essaim d'agents coordonnés met la vraie chasse aux bugs à la portée des personnes qui n'ont jamais reçu l'invitation, dans les applications web, les CTF, les smart contracts, le code source et l'OSS embarqué/robotique. C'est un pari ambitieux, et les sections ci-dessous prennent soin de distinguer ce qui fonctionne déjà de ce qui reste un pari.
Le chemin le plus rapide vers une War Room opérationnelle (sans clé, ~2 min de configuration ; la durée de mission dépend de la cible) :
npm install
npm run server # War Room → http://127.0.0.1:3333/ui/
Dans la War Room, ouvrez Settings et connectez un agent local (Claude Code / Codex / Hermes). Décrivez ensuite une cible à Op Admiral en anglais simple et lancez. L'agent que vous avez connecté est le cerveau. Aucune clé requise.
Vous préférez utiliser une clé ? Définissez-en une et sautez l'étape de connexion :
export OPENROUTER_API_KEY=... # or 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
On peut donner plus de marge aux agents locaux lents avec T3MP3ST_LOCAL_AGENT_TIMEOUT_MS pour chaque appel CLI, T3MP3ST_TASK_TIMEOUT_MS pour les tâches de mission et T3MP3ST_GENERAL_TIMEOUT_MS pour les requêtes de planification. Les valeurs sont en millisecondes.
Ou exécutez-le entièrement hors ligne sur votre propre modèle — pas de clé, pas de cloud. Ollama par défaut ; pointez-le vers n'importe quel serveur compatible OpenAI (LM Studio, vLLM, llama.cpp) :
ollama serve && ollama pull llama3 # or an OpenAI-compatible server
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
L'appel d'outils fonctionne sur n'importe quel modèle local (il est piloté par texte), donc l'Arsenal tourne même sur des modèles sans appel de fonction natif.
Vérifiez les chiffres par vous-même :
npm run verify-claims # re-derives every headline from committed JSON in bench/
L'utilisation en bibliothèque/SDK, l'API HTTP complète et la configuration MCP se trouvent dans docs/.
Le framework est une kill chain à 8 opérateurs, et ce tableau ne va pas vous enfumer. La recon est un moteur opérationnel, adossé à de vrais outils — et les dents sont déjà bien réelles : 90,1 % de pass@1 sur XBEN, 8/10 CVE postérieures à la date de coupure, mises de côté, épinglées sur le fichier/ligne/CWE exacts, et un pipeline de divulgation coordonnée suffisamment opérationnel pour avoir, en ce moment même, des brouillons en attente de coordination avec les éditeurs. Ce qui n'est pas prouvé, c'est l'essaim. Chaque opérateur en aval — Exploiter, Infiltrator, Exfiltrator, Ghost — exécute la même boucle ReAct réelle adossée à des outils que la recon (de vrais outils d'exploitation, pas des stubs), mais les chiffres phares proviennent d'un agent unique, pas de la cellule coordonnée à 8 opérateurs, et l'exploitation d'essaim de bout en bout n'est pas benchmarkée et reste peu fiable. Le moteur est réel ; l'essaim est la partie qui doit encore faire ses preuves. Nous clamons haut et fort là où nous l'avons mérité, et nous sommes directs sur le reste.
Détail complet fonction par fonction : FEATURES.md.
Là où la tempête frappe aujourd'hui — et où elle se dirige. Même discipline que partout ailleurs : un domaine n'est ✅ que lorsqu'il y a une preuve derrière.
L'architecture classe/escouade signifie que les nouveaux domaines se composent plutôt qu'ils ne forker — chacun est un loadout (classes spécialisées + arsenal + adaptateur de cible + un benchmark). Les domaines 🚧 sont livrés dans l'ombre jusqu'à ce qu'ils aient un chiffre.
Résultats phares. Chacun se recalcule à partir du JSON commité avec npm run verify-claims ; la méthodologie complète et les réserves figurent dans les docs liées.
Comment lire ces résultats :
verify-claims recalcule le succès/échec. Les transcriptions brutes par étape sont supprimées pour la confidentialité des opérateurs, donc vous revérifiez le verdict noté, pas la sortie brute des outils. Zéro fabrication, imposé par un garde-fou anti-surajustement qui s'exécute à chaque push.Le chiffre n'est pas la démonstration — la preuve l'est. Un harnais open-source sans clé qui vous donne la re-exécution au lieu de vous demander de lui faire confiance : clonez-le, lancez npm run verify-claims, et chaque verdict ci-dessus se recalcule à partir de son oracle commité sous vos yeux.
Lecture approfondie : WALL_FORENSICS (échecs par défi), CYBENCH, INTEGRITY_LEDGER (audit de contamination et chaque rétractation), OBSIDIVM (notre propre cyber range web en direct).
┌─────────────────────────────────────────────────────────────────┐
│ T3MP3ST COMMAND │
├─────────────────────────────────────────────────────────────────┤
│ MISSION CONTROL ◄── TARGET MODEL ──► ARSENAL (TOOLS) │
│ ▲ │
│ AGENT CELL: RECON · SCANNER · EXPLOITER · INFILTRATOR · │
│ EXFILTRATOR · GHOST · COORDINATOR · ANALYST │
│ ▲ │
│ EVIDENCE VAULT · CREDENTIAL STORE · FINDINGS LEDGER │
│ ▲ │
│ OPSEC LAYER · COMMS CHANNEL · LLM BACKBONE │
└─────────────────────────────────────────────────────────────────┘
Les opérateurs correspondent aux phases MITRE ATT&CK et Cyber Kill Chain (la recon est opérationnelle ; les phases ultérieures sont échafaudées) :
Fournisseurs : OpenRouter, Venice, Anthropic, OpenAI, ou un agent local sans clé (Claude Code / Codex / Hermes). Définissez OPENROUTER_API_KEY / VENICE_API_KEY / ANTHROPIC_API_KEY, ou connectez un agent dans Settings.
Intégrations : node dist/mcp-server.js expose security_recon aux agents compatibles MCP. npm run server démarre l'API HTTP (POST /api/mission/start, GET /api/mission/status, et plus encore). Référence complète dans docs/.
Le red teaming ne devrait pas être un clergé. Apportez un adaptateur, un pack de prompts, un runbook, un nouvel outil d'arsenal ou un rapport de bug.
Une règle, non négociable : tout ici est destiné uniquement aux tests autorisés. Cibles possédées, dans le périmètre ou consentantes. Construisez pour les défenseurs, ou ne construisez pas ici.
npm run verify-claims doit rester au vert.Processus de release et portes : RELEASE_CHECKLIST.
AGPL-3.0. Voir LICENSE.
Fortes fortuna iuvat — la fortune sourit aux audacieux.
⊰•-•✧ LOVE PLINY ✧•-•⊱ 🌩️
| Domaine | Ce qu'il fait | Statut |
|---|
| 🕸️ Applications web | Recon → exploitation en black-box, en attaquant externe (suite XBEN) | ✅ Stable |
| 🚩 CTF | Résolutions sans indice, en bac à sable (Cybench) | ✅ Stable |
| 🤖 Robotique / OT / embarqué | Pipeline de divulgation coordonnée pour la chasse aux vulnérabilités OSS (OSV + PoC en direct + réfutateur) | ✅ Pipeline stable |
| 📂 Code source | Analyse de dépôt white-box avec décomposition aveugle par master-builder | ⚠️ Ingestion Python uniquement |
| 💰 Smart contracts | Damn Vulnerable DeFi | ⚠️ Reproduction, pas de découverte originale |
| ☁️ Cloud (IaC) | Benchmark de détection de mauvaise configuration (cloud:bench) + arsenal cloud optionnel (aws/az/gcloud + scoutsuite/cloudfox/pmapper ; pacu verrouillé) | 🚧 Échafaudage de détection de mauvaise config IaC — exploitation cloud en direct pas encore benchmarkée |
| 📱 Mobile | Analyseur statique intégré (mauvaise config du manifeste + détection de secrets/texte en clair, mobile:bench) + arsenal optionnel (mobsfscan/objection/drozer ; frida verrouillé) | 🚧 Échafaudage de détection statique — exploitation dynamique non benchmarkée |
| 🔩 Binaire / RE | Détecteur de sinks dans la sortie décompilée (unsafe-copy / format-string / cmd-injection / int-overflow, binary:bench) + arsenal optionnel (ghidra/radare2/objdump/checksec/strings ; gdb verrouillé) | 🚧 Échafaudage de détection statique de sinks — résolution/pwn non benchmarké |
| Composant | Statut | Notes |
|---|
Mesure re-dérivable (verify-claims) | ✅ Stable | chaque chiffre phare se recalcule à partir des artefacts commités |
| Moteur de recon | ✅ Stable | pilote nmap / DNS / HTTP / fingerprinting ; chaque résultat remonte à une sortie d'outil réelle |
| Moteur de mission + War Room + Op Admiral | ✅ Stable | sans clé via un agent local connecté |
| Arsenal, serveur MCP, API HTTP | ✅ Stable | 35 outils intégrés par défaut ; 83 avec l'option T3MP3ST_FULL_ARSENAL (+48 adaptateurs, avec les drivers post-exploitation dangereux — metasploit, hydra — derrière une porte d'approbation humaine) — les deux compteurs se redérivent via verify-claims. security_recon via MCP |
| Confinement du périmètre egress | ✅ Stable (activé par défaut) | une fois la cible de mission définie, les outils réseau intégrés refusent les hôtes publics hors périmètre — ni la cible/sous-domaines, ni loopback/privé (SCOPE DENIED) — une valeur par défaut resserrée, pas un simple lanceur d'outils |
| Pipeline de divulgation coordonnée | ✅ Stable | nouveauté OSV + PoC en direct + panel réfutateur + CVSS ; brouillons uniquement, un humain envoie |
| Analyse de code source white-box | ⚠️ Expérimental | ingestion regex Python uniquement ; la décomposition multi-modèles coûte plus de tokens, pas moins |
| DeFi (Damn Vulnerable DeFi) | ⚠️ Expérimental | reproduit des classes d'exploitation connues ; pas de découverte originale |
| Exploiter / Infiltrator / Exfiltrator / Ghost | ⚠️ Expérimental | exécutent la vraie boucle ReAct adossée à des outils (même moteur que la recon) ; non prouvés en essaim coordonné — l'agent unique est la voie benchmarkée, l'exploitation d'essaim en direct reste peu fiable |
| Modules avancés (cloud, persistance, essaim, cognition) | 🚧 Planifié | interface uniquement dans src/stubs/ |
| Boucle d'auto-amélioration | 🧪 Recherche | enregistre les leçons et propositions aujourd'hui ; les réinjecter dans la planification est à la feuille de route |
| Domaine | Ce qu'il couvre | Statut |
|---|
| 🕸️ Web | applications, APIs, flux d'authentification, OWASP Top 10 | ✅ Cœur — XBEN 90,1 % de pass@1 |
| 📂 Code | audits de code source white-box, chasse aux vulnérabilités type SAST | ✅ Prouvé (résultat de chasse) — CVE-Zero mis de côté : agent unique 8/10 fichier/ligne/CWE exacts, 10/10 trouvées (7 langages) ; le moteur d'ingestion de dépôt lui-même est encore ⚠️ expérimental |
| 🚩 CTF | wargames, terrains d'entraînement, défis | ✅ Prouvé — Cybench 23/40 sans indice |
| 🔌 Réseau / Infra | recon, fingerprinting de services/piles ; latéral + élévation de privilèges | ✅ recon (moteur nmap/DNS/HTTP opérationnel) · ⚠️ latéral/élévation de privilèges expérimentaux |
| 🤖 Embarqué / IoT / OT | firmware, robotique, OSS ICS/SCADA | ✅ Pipeline CVE opérationnel — brouillons de divulgation coordonnée en attente pour les éditeurs |
| 📦 Supply chain | audits de dépendances, installation sans confirmation | ⚠️ Réel — classe dédiée ; a touché une CWE-829 sur le lot mis de côté |
| 💰 Blockchain | smart contracts, DeFi, Solidity | ⚠️ Reproduction uniquement — Damn Vulnerable DeFi, pas de découverte originale |
| ☁️ Cloud | mauvaise configuration AWS/GCP/Azure, IAM, serverless | 🚧 En développement |
| 📱 Mobile | sécurité des applications Android/iOS | 🚧 En développement |
| 🏢 Identité / AD | Kerberos, pass-the-hash, attaques AD | 🚧 En développement |
| 🔐 Binaire / RE | overflows, ROP, développement d'exploits | 🚧 En développement — nécessite des outils spécialisés |
| Suite | Résultat | Contexte |
|---|
| XBEN — la suite de 104 défis de XBOW, black-box | pass@1 moyen 90,1 % (Wilson-95 86,2–92,9), plancher 91/104 · gpt-5.5 | XBOW auto-déclare 85 % sur la même suite ; la nôtre redérive le verdict noté à partir des artefacts commités (transcriptions brutes supprimées pour la confidentialité) |
| XBEN — white-box (rapporté séparément) | pass@1 98,7 %, best-ball 104/104 · gpt-5.5 | jamais mélangé avec le chiffre black-box |
| Cybench — banc académique de 40 tâches, Opus 4.8, sans indices | 23/40 (58 %) sans indice, pass@1 en un seul run (imposé par verify-claims) | pas le record de score brut (Anthropic : 76,5 % pass@10) ; chaque flag noté par rapport à l'oracle commité |
| CVE-Zero — 10 vraies CVE postérieures à la date de coupure (2026), mises de côté, 7 langages | agent unique 8/10 fichier/ligne/CWE exacts (vérifiés tous exacts, stable) · 10/10 trouvées (pack complet) | à l'épreuve de la mémorisation et du surajustement : postérieures à la date de coupure, et les prompts durcis n'ont jamais été optimisés sur celles-ci ; verify-claims le recalcule. n=10, directionnel ; l'avantage de l'essaim ici est le rappel, pas une preuve que la coordination bat le solo |
| Doc | Contenu |
|---|
| FEATURES.md | statut fonction par fonction ([x] livré / [~] partiel / [ ] planifié) |
| SCOPE_AND_AUTHORIZATION | modèle d'autorité, preuves de périmètre, règles de preuve et de re-test |
| VERIFIED_PROVENANCE | comment les résultats deviennent prouvés par des outils plutôt qu'affirmés par le modèle |
| TEAM_PREVIEW | parcours de première exécution et script de revue |
| INSTALL_MATRIX | tableau de préparation macOS / Linux |
| ARSENAL_ACTIVATION_PLAN | configuration optionnelle des outils externes |
| CYBENCH · WALL_FORENSICS · INTEGRITY_LEDGER · COGNITIVE_ARCHITECTURE | méthodologie des benchmarks |
| RELEASE_CHECKLIST | les portes qu'une version doit franchir |
| Opérateur | Phase | MITRE | Fonction |
|---|
| Recon | Reconnaissance | TA0043 | OSINT, découverte réseau, énumération d'actifs |
| Scanner | Discovery | TA0007 | scan de vulnérabilités, fingerprinting de services |
| Exploiter | Accès initial | TA0001 | exploitation, livraison de payloads |
| Infiltrator | Mouvement latéral | TA0008 | post-exploitation, élévation de privilèges |
| Exfiltrator | Collecte / Exfil | TA0009/10 | extraction de données, récolte d'identifiants |
| Ghost | Persistance | TA0003 | persistance, furtivité, nettoyage |
| Coordinator | Commande & contrôle | TA0011 | contrôle de mission, orchestration |
| Analyst | Analyse | — | analyse de motifs, rapport |