Calibrated Decision Models for Autonomous Penetration-Testing Harnesses: JEV and Laya as System One Decision Layers for LLM-Driven Pentest Agents
Organizations: Independent Researcher — AI and Offensive Security S˜ao Paulo, SP, Brazil
Abstract
Autonomous penetration-testing harnesses use large language models (LLMs) for reconnaissance, exploitation, and reporting, but often rely on those same models to confirm findings, grade severity, and select agents. This can lead to false positives, inflated severity, and wasted compute. We examine how System One decision models, lightweight non-generative classifiers that return typed, calibrated verdicts, can support these decisions. We make five contributions. First, we define four decision points: finding adjudication, severity recalibration, agent pruning, and confirmation loops. Second, we present an exploratory NeuroSploit case study comparing one run with TypeSafe System One (Jev) and one without it against a web target containing 13 vulnerabilities. Differences in severity distribution, runtime, and grading by exposed data type motivate the architecture but do not establish statistical significance. Third, we review published specifications for Jev, Jev-Ultrafast, and the open-source Laya without assuming that results from other benchmarks transfer to penetration testing. Fourth, we discuss RLHF, RLAIF, RLCD, and RLHV as training approaches and their implications for trust in security decisions. Finally, we propose Rave, a domain-adapted System One model, and outline its training data, evaluation protocol, and potential effect on harness assurance.
Figures & tables
| Contribution | Status | Evidence |
|---|---|---|
| DP1–DP4 formalization | Implemented | NeuroSploit harness code |
| Jev integration | Implemented | --typesafe flag |
| Case study (single run) | Measured | 1 run/condition, 1 target |
| Re-test (post-fix harness) | Measured | Separate harness version |
| Jev vs Laya comparison | Reported | Published specs (not paired) |
| Decision-theoretic framework | Proposed | Formal analysis |
| RLHF | RLAIF | RLCD | RLHV | |
|---|---|---|---|---|
| Signal source | Human pref. | AI pref. | Proper score | Verifier |
| Calibration | No guarantee | Inherited | By construction | By construction |
| Scalability | Low | High | High | Medium |
| Domain adaptation | Costly | Moderate | Fine-tunable | Closed-loop |
| Overconfidence risk | High | Medium | Low | Low |
| Security suitability | Low | Low | Medium | High |
| Model | Latency (p50) | Decisions/min | Batch (15q) |
|---|---|---|---|
| LLM (claude-opus) | 1.5–3.0 s | 20–40 | 15 calls |
| Jev (API) | 236–276 ms | 217–254 | 1 call |
| Laya (T4 GPU) | 33–40 ms | 1,500–1,818 | 1 call (72 ms) |
| Laya (batched 10) | 7.2 ms/q | 8,333 | 1 call |
| Scenario | Window | LLM | System One |
|---|---|---|---|
| Race condition | ms–s | Too slow | Feasible |
| Session fixation | s–min | Feasible | Feasible |
| Blind SQLi extraction | s/char | Bottleneck | Negligible |
| WebSocket analysis | ms/frame | Backlog | Wire speed |
| Brute-force routing | ms/attempt | Impractical | Feasible |
| Confirmation loop (50 payloads) | s–min | 100 s | 1.7 s |
| Parameter | Value |
|---|---|
| Target | NimbusCart (BenchMarkBurpAT), localhost:3000 |
| Ground truth | 13 seeded vulnerabilities |
| Model | claude-opus-4-8 (subscription) |
| Configuration | Black-box, recon intensity 2 |
| Vote count | 1 (single model) |
| Max agents | 15 |
| Metric | A (no TS) | B (with TS) |
|---|---|---|
| Scenarios hit (of 13) | 10 | 9 |
| Findings reported | 16 | 18 |
| Beyond seeded set | 6 | 9 (2 real) |
| Wall-clock time | 32m 12s | 26m 53s |
| Critical findings | 5 | 2 |
| Findings recalibrated | 0 | 9 |
| Scenario | Class | A | B |
|---|---|---|---|
| web_sqli_login_bypass | SQLi | ✓ | ✓ |
| web_sqli_union_search | SQLi | ✓ | ✓ |
| web_sqli_blind_time | SQLi | ✓ | ✓ |
| web_sqli_second_order | SQLi | ✓ | ✓ |
| web_idor_invoice | IDOR | ✓ | ✓ |
| api_bola_orders | BOLA | ✓ | ✓ |
| Severity | A (no TS) | B (with TS) |
|---|---|---|
| Critical | 4 | 3 |
| High | 3 | 8 |
| Low | 10 | 6 |
| Informational | 5 | 5 |
| Dimension | Jev (TypeSafe) | Laya (open-source) |
|---|---|---|
| Architecture | Proprietary; non-autoregressive | ModernBERT-large (421M params); Apache 2.0 |
| Primitives | Choice, Score, Noul | Choice, Score, Noul (API-compatible) |
| Latency (single question) | 236–276 ms (p50) | 32.8–39.5 ms (T4 GPU) |
| Latency (10 batched) | Not published | 72.3 ms total (7.2 ms each) |
| Latency ratio (reported) | Baseline (cloud API) | 7.8 (self-hosted T4) |
| Cost | $0.042 / 1M input tokens | $0 (self-hosted) |
| Contribution | Observation | Evidence level |
|---|---|---|
| DP1–DP4 formalization | 4 decision points | Implemented |
| Severity recalibration | 9 of 22 recalibrated | 1 run, 1 target |
| Wall-clock difference | 5m 19s faster | 1 run, 1 target |
| Bug detection | 2 harness bugs exposed | Case study |
| Speed analysis | Published latency data | Reported (not paired) |
| Calibration analysis | Published ECE data | Reported (not paired) |