Train on real attack chains.
Measure what actually breaks.

Deliberately vulnerable applications for manual pentesting and benchmarking autonomous security tools. Each ring adds difficulty — from API logic to blind OOB chains.

⚠ Labs include real RCE and SSRF. Use isolated environments only. Never point scanners at systems you do not own.

23planted vulns · ProofRange
10planted vulns · AgentRange
Oracletruth.json + coverage.js

Rings

ProofRange

Ring 1 · Live · proofrange.vulngym.com

SaaS-style financial ops app: stateful IDOR, blind SSRF, prototype pollution → RCE, JWT attacks, cache poisoning, and business-logic races. Built to stress scanners that only do unauthenticated crawl.

Open lab →

AgentRange

Ring 2 · Live · agentrange.vulngym.com

10 vulns on agent-style surfaces: GraphQL introspection, alias IDOR, mutation chains, MCP http_fetch SSRF, scope HPP, and double-refund logic. Remote oracle: 10/10 verified.

Open lab →   PENTEST.md →

MeshRange

Ring 3 · Live · meshrange.vulngym.com

Distributed-app mesh: gRPC metadata trust, WebSocket subscribe IDOR, OAuth code replay, SSRF to internal worker, multi-tenant header override, and admin RPC via reflection. Remote oracle: 10/10 verified.

Open lab →   PENTEST.md →

Start here

Manual pentest — no scanner required. Log in to ProofRange, follow the guide, track your score.

Open lab   PENTEST.md →

Builders: GitHub · VULNGYM.md · Scanner benchmark (optional)