Multi-identity · Verification-first · By CloudDrove

Find the access-control bugs
other scanners can't.

ReconX is a web penetration testing tool that scans your app as several logged-in users at once, verifies every finding against the live target, and hands your team proof, not noise.

Works withDockerGitHub ActionsOpenAPIGraphQLnucleisqlmapsemgrepStrixPlaywright
Pentest · demo.acme-corp.exampledeep profile · 8 hosts · 2 identities20 findings
SeverityFindingLocationStatus
CriticalBroken object-level authorizationGET /api/v1/invoices/{id}✓ Exploit-proven
HighReflected XSSGET /search?q=✓ Exploit-proven
MediumDangling MX recordmail.demo.acme✓ Verified
MediumMissing security headers/✓ Verified
LowWeak DMARC policyTXT _dmarc✓ Verified
Illustrative. Target and findings are fictional.
28
scanner modules
61/61
detection eval
0
criticals on clean apps
10/10
OWASP Top 10

The bug most scanners never reach

Broken access control is the #1 risk in the OWASP Top 10, and it only shows up when one user can touch another user's data. One session can't see it. ReconX replays the same request as a second identity and catches the leak.

How multi-identity testing works →
access-control
// identity A — owner
GET /api/v1/invoices/1042   200
// identity B — different tenant
GET /api/v1/invoices/1042   200  ← leaked

[CRITICAL] Broken object-level authorization
  cross-identity read confirmed

Tests as several identities at once

Capture real logins, including SSO and MFA, then replay every request across identities. ReconX flags cross-identity reads and writes, function-level escalation (BFLA), and endpoints that answer with no auth at all, the access-control flaws single-session scanners cannot reach.

Verifies and proves before it reports

A per-host baseline and proof-required checks suppress false positives, and a safe exploitation pass confirms findings with benign proofs. An optional adaptive agent loop plans targeted retests. Confirmed findings come first; AI assists triage but never overrides a confirmed result.

Hands your team something to act on

Every finding ships with a replayable curl proof, full evidence, remediation, and OWASP mapping, as PDF, Markdown, DOCX, or JSON. A report your reviewers sign off and engineering fixes.

Twenty-eight scanners, one concurrent pass

From injection to multi-tenant access control and DNS takeover. Extend with Python plugins or no-code YAML checks.

Benchmarked, not claimed

Two benchmarks guard every build. A hermetic corpus of 61 scenarios runs the real scanners against known ground truth. A Docker harness scans live vulnerable apps and fails the build if criticals on a clean app exceed a tight ceiling, the guard that keeps false positives out.

61/61
hermetic scenarios pass
3/3
live targets within FP ceiling
0
criticals on clean apps
28/28
scanners benchmarked
Live targetFindingsCriticalsFP ceilingResult
OWASP Juice Shop902pass
VAmPI (vulnerable API)503pass
DVWA1401pass

Reproduce: python benchmark/run_benchmark.py. Numbers captured 2026-10-05.

How a scan runs

  1. 01

    Recon

    Subdomain enumeration across seven passive sources plus brute force; DNS, ports, WHOIS, tech fingerprint.

  2. 02

    Crawl

    Fast httpx or headless-Chromium crawl, plus OpenAPI, GraphQL, and JS-bundle endpoint discovery.

  3. 03

    Scan

    All 28 scanners run concurrently as every captured identity, with optional nuclei, sqlmap, and semgrep.

  4. 04

    Verify

    Per-host baseline learning and proof-required checks suppress false positives before the report.

  5. 05

    Report

    Confirmed findings first, each with curl proof, remediation, and OWASP mapping; noise collapsed.

Scan your first target in two commands.

docker pull ghcr.io/clouddrove/reconx
reconx scan demo.acme-corp.example --profile deep -y