Skip to main content
Glama
README.md
# WebSex

Container-native offensive security MCP toolkit with evidence-backed
vulnerability playbooks.

## What it is

- **179 MCP tools**: 107 executable-backed scanners (nmap, nuclei, sqlmap,
  dalfox, ffuf, metasploit, ghidra, ...), 52 native/workspace/browser/HTTP
  workbench tools, and **20 playbook probes** — deterministic, evidence-first
  vulnerability checks.
- **Playbooks** (`websex_*_probe`): XSS reflection+context classification,
  boolean/time SQLi oracles with controls, SSTI math canaries, command
  injection echo/timing canaries, path traversal file-read, 401/403/405
  bypass matrix, SSRF canary reads, open redirect confusion matrix,
  IDOR/BFLA/mass-assignment authorization diffs, CORS/CSRF posture, CRLF
  header injection, Host header poisoning, JWT algorithm/secret abuse against
  a live oracle, race bursts, and business-logic value abuse.
- **Scope guard**: every probe validates the URL against the engagement's
  declared targets before a single request leaves the container.
- **Engagements**: persistent namespaces with evidence artifacts; every probe
  run is persisted as JSON under `evidence/websex/`.
- **Hardened executor**: argv-token execution (never a shell), wall-clock
  deadline (default 300s), bounded output capture (default 2 MiB) with
  truncation markers, process-group kill on timeout/cancel.

## Findings policy

Probe output contains `review_items` classified as `high-confidence`
(deterministic proof in the captured bytes: canary reflected raw, forged
token accepted, oracle answered) or `review` (evidence-backed lead for the
caller to confirm). Full request/response steps accompany every result.

## MCP config

```json
{
  "mcp": {
    "websex": {
      "type": "local",
      "enabled": true,
      "command": ["docker", "exec", "-i", "websex", "websex-mcp"]
    }
  }
}
```

## Container

```bash
docker build -t websex:1.0.0 .
docker run -d --name websex -v websex-workspace:/workspace websex:1.0.0
docker exec websex websex-mcp --self-test
```

## Development

```bash
pip install -e .
websex-mcp --self-test

# local verification against the deliberately vulnerable app
python3 tests/vulnapp.py &
python3 tests/live_playbooks.py
```

## License

Apache-2.0. See LICENSE.

TDQS

C2.7/5.0

Scored across 179 tools

Disambiguation2/5

Despite each tool wrapping a distinct external executable, there is heavy functional overlap: gobuster/ffuf/feroxbuster/dirb/dirsearch all perform directory/content brute-forcing, and multiple scanners (nuclei, nikto, wfuzz, dalfox, xsser) address the same web-audit space. The native probe tools are better differentiated, but an agent must know external tooling nuances to pick correctly.

Naming Consistency5/5

Every tool uses the websex_ prefix with snake_case, yielding a highly predictable scheme (websex_nmap, websex_browser_navigate, websex_engagement_create). The mix of bare tool names and verb_noun compounds is still internally consistent and readable.

Tool Count2/5

179 tools is far beyond any reasonable per-server surface and well past the 50-tool extreme threshold, creating a large selection burden even though each maps to a real tool. The catalog/execute compact fallback mitigates but does not resolve the overload.

Completeness4/5

Coverage is remarkably broad across recon, enumeration, web, network, wireless, credentials, exploitation, forensics, binary, and cloud, plus engagement lifecycle and native evidence-first probes. Minor gaps remain, such as no unified reporting/export beyond finding_report, but core offensive workflows are well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues