← Back to Engineering Notes

March 7, 2026

How We Took WAFBench SQLi Detection from 37/46 to 46/46

Security testing fails quietly when payload delivery is wrong. A benchmark can look comprehensive while still missing the conditions a WAF actually inspects.

The `0.3.46` through `0.3.54` release arc was a sustained hardening pass on MockForge bench security testing. The work was not about adding a bigger payload catalog. It was about getting transport semantics right: distributing payloads across VUs, applying them to generated requests, handling cookie jar behavior correctly, grouping multi-part CRS cases together, decoding form and URI payloads properly, and delivering path and body attacks in the formats WAF rules expect.

What changed

Why this matters

A WAF benchmark is only trustworthy if payloads are delivered in the same shapes and locations a real attack would occupy. When cookies collide, grouped attacks split apart, or form bodies arrive in the wrong encoding, the result is a misleading score. These releases corrected those details so security test results better reflect real request inspection.

Measured progression

The changelog tracks expected SQLi detection improvement from `37/46` to `44/46`, then `45/46`, and finally `46/46` after path and form-delivery fixes landed.

The engineering lesson is straightforward: security tooling is often won or lost in request semantics, not just payload count. MockForge’s WAFBench hardening work was about fixing the harness until the benchmark meant something.