exploitx@lab:~$ ./init --load-toolchain
[ ok ] 86 tools   [ ok ] mcp server   [ ok ] solvers
booting ExploitX
👻 autonomous · MCP-native · 86+ tools

ExploitX

An autonomous, MCP-powered CTF-solving platform.

Turn a bare Linux box into a complete offensive-security lab — then let an AI agent reason over 86+ tools through the Model Context Protocol: recon, decode, decompile, exploit, and capture the flag.

View on GitHub → Quick Start
exploitx@lab:~
$ python ctfkit/orchestrator.py --name "Baby RSA" --text "n=.. e=3 c=.."
[orchestrator] category = crypto
FLAG: NullOrigin{sm4ll_3_cub3_r00t}
HOW: crypto/rsa-small-e

$ python ctfkit/orchestrator.py --name "Hidden" --file chall.png
[orchestrator] category = forensics
FLAG: NullOrigin{lsb_st3g0_r3c0v3r3d}
HOW: forensics/zsteg
86+security tools
6category solvers
13MCP tools
1command setup

Why ExploitX

🤖

Agentic, not just scripts

An LLM plans multi-step attacks and calls real tools — recon, decompile, exploit — instead of running fixed playbooks.

🔌

MCP-native

Plug the server into Claude, Kiro, Cursor, or any MCP client. One standardized interface to the whole toolchain.

📦

Batteries included

One install.sh provisions 86+ tools, a Python exploitation stack, wordlists, and payload libraries — reproducibly.

🎯

Category auto-solvers

Crypto, rev, pwn, web, forensics — each with a dedicated solver and a strict flag detector that avoids false positives.

⚡

24/7 pipeline (optional)

A Telegram upload → auto-solve → results daemon runs hands-off, around the clock.

🔐

Safe by design

The shell-capable MCP server binds to localhost only and is reached over an SSH tunnel — never the public internet.

Every CTF category, covered

🌐 Web

SSTI · SQLi · LFI/RFI · SSRF · XXE · IDOR · JWT · CORS · deserialization

sqlmap · ffuf · feroxbuster · nuclei · dalfox · XSStrike · jwt_tool · arjun · commix

🔐 Crypto

RSA · XOR · classical · AES modes · ECC · hashes · lattice

RsaCtfTool · hashcat · john · pycryptodome · sympy · gmpy2 · z3

🧬 Reverse

decompile · symbolic exec · unpack · dynamic trace

ghidra · radare2 · gdb+pwndbg · angr · upx · ltrace · qemu

💥 Pwn

BOF · ret2libc · ROP · format-string · heap

pwntools · ROPgadget · ropper · one_gadget · checksec · patchelf · seccomp-tools

🔍 Forensics

memory · disk · pcap · carving

volatility3 · tshark · binwalk · foremost · testdisk · bulk_extractor

🖼️ Stego

image · audio · text · QR

zsteg · steghide · stegseek · outguess · stegoveritas · sox · zbarimg · stegsnow

📱 Mobile / APK

decompile · smali · native .so

jadx · apktool · dex2jar · aapt · ghidra

🕵️ OSINT

subdomains · usernames · hosts

theHarvester · sherlock · amass · subfinder · shodan

86+ tools, one script

Provisioned by setup/install.sh on a fresh Ubuntu 22.04 (ARM64 or x86_64) box.

Quick start

1

Clone & install

git clone https://github.com/Pranavkotame/ExploitX.git
cd ExploitX
sudo bash setup/install.sh      # tools + python stack + wordlists
bash setup/install_mcp.sh       # MCP server (systemd, localhost)
2

Connect an MCP client

# on your laptop
ssh -N -L 8080:127.0.0.1:8080 user@your-server

# mcp.json
{ "mcpServers": { "exploitx": {
    "url": "http://127.0.0.1:8080/mcp",
    "headers": { "Authorization": "Bearer <TOKEN>" } } } }
3

Solve a challenge

python ctfkit/orchestrator.py --name "Chal" --text  "n=.. e=.. c=.."
python ctfkit/orchestrator.py --name "Chal" --file  ./binary
python ctfkit/orchestrator.py --name "Chal" --url   https://target/

Architecture

Three clean layers — an AI agent, a thin MCP interface, and the lab underneath.

LAYER 3

🤖 AI Agent

Claude · Kiro · Cursor · any MCP client — plans attacks, reads output, decides the next move.

Model Context Protocol
LAYER 2

🔌 ExploitX MCP Server

13 tools · bearer auth · localhost-only

run_commandhttp_requestcrypto_tool auto_decodersa_solverecon payloadssubmit_flag
LAYER 1
ctfkitorchestrator + 6 solvers
86+ CLI toolsnmap · ghidra · angr · pwntools
Python stackexploit venv
Wordlistsrockyou · SecLists
PayloadsPayloadsAllTheThings