Attackers now find and exploit 0-days faster than defenders can keep up, which is why continuous pen testing against attack surfaces that change often has become table stakes. Better models have made that testing faster, but running the same agents has become token- and cost-inefficient: they run for 8-16 hours at a time, sometimes every day. That leaves a gap between how fast attackers find 0-days and how fast teams can fix them. We built MindFort to make security efficient, performant, and abundant.
This led us to become interested in how efficient agents were when executing offensive security tasks. For us to be able to create these offensive security agents, we needed them to be capable of running for multiple hours at a time, continuously through the year, which led us to create an internal benchmark measuring models' ability to balance token efficiency and performance.
Current cybersecurity evals share one flaw: they are boxed in. Real environments are messy and ambiguous, with layered vulnerabilities that can be chained together in different ways. They come in different deployment and authentication shapes and different sizes, which makes it hard for agents to even work their way in, and that is half the battle. So we built our own, modeled on the thousands of real environments we have watched our agents work through.
Introducing NexBench. NexBench demonstrates the real-world environments that agents find themselves in. By running our agents on NexBench, we aim to understand which models can find the most validated vulnerabilities, have the best price-to-performance ratios, and exhibit long-running coherence and ability.
Our eval provides signals of a model's ability to write, reason and execute real exploits against a target, while measuring their price-to-performance ratio and how well the harness handles the complex environment. In our research, we have found that evaluations of agents in existing benchmarks far outperform the same models/agents in real-world environments.
Setup
Our setup for NexBench uses a modified version of our harness that allows for our agent system to be more portable. The full test range is spun up in an isolated container, and the agents have full access to it, mimicking a web accessible environment.
Agents are scored on their ability to discover vulnerabilities in the following 3 severity levels: low, medium, and high. We dropped critical as its own tier as high vs. critical judgments became subjective and inconsistent over time, so we folded both into high and scored coarsely. Each finding was then re-validated by a separate judge agent, which scored the finding consistently via CVSS, and then re-exploited to confirm that the agent finding held. The vulnerabilities in the test range varied from trivial and low severity, to highly complex multi-stage vulnerabilities in atypical locations. One interesting observation that our bench captures is reviewing how an agent weaves vulnerabilities together. Since the benchmark does not have a concept of “100%” completion but rather non-deterministic scoring that follows a predictable trajectory, we are able to see how effective and how creative agents are in surprising us with newer and better ways to exploit multiple vulnerabilities together. Again, this closely mirrors how agents would interact with complex environments in the wild.
Because of this, we score non-deterministically and report each model's highest score from its recorded runs at the available reasoning efforts. Each agent has a 5-hour runtime cap, which we chose as a reasonable limit for daily pen testing.
We report 4 metrics: findings, validated findings, tokens used, and estimated token cost:
- A finding is validated if the judge agent is able to successfully reproduce the exploit, or fails otherwise.
- A model's score is a sum of all validated findings across a single run of the model in the harness.
Results
Accepted findings by severity
Validator-accepted findings summed across each model's recorded runs, sorted by total volume. Each model keeps its own hue; darker shades are higher-severity findings. Hover any bar for the exact low / medium / high breakdown.
Across five recorded runs each, GPT-5.6 Sol had the most validated findings with 87. Opus 4.8 followed with 68 (Figs. 1 and 2).
Note: Best score and run time come from one run per model. Findings, cost, and tokens are totals across all recorded runs. The Runs column shows how many each model has. Click any column header to re-sort.
Leaderboard, sorted by accepted findings
All 17 models, ranked by validator-accepted findings summed across their recorded runs. Run counts vary by model and appear in the Runs column. The sorted column is highlighted in orange; click any header to re-sort.
| Model | Best-run effort | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| GPT-5.6 Sol | X-High | 61 | 5 | 2h 19m | 87 | 40 | $1,093 | 224.5M | 0.176 | 0.855 |
| Claude Opus 4.8 | Max | 45 | 5 | 1h 50m | 68 | 38 | $380 | 77.8M | 0.413 | 2.019 |
| Claude Sonnet 5 | Max | 34 | 5 | 4h 30m | 54 | 31 | $374 | 173.1M | 0.348 | 0.751 |
| Grok 4.5 | High | 52 | 3 | 5h 3m | 51 | 26 | $122 | 49.6M | 0.970 | 2.378 |
| GPT-5.6 Terra | X-High | 36 | 5 | 1h 6m | 49 | 19 | $215 | 80.3M | 0.489 | 1.308 |
| GPT-5.6 Luna | X-High | 43 | 5 | 1h 59m | 47 | 21 | $158 | 127.8M | 0.633 | 0.782 |
| GPT-5.5 | X-High | 41 | 5 | 1h 19m | 45 | 19 | $120 | 88.0M | 0.817 | 1.114 |
| Qwen3.8 27B | Default | 28 | 3 | 59m | 45 | 9 | $51 | 6.8M | 1.538 | 11.533 |
| Grok 4.6 | X-High | 114 | 1 | 1h 57m | 44 | 26 | $39 | 25.4M | 2.951 | 4.485 |
| Kimi K3 | Default | 42 | 3 | 49m | 41 | 22 | $47 | 40.0M | 2.000 | 2.349 |
| GLM-5.2 | X-High | 34 | 2 | 1h 40m | 31 | 12 | $38 | 42.7M | 1.722 | 1.522 |
| Grok 4.7 | X-High | 70 | 1 | 1h 17m | 26 | 20 | $44 | 35.3M | 1.609 | 1.986 |
| GLM-5.3 | Max | 33 | 2 | 1h 17m | 25 | 15 | $30 | 40.6M | 2.044 | 1.528 |
| GLM-5.3 Flash | Max | 29 | 2 | 3h 24m | 22 | 11 | $19 | 39.4M | 2.661 | 1.268 |
| Nemotron 3 Ultra | High | 18 | 2 | 5h 3m | 16 | 2 | $92 | 261.5M | 0.292 | 0.103 |
| Kimi K2.7 | Default | 24 | 1 | 2h 32m | 14 | 2 | $14 | 17.3M | 1.724 | 1.387 |
| Mercury 2.5 Preview | High | 6 | 1 | 1h 6m | 3 | 1 | $7 | 20.1M | 0.805 | 0.299 |
For example, GPT-5.6 Sol's best-scoring run had 32 accepted findings, including 11 high-severity findings, for 61 points. Its totals across five runs were 87 accepted and 40 high-severity findings. Grok 4.6 has one recorded run: 44 accepted findings, including 26 high-severity findings, for 114 points.
Where it starts getting interesting is when we start to implement scoring, assigned based on severity of the finding. We assigned a score of 1 to low findings, 2 for medium findings, and 3 for high/critical findings. In general, critical and high findings were harder to find, since they required chaining multiple vulnerabilities together, which makes this metric a good read on overall performance in offensive security workflows. Each run was scored as shown below. The leaderboard reports each model's highest score across its recorded runs, which range from one to five.
(3 * #_of_high_vulnerabilities) + (2 * #_of_medium_vulnerabilities) + (1 * #_of_low_vulnerabilities)Grok 4.5 scored 52, below GPT-5.6 Sol's 61 and above Opus 4.8's 45. It took the full runtime to reach that score. The later Grok 4.6 and 4.7 runs scored 114 and 70. Kimi K3 reached 42 in 49 minutes (Fig. 3).
Leaderboard, sorted by best score
All 17 models, ranked by best severity-weighted score, each model's strongest single run across all reasoning efforts. The sorted column is highlighted in orange; click any header to re-sort.
| Model | Best-run effort | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Grok 4.6 | X-High | 114 | 1 | 1h 57m | 44 | 26 | $39 | 25.4M | 2.951 | 4.485 |
| Grok 4.7 | X-High | 70 | 1 | 1h 17m | 26 | 20 | $44 | 35.3M | 1.609 | 1.986 |
| GPT-5.6 Sol | X-High | 61 | 5 | 2h 19m | 87 | 40 | $1,093 | 224.5M | 0.176 | 0.855 |
| Grok 4.5 | High | 52 | 3 | 5h 3m | 51 | 26 | $122 | 49.6M | 0.970 | 2.378 |
| Claude Opus 4.8 | Max | 45 | 5 | 1h 50m | 68 | 38 | $380 | 77.8M | 0.413 | 2.019 |
| GPT-5.6 Luna | X-High | 43 | 5 | 1h 59m | 47 | 21 | $158 | 127.8M | 0.633 | 0.782 |
| Kimi K3 | Default | 42 | 3 | 49m | 41 | 22 | $47 | 40.0M | 2.000 | 2.349 |
| GPT-5.5 | X-High | 41 | 5 | 1h 19m | 45 | 19 | $120 | 88.0M | 0.817 | 1.114 |
| GPT-5.6 Terra | X-High | 36 | 5 | 1h 6m | 49 | 19 | $215 | 80.3M | 0.489 | 1.308 |
| GLM-5.2 | X-High | 34 | 2 | 1h 40m | 31 | 12 | $38 | 42.7M | 1.722 | 1.522 |
| Claude Sonnet 5 | Max | 34 | 5 | 4h 30m | 54 | 31 | $374 | 173.1M | 0.348 | 0.751 |
| GLM-5.3 | Max | 33 | 2 | 1h 17m | 25 | 15 | $30 | 40.6M | 2.044 | 1.528 |
| GLM-5.3 Flash | Max | 29 | 2 | 3h 24m | 22 | 11 | $19 | 39.4M | 2.661 | 1.268 |
| Qwen3.8 27B | Default | 28 | 3 | 59m | 45 | 9 | $51 | 6.8M | 1.538 | 11.533 |
| Kimi K2.7 | Default | 24 | 1 | 2h 32m | 14 | 2 | $14 | 17.3M | 1.724 | 1.387 |
| Nemotron 3 Ultra | High | 18 | 2 | 5h 3m | 16 | 2 | $92 | 261.5M | 0.292 | 0.103 |
| Mercury 2.5 Preview | High | 6 | 1 | 1h 6m | 3 | 1 | $7 | 20.1M | 0.805 | 0.299 |
Cost per accepted finding
Total standard cost divided by accepted findings, cheapest model first. Hover a bar for the calculation.
GPT-5.6 Sol had the highest cost per accepted finding in our evaluations, followed by Sonnet (Fig. 4). GLM-5.3 Flash, Grok 4.6, and Kimi K2.7 had the lowest costs per accepted finding.
Looking at token and cost efficiency, we can then deduce which models were able to make the most of token and dollar cost. Our x-axis measures validated points per USD (cost efficiency as a ratio), with our y-axis measuring points per million tokens (token efficiency). Kimi K2.7 ended up with one of the best dollar-to-point ratios, but token use inefficiency ended up weighing down overall results (Fig. 5). Among the hosted models, Grok 4.5 performed in the inverse, with strong token efficiency, but was more expensive than Kimi K2.7, along with GLM-5.2. The standout on token efficiency, though, is Qwen3.8 27B, run locally on our own hardware: it validated 45 findings on just 6.85M total tokens. That works out to roughly 11.5 points per million tokens, more than twice the rate of any hosted model, at about $1.14 per validated finding.
Kimi K3 ended up scoring similarly to Grok 4.5 in terms of token efficiency (2.35 points per 1M tokens vs. 2.38 points per 1M tokens) but scored significantly better in terms of dollar efficiency, at roughly double the points per USD, making it a really cost-efficient choice.
Cost vs. token efficiency
Severity-weighted points per dollar (x) against points per million tokens (y), summed across every run, one point per model. Upper-right is best, hover any point for details.
Each run appears once by score and standard cost (Fig. 6). The Pareto frontier shows the highest score reached at or below each cost.
Score vs. standard cost
Every model-effort cell. The dashed orange line marks the Pareto frontier, the highest score reached at or below each cost.
The same runs appear by score and total tokens (Fig. 7). This view shows which scores were reached at different token budgets.
Score vs. total tokens
The same model-effort cells on a log-scale x-axis, token spend ranges from roughly 1.3M to over 150M across runs.
Conclusion
As more software gets shipped, teams need to start thinking about how software can become self-securing. Long-running agents are the way forward, and to power them we have to figure out which models can do the work at an efficient cost without giving up performance. Open-source models are already gaining fast on closed-source ones like Opus and GPT, and as powerful models get cheaper, attackers get access to stronger weapons. Defenders have to pick up those same resources and catch vulnerabilities continuously, before an attacker gets the chance to exploit them.
About the author

Akul Gupta
Co-Founder & CTO · MindFort
AI researcher focusing on LLMs in cybersecurity. Red-teamed models for OpenAI and Anthropic as part of their safety programs. Published multiple conference papers. M.S. Computer Science, UIUC.