Skip to main content

Benchmark and method

Tested on code it has never seen.

We plant vulnerabilities in test apps the engine team never reads, and mix in safe code that should stay quiet. Then we publish what Vulkro found, what it missed and what it flagged by mistake.

Planted vulnerabilities

216 of 229 found · 94%

Found Missed: 13, kept in the score

Safe code that should stay quiet

30 of 152 flagged · 20%

Flagged by mistake Left alone

Real Criticals also rated Critical
32 of 90 · 36%
Routes found with the right path
380 of 390 · 97%
Critical findings on the wrong code
14
vulkro 0.41.0 · measured 2026-11-02 · 9 blind applications in JavaScript, TypeScript, Python, Go and Java · re-run for every minor release

01The method

Kept away from the people improving it.

A tool tuned against a test it can see scores higher than it should. These apps stay unread, so the score shows how Vulkro does on code it has not met.

  1. 01Blind test apps9 applications nobody improving the engine ever reads. The scorer reports totals only, so no fix can be aimed at one planted bug.
  2. 02Planted vulnerabilities229 weak spots planted on purpose, 90 of them expected to be Critical. Each one Vulkro misses stays in the score.
  3. 03Safe code that should stay quiet152 lookalikes that are safe on purpose. A scanner that flags everything gets caught here.

Scanned offline and deterministically from a pinned binary: the same binary on the same apps gives the same counts. A finding counts for the nearest planted entry in the same file within eight lines. Found means a finding at Low or above; flagged safe code means a finding at Medium or above. Every scoring rule

02Every application

Each app on its own, weak ones included.

Two JavaScript and TypeScript apps and one Java app. A figure from one or two apps is a direction, not a settled rate.

The full table
ApplicationPlanted vulnerabilities foundSafe code flagged
Go, app 127 of 27 · 0 missed4 of 18
Go, app 218 of 21 · 3 missed1 of 16
Go, app 320 of 23 · 3 missed2 of 17
Java, app 131 of 31 · 0 missed1 of 14
JS / TS, app 124 of 26 · 2 missed4 of 19
JS / TS, app 228 of 29 · 1 missed3 of 15
Python, app 125 of 26 · 1 missed4 of 19
Python, app 221 of 22 · 1 missed4 of 18
Python, app 322 of 24 · 2 missed7 of 16
All 9216 of 229 · 13 missed30 of 152

vulkro 0.41.0 · measured 2026-11-02 · 9 blind applications in JavaScript, TypeScript, Python, Go and Java · re-run for every minor release · all-confidence view

03The limits

What this number is not.

The test that decides anything is your own code. Publishing a blind app would end its use as a blind test, so the apps stay private and the scoring rules are written down.

Method and the earlier run
  1. Not a comparisonNo other scanner was run. This measures Vulkro against planted vulnerabilities and safe code, and says nothing about any other tool.
  2. Not real-world precisionTest apps hold more issues than production code. How often a finding on real code is a real issue is a separate, harder measure, and it is not what this page reports.
  3. Every confidence levelA finding counts at any confidence. The default view hides low-confidence findings, so on its own it shows fewer.scored with --all-confidence

The benchmark that counts is your own code.