How elder-plinius/t3mp3st works
Purpose and entry points
T3MP3ST is a TypeScript/Node.js, self-hosted offensive-security framework for authorized engagements. It orchestrates agent-driven reconnaissance, exploitation workflows, evidence handling, reporting, and reproducible benchmark evaluation. Primary entry points are the package CLI (index.ts, src/cli.ts), local HTTP/War Room server (src/server.ts), and MCP server (src/mcp-server.ts). Docker deployment is defined by Dockerfile and docker-compose.yml.
Mission control and orchestration
Mission execution centers on an orchestrator that turns target intent into agent tasks, shared context, and results. The control boundary is between mission planning/coordination and individual tool or model calls:
• src/mission/index.ts
• src/orchestration/orchestrator.ts
• src/orchestration/context-pack.ts
• src/orchestration/types.ts
The orchestration layer builds context packs, selects prompts/operators, dispatches work, and collects outputs. Mission adjudication is separated in src/mission/adjudicate.ts, allowing findings or task outcomes to be evaluated independently of generation.
LLM and local-agent boundary
The framework supports cloud providers and connected local coding agents; provider selection and model metadata are centralized rather than embedded in mission logic:
• src/llm/index.ts
• src/agent/local-agents.ts
• src/config/provider-models.ts
This is the principal external-service boundary: OpenRouter, Venice, Anthropic, OpenAI-compatible/local endpoints, and local agent CLIs. Credentials/environment configuration enter through src/config/index.ts and .env.example. Local-agent dispatch is a keyless alternative to API-backed models.
Targeting, reconnaissance, and source analysis
Target modelling and recon are distinct from orchestration, enabling black-box and white-box workflows:
• src/target/index.ts
• src/recon/attack-graph.ts
• src/recon/code-ingest.ts
• src/recon/whitebox.ts
For source targets, ingestion parses and extracts code structure, with TypeScript grammars/parsing isolated in src/recon/ts-grammars.ts and src/recon/ts-parse.ts. Recon can produce an attack graph and parameter splits before downstream tool-backed actions. Network proxy behavior is isolated at src/net/proxy.ts.
Arsenal, containment, and validation
The Arsenal is the controlled adapter layer for security tooling. Its catalog, adapters, parsers, and approval controls form a deliberate boundary between agent intent and command/tool execution:
• src/arsenal/catalog.ts
• src/arsenal/adapter-tools.ts
• src/arsenal/parsers.ts
• src/arsenal/approval.ts
Approval and scope enforcement constrain potentially dangerous operations; evidence validation is separately represented by src/evidence/gate.ts and src/validation/index.ts. This separation supports tool-proven findings rather than model-only assertions.
Evidence, reporting, and integrations
Evidence collection and report workspace management preserve artifacts across mission stages:
• src/evidence/index.ts
• src/arsenal/report-workspace.ts
• src/integrations/bounty.ts
The HTTP server exposes local API endpoints, while src/mcp-server.ts exposes the security_recon capability to MCP clients. The application is designed for localhost-oriented deployment; Docker Compose supplies the runtime boundary, and optional external security binaries are containerized via tools/Dockerfile.
Benchmark and reproducibility pipeline
Committed corpora, oracle data, and run receipts make benchmark claims independently recomputable rather than runtime application state:
• bench/cve-zero/samples/
• bench/cybench/results/
• bench/xbow/results/
• scripts/verify-claims.mjs
Benchmark runners under scripts/ execute domain-specific evaluations; artifacts are stored as JSON under bench/. This is operationally separate from live missions, but architecturally important because it verifies tool counts, benchmark outcomes, and published claims from repository-contained evidence.
Main entry points: mission/index.ts Mission service · orchestrator.ts Orchestrator · adapter-tools.ts Arsenal adapters · evidence/index.ts Evidence store
Components 19
Interfaces
- CLI
src/cli.ts - War Room HTTP server
src/server.ts - MCP server · Exposes security_recon to MCP clients.
src/mcp-server.ts
Mission Control
- Mission service
src/mission/index.ts - Orchestrator · Builds context, chooses operators, dispatches work, and collects outputs.
src/orchestration/orchestrator.ts - Context packs
src/orchestration/context-pack.ts - Mission adjudication · Independently evaluates findings and task outcomes.
src/mission/adjudicate.ts - LLM & local-agent gateway · Centralizes cloud models, compatible endpoints, and local coding agents.
src/llm/index.ts - Models & local agents · Cloud providers, local endpoints, and agent CLIs.
Targeting & Execution
- Target model
src/target/index.ts - Recon & source analysis · Builds attack graphs and analyzes white-box source targets.
src/recon/attack-graph.ts - Arsenal adapters · Catalogs tools, parses output, and mediates agent-requested actions.
src/arsenal/adapter-tools.ts - Approval & scope control · Constrains dangerous operations before tool execution.
src/arsenal/approval.ts - Security tools · Optional tooling can run in a dedicated container.
tools/Dockerfile
Evidence & Assurance
- Evidence store · Preserves collected artifacts and report workspace material.
src/evidence/index.ts - Evidence validation · Separates tool-proven findings from model-only assertions.
src/validation/index.ts - Bounty integration
src/integrations/bounty.ts
Reproducibility
- Benchmark corpora & results · Samples, oracle data, and JSON run receipts.
- Claims verifier · Recomputes benchmark claims from repository evidence.
scripts/verify-claims.mjs
Connections 19
- CLI → Mission service: starts missions
- War Room HTTP server → Mission service: local API
- MCP server → Mission service: security_recon requests
- Mission service → Orchestrator: plans and coordinates
- Orchestrator → Context packs: builds
- Orchestrator → LLM & local-agent gateway: dispatches agents
- LLM & local-agent gateway → Models & local agents: selects provider or CLI
- Mission service → Target model: defines target intent
- Target model → Recon & source analysis: drives analysis
- Recon & source analysis → Context packs: attack surface
- Orchestrator → Arsenal adapters: requests actions
- Approval & scope control → Arsenal adapters: authorizes scoped execution
- Arsenal adapters → Security tools: executes via adapters
- Arsenal adapters → Evidence store: tool artifacts
- Evidence store → Evidence validation: findings and artifacts
- Evidence validation → Mission adjudication: validated results
- Mission adjudication → Mission service: mission outcomes
- Evidence store → Bounty integration: reportable artifacts
- Benchmark corpora & results → Claims verifier: inputs and receipts