detonate-mcp
Detonates untrusted binaries inside hardened, server-side-enforced Docker containers using a fixed containment profile (no network, read-only root, cap-drop ALL, non-root user, tmpfs as the only exec-allowed mount), with timeout enforcement and evidence capture. It also exposes the exact container flag list/threat model and past detonation evidence, so containment cannot be widened by tool arguments.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@detonate-mcpdetonate /samples/suspicious.elf in the no-network sandbox"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
detonate-mcp
MCP server: run unknown binaries in a maximum-hardening container. The safety profile is enforced server-side and cannot be parameterized away by tool arguments.
What it does
Tool | Question answered | Key constraint |
| Does this binary do anything visible in a no-network sandbox? | fixed containment: no network, read-only root, cap-drop ALL, non-root |
| What EXACTLY is the containment boundary? | returns the flag list + threat-model, including what it does NOT defend against |
| What past detonations exist? | timestamps, evidence paths |
Related MCP server: capsule-agents
Why MCP (and not just bash)
The estate's pentest toolkit runs nmap/sqlmap/etc via shell — those are one-shot CLIs. This server is different because it needs to hold STATE: the allowlisted samples root, the evidence directory chain, the containment profile. An MCP server with typed tools makes that state explicit and testable.
Threat model honesty
The container defends against: network callback, filesystem persistence, privilege escalation, resource exhaustion.
It does NOT defend against: kernel exploits (docker shares the host kernel). For kernel-exploit-grade samples, detonate in a disposable VM.
The tmpfs is the ONE exec-allowed mount — the sample must run, and that is the single deliberate exception to the read-only root.
Architecture
detonate-mcp/
├── src/detonate_mcp/
│ ├── __init__.py
│ ├── core.py pure: profile constants, RunSpec, argv builder
│ ├── runner.py DockerRunner: subprocess.run, timeout enforcement
│ ├── server.py FastMCP tools (thin — delegate to core+runner)
│ ├── jsonc.py JSONC comment stripping for config parsing
│ ├── config.py opencode.jsonc declaration probe
│ ├── backend.py backend resolution probe
│ ├── credential.py credential entitlement probe
│ ├── handshake.py MCP initialize handshake probe
│ ├── testing.py FakeRunner/CtxBuilder test doubles
│ └── util.py shared helpers (truncate, etc)
├── tests/
└── pyproject.tomlUsage
uv run pytest # 18 tests
uv run python -m detonate_mcp.server # starts the stdio MCP serverThis server cannot be deployed
Maintenance
Related MCP Connectors
Signed sandbox verdicts on any artifact, plus an agent marketplace. No key, no signup, no payment.
Accountless pay-per-use sandbox execution, storage, locks, attestation and handoff; pay via x402.
Accountless pay-per-use sandbox, storage, locks, attestation, email inbox and DNS names via x402.
Scoped agent execution. Server-side credentials, policy, budgets and verifiable receipts.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables running user-supplied scripts inside resource-limited, network-isolated Docker containers built from human-reviewed Dockerfiles, with jobs driven by an outbound-only worker.3,354 npmMIT
- AlicenseAqualityAmaintenanceEnables running isolated main and sub agent tasks in networkless Docker capsules with explicit input grants, verified artifact delivery, and independent reviewer oversight via MCP tools.3MIT
- FlicenseNot gradedqualityAmaintenanceEnables security researchers to run network scanning, binary symbol and disassembly analysis, string extraction, and live or pcap traffic inspection through an MCP client, with optional Docker-based sandboxed command execution.-
- AlicenseAqualityAmaintenanceEnables AI agents to run read-only static reverse-engineering tasks — binary triage, symbol and import inventory, per-function decompilation, and Android native-lib analysis — with untrusted samples confined to a no-network bubblewrap chamber that never executes the target.7MIT