# T3MP3ST: Tactical Execution Multi-agent Platform for Security Testing ## A Technical Whitepaper **Version 1.0 | February 2026** --- > **What is real vs. scaffolding — read this first.** T3MP3ST's live, tool-backed > engine is **reconnaissance**: the recon operator drives a real ReAct tool-calling > loop against a target and is what produces the re-derivable benchmark numbers (run > under a **single-agent loop**, not the full operator swarm). The rest of the > Cyber Kill Chain past recon — and the "advanced" / "Pliny Specials" modules — are > **honestly-labeled scaffolding**: framework surface, interface stubs, and > simulators, not autonomous exploitation. Reports from full-chain runs show `0` > executed exploits. See [`FEATURES.md`](FEATURES.md) for the per-module > `[x]` shipped / `[~]` partial / `[ ]` planned legend, and the README's > "What is real vs. scaffolding" section. This document describes the **framework**; > where it names a capability, check it against that legend before assuming it runs. --- ## Abstract T3MP3ST (TEMPEST) is an open-source, TypeScript-based multi-agent framework for penetration testing and red team operations. The platform models the workflow as a structured Cyber Kill Chain pipeline of specialized AI-powered agents ("operators"), backed by payload databases, real security tooling, and LLM-driven decision-making. Today its live engine is the **reconnaissance operator** (a real tool-calling ReAct loop); the downstream kill-chain phases and advanced modules are framework scaffolding rather than autonomous exploitation (see the note above and [`FEATURES.md`](FEATURES.md)). T3MP3ST exposes its capabilities through three interfaces: a command-line interface, an HTTP REST API, and a Model Context Protocol (MCP) server, for embedding recon-driven security testing into human-driven workflows and agent pipelines. This whitepaper details the architecture, agent model, execution pipeline, tooling, and integration surface of T3MP3ST, providing a comprehensive technical reference for security professionals, researchers, and developers. --- ## Table of Contents 1. [Introduction](#1-introduction) 2. [Architecture Overview](#2-architecture-overview) 3. [The Operator Model](#3-the-operator-model) 4. [Kill Chain Execution Pipeline](#4-kill-chain-execution-pipeline) 5. [LLM Backbone](#5-llm-backbone) 6. [The Pliny Specials](#6-the-pliny-specials) 7. [Arsenal & Tooling](#7-arsenal--tooling) 8. [Evidence & Intelligence Pipeline](#8-evidence--intelligence-pipeline) 9. [OPSEC Layer](#9-opsec-layer) 10. [Integration Surfaces](#10-integration-surfaces) 11. [Web UI & War Room](#11-web-ui--war-room) 12. [Benchmark System](#12-benchmark-system) 13. [Security & Ethical Considerations](#13-security--ethical-considerations) 14. [Comparison with Existing Tools](#14-comparison-with-existing-tools) 15. [Future Directions](#15-future-directions) 16. [Conclusion](#16-conclusion) --- ## 1. Introduction ### 1.1 The Problem Modern penetration testing demands coordination across multiple specialized tools, techniques, and phases. A typical engagement requires: - Reconnaissance and OSINT across multiple vectors - Vulnerability discovery using diverse scanning methodologies - Exploit development and delivery - Post-exploitation and lateral movement - Evidence collection, correlation, and reporting Traditionally, these are performed sequentially by human operators switching between dozens of tools. This is slow, error-prone, and difficult to scale. Existing automation approaches tend to be either too narrow (single-tool wrappers) or too broad (full autopilot without human oversight). ### 1.2 The T3MP3ST Approach T3MP3ST addresses this gap by modeling the penetration testing workflow as a **multi-agent coordination problem**. Rather than building a monolithic scanner, T3MP3ST decomposes security testing into specialized agent roles (operators) that communicate, share intelligence, and advance through a structured kill chain. Each operator is powered by an LLM backbone that enables autonomous reasoning, tool selection, and finding extraction. Key design principles: - **Specialization over generalization** - Each operator is tuned for a specific kill chain phase - **Intelligence sharing** - Findings from one phase feed directly into the next - **Operational security by default** - Detection risk, cooldowns, and abort thresholds are first-class concepts - **Multiple autonomy levels** - From fully manual to fully autonomous operation - **Open integration** - CLI, REST API, and MCP server for embedding in any workflow ### 1.3 Scope of This Document This whitepaper covers T3MP3ST v1.0, encompassing the core framework (~12,000 lines of TypeScript), the web UI (~14,000 lines), and the supporting infrastructure. All code is MIT-licensed. --- ## 2. Architecture Overview ### 2.1 System Topology ``` +------------------------------------------------------------------+ | T3MP3ST COMMAND | | (TempestCommand - Central EventEmitter-based Orchestrator) | +------------------------------------------------------------------+ | | | +------------+ +------------+ +------------+ +------------+ | | | OPERATOR | | MISSION | | TARGET | | EVIDENCE | | | | CELL | | CONTROL | | ENVIRON | | VAULT | | | | (Agent | | (Task | | (Attack | | (Findings, | | | | Pool) | | Queue, | | Surface | | Creds, | | | | | | Phases, | | Model) | | Evidence) | | | | | | RoE) | | | | | | | +------------+ +------------+ +------------+ +------------+ | | | | +------------+ +------------+ +------------+ +------------+ | | | ARSENAL | | OPSEC | | COMMS | | ANALYSIS | | | | (15+ Real | | (Detection | | (Inter- | | (Reporting | | | | Tools + | | Mgmt, | | Agent | | Engine, | | | | CLI Wrap) | | Cooldown) | | Channels) | | Summaries)| | | +------------+ +------------+ +------------+ +------------+ | | | | +------------------------------------------------------------+ | | | LLM BACKBONE | | | | OpenRouter | Anthropic | OpenAI | Ollama | Mock | | | | 50+ models | Fallback chain | safeLLMCall() | | | +------------------------------------------------------------+ | | | | +------------------------------------------------------------+ | | | ADVANCED MODULES (Stubs + Implemented) | | | | KnowledgeBase | EvasionEngine | ReasoningEngine | | | | | CognitionEngine | SwarmController | CloudSecurity | ... | | | +------------------------------------------------------------+ | +------------------------------------------------------------------+ | | | +----+----+ +----+----+ +----+----+ | CLI | | REST | | MCP | | (REPL) | | API | | Server | | | | :3333 | | (stdio) | +---------+ +---------+ +---------+ ``` ### 2.2 Core Components **TempestCommand** (`src/index.ts`, 1039 lines) - The central orchestrator. Extends `EventEmitter` and owns all subsystems. Implements the tick-based execution loop, event forwarding, intelligence syncing, and lifecycle management. **OperatorCell** (`src/operators/index.ts`, 861 lines) - Manages the pool of operator agents. Handles spawning, capacity limits, status aggregation, and archetype-based querying. **MissionControl** (`src/mission/index.ts`) - Mission lifecycle, task queue, phase transitions, objective tracking, and Rules of Engagement enforcement. **TargetEnvironment** (`src/target/index.ts`) - Attack surface model. Tracks targets, their status transitions (discovered -> scanning -> vulnerable -> exploited -> owned), services, and vulnerabilities. **EvidenceVault** (`src/evidence/index.ts`) - Central repository for findings, credentials, and evidence artifacts. Supports severity classification and CVSS scoring. **Arsenal** (`src/arsenal/index.ts`) - Tool registry with 15+ built-in tools and external CLI tool wrappers. Category-based filtering and execution history tracking. **LLMBackbone** (`src/llm/index.ts`) - Multi-provider LLM client supporting OpenRouter (50+ models), Anthropic, OpenAI, Ollama, and a mock provider for testing. ### 2.3 Technology Stack | Layer | Technology | |-------|-----------| | Language | TypeScript 5.3+ (strict mode) | | Runtime | Node.js 18+ | | Build | `tsc` (TypeScript compiler) | | Events | `eventemitter3` (typed events) | | CLI | `commander` + `inquirer` + `chalk` + `figlet` | | API Server | Express.js 4 with CORS | | MCP Server | `@modelcontextprotocol/sdk` (stdio transport) | | Config | `conf` (persistent storage) + `dotenv` | | Testing | Vitest | | Linting | ESLint 9 with `typescript-eslint` | --- ## 3. The Operator Model ### 3.1 Agent Architecture Each operator is an instance of `OperatorAgent`, which is an `EventEmitter` with: - **Identity**: UUID, callsign, archetype - **Profile**: MITRE ATT&CK tactics, tool categories, capabilities, system prompt - **State machine**: idle -> tasked -> executing -> cooldown -> idle (or burned) - **Intelligence**: locally accumulated findings and credentials - **Execution**: LLM-powered task execution with optional AgentLoop (ReAct pattern) ### 3.2 Eight Archetypes | Archetype | Kill Chain Phase | MITRE Tactics | Capabilities | |-----------|-----------------|---------------|-------------| | **Recon** | Reconnaissance | TA0043 | OSINT, DNS enum, subdomain discovery, port scanning | | **Scanner** | Discovery | TA0007 | Vulnerability scanning, service fingerprinting, config audit | | **Exploiter** | Initial Access | TA0001, TA0002 | Exploit dev, payload delivery, initial access | | **Infiltrator** | Lateral Movement | TA0008, TA0004 | Privilege escalation, lateral movement, credential access | | **Exfiltrator** | Exfiltration | TA0009, TA0010 | Data collection, exfiltration, staging | | **Ghost** | Persistence | TA0003, TA0005 | Persistence, evasion, cleanup, anti-forensics | | **Coordinator** | C2 | TA0011 | Orchestration, task management, decision making | | **Analyst** | Reporting | - | Analysis, reporting, recommendations, risk assessment | Each archetype has a dedicated system prompt (`src/prompts/index.ts`) that constrains the operator's reasoning to its domain. The prompts include: - Role definition and operational constraints - Preferred tools and techniques (mapped to MITRE ATT&CK technique IDs) - Output format expectations (structured findings, credentials, next steps) - OPSEC considerations specific to the phase ### 3.3 Task Execution Pipeline When an operator receives a task, execution follows this priority order: 1. **AgentLoop (ReAct)** - If an `AgentLoop` is attached (LLM + Arsenal), the operator uses autonomous tool-calling in a Reason-Act-Observe loop. The loop selects tools from the Arsenal, executes them, observes results, and iterates (up to 15 iterations, 50K token budget). 2. **LLM-only** - If only an LLM is available (no Arsenal), the operator uses the LLM to analyze the task and produce structured output without executing real tools. 3. **No LLM** - Returns a descriptive error explaining that an LLM provider is required. ### 3.4 Team Factories Pre-built team compositions for common scenarios: - `createBalancedTeam()` - All 8 archetypes (one each), general-purpose - `createStealthTeam()` - Recon + Scanner + Ghost with low detection thresholds - `createBreachTeam()` - 2x Exploiter + Infiltrator + Exfiltrator with aggressive settings ### 3.5 State Management ``` assignTask() idle ───────────> tasked ──────> executing ^ | | v +──── cooldown <────────── (task complete) | +──── burned <────── (detection risk exceeded) ``` - **Detection risk** accumulates with failed tasks (+0.1 per failure) - When risk exceeds `maxDetectionRisk`, the operator is automatically "burned" (disabled) - Cooldown duration is configurable per operator (default 5s, stealth configs use 30s) --- ## 4. Kill Chain Execution Pipeline ### 4.1 Phase Model T3MP3ST implements the 7-phase Cyber Kill Chain: ``` RECON -> WEAPONIZE -> DELIVER -> EXPLOIT -> INSTALL -> C2 -> ACTIONS ``` Each phase maps to specific operator archetypes, ensuring the right specialist handles each stage. ### 4.2 Tick-Based Execution The `TempestCommand.tick()` method runs every 1 second and implements the core execution loop: 1. **OPSEC check** - If abort is recommended, pause operations 2. **Task seeding** - On first tick with targets, generate reconnaissance tasks 3. **Phase advancement** - If all tasks for the current phase are complete, advance to the next phase and generate new tasks 4. **Task dispatch** - Match pending tasks to idle operators by archetype, checking dependencies before assignment 5. **Auto-spawning** - If no operator exists for a task's archetype, auto-spawn one (up to 3 per archetype) ### 4.3 Intelligence Flow Findings from operators flow through an intelligence pipeline: ``` Operator discovers finding -> EvidenceVault stores it -> syncFindingToTarget() updates the Target model -> Services extracted from port/service findings -> Vulnerabilities added to target record -> Target status elevated (discovered -> vulnerable -> exploited) -> Next phase operators receive enriched target data ``` This ensures that a scanner's discovery of an open port is automatically available to the exploiter in the next phase. ### 4.4 Mission Control Missions are created with: - **Objectives** - High-level goals (e.g., "Achieve initial foothold") - **Phases** - Ordered subset of kill chain phases - **Rules of Engagement** - Scope limits, forbidden techniques, detection thresholds - **Task Queue** - Priority-based, dependency-aware task scheduling Two RoE presets are provided: - `createDefaultRoE()` - Standard engagement rules - `createStrictRoE()` - Tight scope, low detection tolerance --- ## 5. LLM Backbone ### 5.1 Multi-Provider Architecture The `LLMBackbone` class (`src/llm/index.ts`) abstracts LLM access across providers: | Provider | Models | Notes | |----------|--------|-------| | **OpenRouter** | 50+ models (Claude, GPT-4, Gemini, Grok, DeepSeek, Llama, Mistral) | Primary provider, recommended | | **Anthropic** | Claude Opus, Sonnet, Haiku | Direct API | | **OpenAI** | GPT-4o, GPT-4 Turbo, o1 | Direct API | | **Ollama** | Any local model | For air-gapped environments | | **Mock** | Deterministic responses | For testing | ### 5.2 Fallback Chain The `safeLLMCall()` pattern implements resilient LLM communication: 1. Attempt call with primary model 2. If response is empty (<10 chars) or fails, retry with Hermes (via OpenRouter) 3. 3-tier JSON parsing: code block extraction -> non-greedy match -> plain-text regex 4. Empty response detection triggers automatic fallback ### 5.3 Model Configuration ```typescript // Model IDs use DOT format for OpenRouter const models = { opus: 'anthropic/claude-opus-4.6', sonnet: 'anthropic/claude-sonnet-4.5', haiku: 'anthropic/claude-haiku-4.5', }; ``` Configuration is managed through `src/config/index.ts` using the `conf` library for persistent storage, with environment variable override support. --- ## 6. The Pliny Specials ### 6.1 Overview The "Pliny Specials" are T3MP3ST's nine elite capability organs. Each provides a specialized, high-level security operation backed by structured payload knowledge, local simulators, evidence contracts, and LLM-powered analysis. The intended shape is not a loose tool drawer: every Special should participate in the same loop of hypothesis, safe probe, evidence, finding, fix, and retest. ### 6.2 Tool Catalog | Tool | Power | Domain | Primary Function | |------|-------|--------|-----------------| | **LEVIATHAN** | 99 | Orchestration | Autonomous kill chain orchestration - plans and executes full engagements | | **SPHINX** | 88 | Validation | Vulnerability validation - confirms exploitability, eliminates false positives | | **GORGON** | 92 | Exploitation | Precision strike engine - surgical exploitation with stealth priority | | **CERBERUS** | 85 | Privilege Escalation | Identifies and ranks escalation vectors (50+ techniques for Linux/Windows) | | **TYPHON** | 90 | Payload Engineering | Encoding, obfuscation, and WAF bypass (URL, Base64, hex, unicode, HTML entities) | | **GRIFFIN** | 95 | Credential Harvesting | Secret extraction - AWS keys, GitHub tokens, JWTs, private keys (15+ patterns) | | **SIMURGH** | 100 | Research | Zero-day research framework - attack surface mapping and primitive identification | | **HYDRA** | 85 | Multi-Vector | Parallel multi-vector attack coordination (14 attack vectors) | | **ARACHNE** | 87 | Chaining | Exploit chain builder - multi-step attack path construction (18 known chains) | ### 6.3 Payload Databases The Pliny tools are backed by comprehensive, categorized payload databases (200+ total): **SQL Injection** (5 categories): - UNION-based (10 payloads) - Blind boolean (7 payloads) - Time-based blind (6 payloads) - Error-based (4 payloads) - Stacked queries (5 payloads) **Cross-Site Scripting** (4 categories): - HTML context, attribute injection, JavaScript context, polyglot **Server-Side Template Injection**: - Jinja2, Twig, ERB, generic detection **Local/Remote File Inclusion**: - Unix path traversal, Windows path traversal, PHP wrappers **SSRF**: - Localhost bypass, cloud metadata (AWS/GCP/Azure/DigitalOcean) **Command Injection**: - Unix and Windows variants **XXE**: - File read, SSRF, out-of-band exfiltration ### 6.4 Privilege Escalation Database CERBERUS maintains 50+ escalation techniques: **Linux** (25+ techniques): - SUID/SGID binaries, sudo misconfigurations, capabilities - Kernel exploits (DirtyPipe, DirtyCow, PwnKit) - Cron jobs, writable paths, container escapes **Windows** (25+ techniques): - Potato family (JuicyPotato, PrintSpoofer, GodPotato) - UAC bypass, unquoted service paths - Token impersonation, registry autorun, DLL hijacking ### 6.5 Secret Pattern Detection GRIFFIN uses 15+ regex patterns to detect: - AWS access keys, secret keys, session tokens - GitHub tokens (classic and fine-grained) - Google API keys and OAuth secrets - JWT tokens (with algorithm analysis) - Database connection URIs - Private keys (RSA, DSA, EC, OpenSSH) --- ## 7. Arsenal & Tooling ### 7.1 Built-in Tools (Real Implementations) All built-in tools perform **real operations** using Node.js APIs: | Tool | Category | Implementation | |------|----------|---------------| | `dns_lookup` | Recon | `dns` module - A, AAAA, MX, NS, TXT, CNAME records | | `port_scan` | Recon | `net` module - TCP connect scan | | `subdomain_enum` | Recon | DNS brute-force with wordlist | | `whois_lookup` | Recon | TCP port 43 queries | | `http_request` | Web | Full HTTP client with custom headers | | `header_analysis` | Web | Security header scoring | | `dir_bruteforce` | Web | HTTP directory enumeration | | `technology_detect` | Web | Header/content fingerprinting | | `xss_scan` | Vuln | Payload injection + reflection detection | | `sqli_scan` | Vuln | Error-based and boolean-based detection | | `ssl_scan` | Vuln | `tls` module - cipher analysis | | `password_spray` | Auth | HTTP POST credential testing | | `hash_crack` | Auth | Dictionary attack via `crypto` | | `base64_decode` | Util | Base64 encoding/decoding | | `jwt_decode` | Util | JWT parsing with security analysis | ### 7.2 External CLI Tool Wrappers The Arsenal also wraps common security CLI tools when available on the system: - **Network**: nmap, curl, wget, dig, host, whois - **Web**: nikto, gobuster, ffuf, dirb - **Exploitation**: sqlmap, wfuzz, hydra - **Crypto/Forensics**: openssl, base64, xxd, strings, file, exiftool, binwalk These are executed via `child_process.exec` with a whitelisted command set to prevent command injection. ### 7.3 Tool Execution Model ```typescript // Tools are registered with typed schemas arsenal.register({ name: 'port_scan', category: 'recon', description: 'TCP port scanner', execute: async (params, context) => { // Real implementation using Node.js net module return { success: true, data: { openPorts: [...] } }; } }); // Operators access tools via the AgentLoop agentLoop.run(task, systemPrompt, target); // -> LLM selects tools -> Arsenal executes -> Observe results -> Iterate ``` --- ## 8. Evidence & Intelligence Pipeline ### 8.1 Evidence Vault The `EvidenceVault` centrally stores all operational intelligence: **Findings** include: - Title, description, severity (critical/high/medium/low/info) - CVSS score, CVE identifiers, CWE classification - Target ID, operator ID, kill chain phase - Evidence artifacts (screenshots, HTTP traces, command output) - Remediation recommendations - Timestamp and exploitation status **Credentials** are classified by type: - Passwords, hashes, tokens, API keys, certificates ### 8.2 Intelligence Syncing The `syncFindingToTarget()` method automatically enriches the target model: 1. **Service extraction** - Parses port/service findings and adds to target services 2. **Vulnerability registration** - Maps findings to target vulnerabilities 3. **Status escalation** - Automatically promotes target status based on severity 4. **Credential attachment** - Links credentials to their source targets This creates a feedback loop where each operator's discoveries enrich the target model for subsequent operators. ### 8.3 Reporting Engine The `AnalysisEngine` generates structured reports: - **Executive summary** - Risk rating, finding counts, top recommendations - **Technical findings** - Detailed vulnerability descriptions with evidence - **Full report** - Combined executive + technical + attack paths - **Export formats** - Markdown (implemented), with JSON support --- ## 9. OPSEC Layer ### 9.1 Detection Management The `OpsecController` tracks operational security across the engagement: - **Detection events** - Each detected interaction is logged with type and severity - **Abort threshold** - Configurable limit; when exceeded, operations pause automatically - **IOC tracking** - Indicators of Compromise are cataloged for post-engagement review ### 9.2 OPSEC Levels | Level | Max Detections | Cooldown | Jitter | Traffic Blending | |-------|---------------|----------|--------|-----------------| | **Silent** | 1 | 5 minutes | 5-15s | Yes | | **Covert** | 3 | 1 minute | 1-5s | Yes | | **Loud** | 20 | 2 seconds | 0.1-0.5s | No | ### 9.3 Operator-Level OPSEC Each operator maintains an independent detection risk score: - Starts at 0 - Increases by 0.1 on task failure - When it exceeds `maxDetectionRisk`, the operator is "burned" (permanently disabled) - Cooldown periods between tasks reduce observable patterns --- ## 10. Integration Surfaces ### 10.1 Command-Line Interface The CLI (`src/cli.ts`, 20K lines) provides an interactive REPL with: - Operation presets (balanced, stealth, aggressive, custom) - Operator spawning and management - Target addition and status monitoring - Mission creation and execution - AI chat with the LLM backbone - Report generation - Full settings management ### 10.2 HTTP REST API The API server (`src/server.ts`) exposes the mission-control + tool surface via Express.js: ``` POST /api/mission/start # Start an autonomous mission (targets + operators) GET /api/mission/report # Export the engagement report (markdown) POST /api/whitebox/analyze # White-box repo analysis (ingest -> decompose) POST /api/operators/spawn # Spawn an operator into the active mission POST /api/general/plan # Op Admiral -- draft an operation plan GET /api/codex/status # Codex CLI availability (read-only) POST /api/codex/probe # Codex exec readiness self-test GET /api/findings # Evidence-gated findings ledger POST /api/tools/execute # Direct tool execution POST /api/tools/recon # Network reconnaissance POST /api/llm/chat # LLM chat GET /api/health # Health check ``` The server also includes SSE endpoints for real-time event streaming to the web UI, plus mission dispatch endpoints for backend operator execution. ### 10.3 Model Context Protocol (MCP) Server The MCP server (`src/mcp-server.ts`, 83K lines) implements the [Model Context Protocol](https://modelcontextprotocol.io/) specification, enabling AI assistants (Claude, etc.) to use T3MP3ST tools directly: ```json { "mcpServers": { "t3mp3st-pliny": { "command": "node", "args": ["/path/to/t3mp3st/dist/mcp-server.js"], "env": { "OPENROUTER_API_KEY": "sk-or-..." } } } } ``` Exposed MCP tools: `pliny_leviathan`, `pliny_sphinx`, `pliny_gorgon`, `pliny_cerberus`, `pliny_typhon`, `pliny_griffin`, `pliny_simurgh`, `pliny_hydra`, `pliny_arachne`, `security_recon`. --- ## 11. Web UI & War Room ### 11.1 Architecture The web UI (`docs/index.html`, ~14K lines) is a single-page application with a dark cyberpunk theme. It communicates with the API server via REST and SSE for real-time updates. ### 11.2 Pages | Page | Function | |------|----------| | **War Room** | Unified dashboard with kill chain visualization, operator status, live intel feed, OPSEC monitor | | **Operators** | Agent management - spawn, monitor, view dossiers | | **Missions** | Mission creation, phase tracking, objective management | | **Evidence** | Findings vault with severity filtering | | **Arsenal** | Tool registry with code viewer, stats, and demo capabilities | | **Terminal** | Direct command execution | | **Benchmarks** | Performance testing against Cybench and NYU CTF Bench | | **Config Library** | OPSEC presets and templates | | **CTF Range** | Practice targets for training | | **Settings** | API key management, model selection, preferences | ### 11.3 Real-Time Features - **SSE event stream** - Findings, operator status changes, phase transitions, and periodic status updates stream to the UI - **Operator hover tooltips** - Full dossier on mouseenter - **Console event tooltips** - Full event text on hover - **Keyboard shortcuts** - Rapid navigation and actions - **Sound cues** - Audio feedback for critical events --- ## 12. Benchmark System ### 12.1 Built-in Categories T3MP3ST includes a comprehensive benchmarking system across 9 categories: | Category | Description | |----------|-------------| | **web** | Web application security (XSS, SQLi, SSRF) | | **binary** | Binary exploitation | | **crypto** | Cryptographic challenges | | **reverse** | Reverse engineering | | **forensics** | Digital forensics | | **autonomous_ops** | Autonomous operation scenarios | | **owasp** | OWASP Top 10 coverage | | **mitre** | MITRE ATT&CK technique coverage | | **cwe** | CWE Top 25 vulnerability coverage | ### 12.2 External Benchmark Integration The system integrates with two major CTF benchmark datasets: **Cybench** (40 tasks): - Sourced from `github.com/andyzorigin/cybench` - Tasks include metadata, challenge files, and expected flags - Fetched via `raw.githubusercontent.com` to avoid API rate limits **NYU CTF Bench** (200 tasks): - Sourced from NYU's CTF challenge repository - Tasks include `challenge.json` with flag fields - Fetched via a single GitHub git tree API call for efficiency ### 12.3 Scoring - **Flag-based**: Exact flag match = instant 100% - **Keyword + LLM judge**: `evaluateResponseRigorous()` combines keyword matching with an LLM judge for partial credit scoring - Results are aggregated per category and displayed in the web UI --- ## 13. Security & Ethical Considerations ### 13.1 Authorized Use Only T3MP3ST is designed exclusively for **authorized security testing**: - Penetration testing engagements with written authorization - Red team exercises with signed Rules of Engagement - Security research in controlled environments - CTF competitions and educational contexts ### 13.2 Safety Mechanisms - **Rules of Engagement enforcement** - Scope limits, forbidden techniques - **Detection thresholds** - Automatic pause when limits are exceeded - **Operator burn mechanism** - Compromised agents are permanently disabled - **Whitelisted CLI commands** - External tool execution is restricted to known security tools - **No real exploitation by default** - Pliny tools provide analysis and planning; actual exploitation requires explicit configuration ### 13.3 API Key Security - API keys are stored in persistent config, never in source code - Environment variable override supported - `.env` file loading via `dotenv` - `.gitignore` excludes sensitive files ### 13.4 Compliance Considerations Usage should comply with: - Computer Fraud and Abuse Act (CFAA) - General Data Protection Regulation (GDPR) - PCI DSS, HIPAA as applicable - Local cybersecurity laws and regulations --- ## 14. Comparison with Existing Tools | Feature | T3MP3ST | Metasploit | Cobalt Strike | AutoPT Tools | |---------|---------|-----------|---------------|-------------| | Multi-agent architecture | Yes | No | Partial (teamserver) | Varies | | LLM-powered reasoning | Yes (50+ models) | No | No | Some | | Kill chain alignment | Full 7-phase | Exploit-focused | Post-exploitation | Varies | | MCP integration | Yes | No | No | No | | OPSEC management | Built-in | Limited | Strong | Minimal | | Web UI | Yes | Armitage | Yes | Varies | | Open source | MIT | BSD (Framework) | Commercial | Varies | | Language | TypeScript | Ruby | Java | Python/Go | | Payload databases | 200+ | 2000+ | Focused | Limited | | Evidence management | Full pipeline | Database | Logs | Minimal | T3MP3ST distinguishes itself through its **LLM-native multi-agent architecture** and **MCP integration**, enabling a new class of AI-assisted security testing workflows that don't exist in traditional tooling. --- ## 15. Future Directions ### 15.1 Near-Term (P0) - Full REST API endpoint coverage for operators, targets, and missions - PDF report generation - Scanner import (Nmap XML, Nuclei JSON) - Real exploit execution in Pliny tools ### 15.2 Mid-Term (P1-P2) - **Cloud security module** - AWS/GCP/Azure enumeration and testing - **Function calling** in LLM backbone for native tool use - **WebSocket** real-time updates (replacing SSE) - **Cognition patterns** - Chain-of-Thought, ReAct, Tree-of-Thought - **Swarm intelligence** - Pheromone-based multi-agent coordination - **Plugin system** for community-contributed tools ### 15.3 Long-Term (P3) - Distributed operation across multiple nodes - SaaS deployment model - Marketplace for tools and operator profiles - AI-powered remediation guidance - Continuous security monitoring mode --- ## 16. Conclusion T3MP3ST represents a new paradigm in security testing tooling: **LLM-native, multi-agent, kill-chain-aligned penetration testing**. By decomposing the security testing workflow into specialized operators that communicate, share intelligence, and advance autonomously through structured phases, T3MP3ST enables both deeper analysis and broader coverage than traditional single-tool approaches. The platform's triple integration surface (CLI, REST API, MCP) makes it embeddable in any workflow, from human-driven engagements to fully autonomous AI agent pipelines. Its comprehensive payload databases, real tooling implementations, and OPSEC-first design philosophy provide a solid foundation for authorized security testing at scale. T3MP3ST is open source under the MIT license, welcoming contributions from the security research community. --- ## Appendix A: Codebase Metrics | Metric | Value | |--------|-------| | Backend TypeScript | ~12,000 lines | | Web UI (HTML/JS/CSS) | ~14,000 lines | | MCP Server | ~83,000 lines | | API Server | ~52,000 lines | | Total source files | 21 TypeScript modules | | Dependencies | 12 production, 8 development | | Built-in tools | 15 | | External tool wrappers | 15+ | | Payload database entries | 200+ | | MITRE ATT&CK techniques | 40+ | | CVE entries | 20+ | | Privilege escalation techniques | 50+ | | Secret detection patterns | 15+ | | Supported LLM models | 50+ | ## Appendix B: Module Map ``` src/ index.ts # TempestCommand, factory functions, exports cli.ts # Interactive CLI (commander + inquirer) server.ts # Express API server + Pliny endpoints mcp-server.ts # MCP server (stdio transport) setup.ts # Configuration wizard types/index.ts # Core TypeScript type definitions operators/index.ts # OperatorAgent, OperatorCell, archetype profiles mission/index.ts # MissionControl, TaskQueue, RoE target/index.ts # TargetEnvironment, target factories evidence/index.ts # EvidenceVault, finding/credential management arsenal/index.ts # Arsenal, built-in tools, CLI wrappers llm/index.ts # LLMBackbone, provider adapters config/index.ts # Configuration, API key management opsec/index.ts # OpsecController, detection management comms/index.ts # CommsChannel, inter-agent messaging analysis/index.ts # AnalysisEngine, reporting agent/index.ts # AgentLoop (ReAct execution pattern) benchmark/index.ts # Benchmark system, scoring prompts/index.ts # System prompts, templates stubs/index.ts # Advanced module stubs (KnowledgeBase, EvasionEngine, etc.) docs/ index.html # Single-page web UI ctf/ challenges/ # CTF practice challenges ``` --- *T3MP3ST is developed for authorized security testing only. Never use this framework for unauthorized access to systems.*