Skip to main content
Coming soon: Vulkro Red, a red team on the same engine as the reviews

What the tool found, run in the open

.

A scanner that only publishes its hits is telling you half a result. Below is the whole one: 33 of 83 catalogued bugs found, 50 missed, 20 false alarms. The misses stay in the corpus rather than being removed from it.

What it checks →

The result_

Scored at the confidence setting we recommend for stopping a release, with a match window of file plus line within five lines. Precision 0.62, recall 0.40, F1 0.49.

// the published benchmark //Reproduce the numbers

33 of 83

Found · proven

Real, documented vulnerabilities located and proved with a complete path.

  • Measured on vulkro 0.28.0
  • 2026-09-18
  • Tier 1 corpus, min-confidence high, match window file + line plus or minus 5
  • 33 of 83 proven
  • 50 missed, published
  • 20 false alarms

Every catalogued bug cites the project’s own vulnerability documentation, an in-source vulnerability marker, or a published CVE or GHSA pinned to the scanned commit, and was confirmed by reading the sink at that commit. Bugs the scanner misses stay in the corpus as false negatives.

What this number is not
A fixed test set flatters every tool, ours included, because the tool can be tuned against it and the corpus stops being a surprise. The only benchmark that decides anything is your own code, which is what the 14-day trial is for.

The comparison_

The other scanners are unnamed. Naming a competitor on a rendered page is against our own rule, and the cards carry the whole argument anyway: the one that finds more also flags over three times as many false alarms and takes about eleven times as long.

  • Vulkro

    Found
    33
    Missed
    50
    False alarms
    20
    Precision
    0.62
    Recall
    0.40
    F1
    0.49
    Time
    32.0s
  • Scanner A

    Found
    43
    Missed
    40
    False alarms
    72
    Precision
    0.37
    Recall
    0.52
    F1
    0.43
    Time
    354.4s
  • Scanner B

    Found
    17
    Missed
    66
    False alarms
    15
    Precision
    0.53
    Recall
    0.20
    F1
    0.30
    Time
    36.6s
  • Scanner C

    Found
    17
    Missed
    66
    False alarms
    15
    Precision
    0.53
    Recall
    0.20
    F1
    0.30
    Time
    33.7s
Measured
vulkro 0.28.0 · measured 2026-09-18 · Tier 1 corpus, min-confidence high, match window file + line plus or minus 5
Not in this table
8 other tools have no head-to-head run against this corpus, so there is no figure to cite for them. Absence here is not an oversight.

A second, independent suite_

A different suite, a different binary, a different method, so it never shares a table with the roll-up above. 2,740 cases, scored with AI off. Youden 38.35 — the suite’s own metric, true-positive rate minus false-positive rate — from a true-positive rate of 62.6% against a false-positive rate of 24.3%, averaged across the eleven scored categories.

2 of 6

Rank · untuned run

#ScorecardTrue-positive rateFalse-positive rateYouden
01Published scorecard A96.84%57.74%39.10
02Vulkro62.60%24.30%38.35
03Published scorecard B50.36%17.02%33.34
04Published scorecard C19.95%0.12%19.84
05Published scorecard D5.12%5.19%0.07
06Published scorecard E0.00%0.00%0.00

Rows are ordered by Youden index, the suite’s own metric. The five comparison rows are the scorecards OWASP publishes with BenchmarkJava; the Vulkro row was measured against the version named below. Both rates are averaged across the eleven scored categories, which is the basis the published scorecards record.

**vulkro 0.21.0 (feat/proof-carrying-tier @ c485559507d1f3c2) · measured 2026-08-18 · OWASP BenchmarkJava v1.2, 2,740 cases, scored with AI off**

Three things wrong with reading this as a win

It is not like-for-like

The five comparison scorecards were produced against tool versions from around 2016. The Vulkro row was measured in 2026. That is a ten-year gap, and it is not a contest those tools were entered into.

The lead is thin

Second place sits 0.75 of a point behind first. That is inside the noise of a single category, and it is not a margin that should be expected to survive the next measurement.

We are on the same spectrum

The top row reaches its score by flagging almost everything — a 96.84% true-positive rate against a 57.74% false-positive rate. Ours is 24.3%, which is better on this suite but is the same trade, not an escape from it.

Checking it yourself_

Every catalogued bug in the Tier 1 corpus cites the project’s own vulnerability documentation, an in-source vulnerability marker, or a published CVE or GHSA pinned to the scanned commit, and was confirmed by reading the sink at that commit. The scoring rules and the match window are written down at the link below. The corpus repository itself is private, so we do not describe it as a public corpus. The check that decides anything is the scanner run on your own code, at the setting the benchmark was scored at:

// run it on your own code //Read the method
# the same setting the benchmark was scored at
$ vulkro scan . --min-confidence high

# stop a release on what you decide matters
$ vulkro scan . --fail-on critical,high

# the result, written for a reviewer
$ vulkro scan . --format sarif > vulkro.sarif

Run it on your own code.

Create an account and your first CLI sign-in starts a 14-day trial of the full product. Every scan runs on your machine; your code never leaves it.

Reproduce the numbers

The harness, the scoring rules and the match window are documented so you can run the same shape of test on code you choose.

Vulkro is a product of Reveriext.

reveriext.com

Visit Reveriext