SekuScan Start evaluation

Benchmarks

Public benchmark results.

Raw results are linked below. View the current VulnerableApp JSON.

Results

BenchmarkResult
ZAP WAVSEP — positive cases1 210 / 1 210
ZAP WAVSEP — negative cases40 / 40 silent
Google Security Crawl Maze85 / 85 scored · 6 excluded
SekuScan crawler traps ours10 / 10
OWASP VulnerableApp145 / 154 · 94.2%

ZAP WAVSEP

zaproxy/wavsep, the ZAP team’s fork of sectooladdict/wavsep

Positive cases

CategoryDetected
LFI816 / 816
SQLi135 / 135
RFI108 / 108
Reflected XSS91 / 91
Open redirect60 / 60
Total1 210 / 1 210

Negative cases

ResultCases
Stayed quiet38
A different, real bug the corpus does not score2
False positive0
Total40
  • 40 is the corpus’s own negative denominator: 8 LFI, 6 RFI, 7 reflected XSS, 10 SQLi, 9 open redirect. The app also ships 4 backup-file look-alikes, which the ZAP team does not score either — there is no such section in their published results, and whether a served page is a forgotten leftover is not observable over HTTP.
  • The two disputed cases are exposures we found that the corpus files under a different name. On one, the target fetched a URL we supplied and our callback fired — that is SSRF; the case is scored for remote file inclusion, which did not occur. On the other, /WEB-INF/web.xml answers 404 when requested directly and comes back in full through the parameter; the case is scored for OS path traversal, which did not occur. WAVSEP’s own documentation says “out of scope” exposures should be ignored when scoring, so we report them and count neither as a detection.

71,966 requests · ≈ 4 h*

Google Security Crawl Maze

google/security-crawl-maze

85 / 85 scored cases found.

  • 6 cases excluded: the deployment does not serve them (Angular, Polymer and React framework routes). Excluded from the denominator, not counted as misses.

230 requests · ≈ 1 min*

OWASP VulnerableApp

SasanLabs/VulnerableApp

145 / 154 · 94.2%

  • 8 expected findings missed. Six of the nine are cases the target’s own fixture cannot satisfy — a seeded password hash that is not the hash of the seeded password, an XSS case whose sinks are both escaped, a traversal case made impossible by the upload resolver that level uses, and a weak-random case pointed at the one level using a secure generator. Two more we decline because our evidence names a different weakness than the answer key does. Against the 148 rows that are actually reachable, this is 145.
  • Graded by the project’s own /scanner/benchmark harness.
  • 346 findings sent; 181 were not credited by the answer key (not a false-positive count).
  • Measured 2026-09-20 against engine 7166b5a; 0 check failures.

47 954 actions · 47 251 probes · 42 min 27 s

Selected vulhub targets

vulhub/vulhub

Selected targets only; no aggregate score.

CVE / issueSoftwareCheck
CVE-2018-7600 “Drupalgeddon2”Drupalinjection/drupal_render
CVE-2021-22205GitLab (ExifTool)injection/gitlab_exiftool
S2-045, S2-059, S2-061Apache Struts 2injection/struts_ognl
CVE-2024-27956WordPress Automaticinjection/wp_automatic_sqli
CVE-2026-63030WordPress (batch)injection/wp_batch_sqli
CVE-2024-6624WordPress JSON API Userauth/wp_json_api_user_privesc
CVE-2020-25213WP File Managerupload/unauth_connector
Magento 2.2 SQL injectionMagentoinjection/sqli

Raw results

* The ZAP WAVSEP and Crawl Maze runs above were measured on 2026-09-09 against engine a2b55e7 with a clean tree. The VulnerableApp run was measured on 2026-09-20 against engine f99b6a0, also on a clean tree, and its duration above is recorded rather than derived; its raw JSON carries the full provenance stamp, including request cost. Durations marked ≈ for the older runs are derived, not recorded: the harness did not time those runs, so each figure is the request count over the median throughput of 4.8 operations per second measured across 47 other runs.