EasyHunt-AI
Allows the server to query a Neo4j graph database for infrastructure relationships, enabling cloud attack path analysis and reachability assessment between internet-facing entry points and valuable resources.
Click on "Install 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., "@EasyHunt-AIrun a nuclei scan on our staging server"
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.
An agentic VAPT orchestrator where the control plane — not the model — is the security boundary.
Authorized testing only. Owned assets, an in-scope bug bounty program, or org
assets with documented written approval. The scope.yaml you write is the
authorization boundary, and the server refuses every request that falls outside
it. This tool will not help you test something you have no permission to test.
The one-paragraph version
Most AI security tools give a model a shell and a system prompt telling it to behave. Cordon gives the model no shell at all. Every capability is an MCP tool that passes through a fixed sequence — scope, sanitize, budget, rate-limit, approval, sandbox, parse, audit — enforced in code, server-side, with no path that skips a step. The model supplies strategy. The control plane decides what is permitted. A jailbroken prompt cannot reach the network.
Related MCP server: aegis
The whole system in one picture
Every call descends from L5 to L2 and crosses L3. There is no code path that routes around it — not a wrapper, not a chained validator, not the unattended pipeline.
One tool call, end to end
The engagement pipeline — each phase feeds the next
Why this is not another scanner wrapper
Six design decisions, each of which came from something breaking in production.
1. Absence is not a clean result
This is the whole thing. A killed scan, a tool that could not write its config, and a genuinely secure target all produce zero findings — and zero findings reads as good news.
flowchart LR
A[nuclei exits 0] --> B{why?}
B --> C[tested 13,391 templates<br/>found nothing]
B --> D[could not write its config<br/>tested NOTHING]
C --> E["findings: 0 ✓"]
D --> E
style D fill:#7f1d1d,color:#fff
style E fill:#78350f,color:#fffBoth branches used to print the same result. Every wrapper now distinguishes tested and clean from not tested, and says which in words:
"zero findings here means UNTESTED, not clean."
Twenty-five instances of this defect have been found and fixed in this codebase
— including nuclei exiting 0 while unable to create its config directory,
and a command-injection tool that discarded its own target flag for the
project's entire life and reported "no injectable parameter" every time.
2. The scope file is an authorization record, not configuration
scope.yaml is transcribed by hand from the program's published policy. The
installer refuses to create one for you — it used to copy a template that
declared authorization: bug-bounty and a fetched_at date nobody had earned,
and three separate green ticks then confirmed it.
An absent scope is a correct state. A fabricated one is not.
3. Rate limits come from the program, never from a literal
The limiter charges per request, not per tool call — so a scanner with its
own thread pool cannot out-run the published ceiling while the audit log shows
one compliant call. Every rate flag is derived from scope.rules, then clamped
to what the binary actually accepts.
4. Tools are resolved by identity, not by PATH order
pip install nuclei gets you a 2018 Kaggle package. slither on PyPI is a
children's Scratch-for-Python toy. Kali's medusa is a password brute-forcer;
ours is a fuzzer. Cordon executes each candidate and keeps the one that
identifies itself — and never "fixes" a collision by uninstalling your software.
5. Health checks run where the tool runs
cordon doctor executes every tool inside the container it will actually
run in, under the real read-only root and dropped capabilities. Checking the
host copy answers a question about a different program — that is how tools
shipped broken for days behind a green tick.
6. No PoC, no finding
Finding.confirm() requires reproduction steps and an observed result. AI
triage may rank, downgrade and drop; a taskflow that declares a confirm
verdict is rejected at load time. Scanner output is a candidate, permanently,
until a human or a validator proves it.
Quick start
git clone https://github.com/iamsecure1920/Cordon-AI.git && cd Cordon-AI
./bootstrap.shThat is the whole install. bootstrap.sh is idempotent and is also the repair
path: system packages, Go and Python runtimes, Docker enabled at boot, the
Cordon package, the tool suite, the cordon:latest image, the per-tool
images, then cordon doctor.
Budget 30–45 minutes for a first run. Needs ~15 GB free and Python ≥ 3.11.
Flag | Effect |
| skip the image build (≈46 tools then run on the host) |
| skip images entirely — no container isolation |
| package only |
cordon:latest is built from this repo's Dockerfile and is not on any
registry, so docker pull cannot find it. bootstrap.sh builds it, or:
docker build -t cordon:latest .
Then, before anything touches a network
cp scope.example.yaml scope.yaml
$EDITOR scope.yaml # transcribe the program's published policy
cordon scope validate
cordon doctor # expect 0 brokenIn Claude Code: /cordon.
Running an engagement
# Unattended, all phases, gated
./scripts/hunt.sh target.example.com
# Several targets
./scripts/hunt.sh a.example.com b.example.com
# Pick phases, or resume
./scripts/hunt.sh target.example.com --only probe,scan
./scripts/hunt.sh target.example.com --from scan
# Exploitation — refused unless scope.yaml permits it. Chains the validators
# over the injection points the earlier phases discovered.
./scripts/hunt.sh target.example.com --exploitEach phase appends to status.jsonl so a human or a model can watch without
touching the run:
{"phase":"probe","state":"ok","tool":"http_probe","seconds":4.1,"produced":248,"findings":0}
{"phase":"cors","state":"failed","tool":"cors_audit","message":"killed at the timeout — UNTESTED, not clean"}Every tool it drives
94 MCP tools over 85 catalogued binaries.
· passive · ! aggressive · !! exploit — the mode decides whether a human is consulted.
Category | Binaries |
Recon |
|
HTTP / TLS |
|
Content & params |
|
Scanning |
|
Exploitation |
|
Takeover |
|
Secrets |
|
Cloud |
|
Smart contracts |
|
LLM security |
|
Run cordon doctor for the live picture, and see
USERMANUAL.md for every MCP tool
grouped by phase.
Documentation
Read this | For |
The invariants. Loaded automatically by the Claude CLI; read it first. | |
The complete reference — install, configuration, API keys, architecture, how the modules interlink, running an engagement, troubleshooting. | |
Every binary: flags, when to reach for it, what it costs. | |
Picking the project up cold: what exists, what is measured, what is left to build. | |
Architecture, bootstrap, payload store, per-class techniques. |
Development
.venv/bin/python -m pytest tests/ -q # 2,231 tests
.venv/bin/ruff check cordon/ tests/
cordon doctor # executed, not just found on PATHNearly every test in the suite exists because something broke against a live target. That is the working loop: run it against something real, distrust every clean result, verify hits by hand, fix the class rather than the instance, encode the bug in a test, then re-measure.
License
See LICENSE. Third-party tools retain their own licenses — several are
AGPL-3.0, and nmap ships under a custom non-OSI license. cordon doctor
prints the license of every tool it finds.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA Kali Linux-based MCP server that exposes over 45 penetration testing tools for AI-assisted security auditing and vulnerability scanning. It features strict scope enforcement, structured output parsing, and persistent finding storage to automate the offensive security workflow.
- FlicenseNot gradedqualityBmaintenanceMCP server for auditing AI agent permissions and access by scanning for the trifecta of credentials, injection, and reach without heavy infrastructure.
- AlicenseNot gradedqualityAmaintenanceThis MCP server enables security auditing for MCP configurations and AI agents, including prompt injection testing, data flow tracing, and security policy generation.474MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for AI agent compliance that screens actions before execution and records decisions in an immutable, SIEM-ready audit trail.112Unlicense - libtelnet variant
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamsecure1920/Cordon-AI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server