Current release · JS 1.0

Can LLMs find the same bugs twice?

A controlled study of how repeatably agentic LLM security reviews find vulnerabilities in the same JavaScript code, prompt, and benchmark harness.

300
scans
10
projects
6
configurations
5
repetitions

Research question

Reliability starts with recurrence

If the same agent sees the same vulnerable code twice, does it report the same security issues twice?

JS 1.0 measures repeated behavior under controlled conditions. Ten inspectable JavaScript projects were reviewed by six configurations, five times each, using unchanged code, prompts, and harness settings.

Snyk Code supplies the deterministic reference set. The resulting Snyk-reference metrics describe agreement with that set; they do not claim exhaustive vulnerability-detection accuracy.

Central result

Matched findings were stable. Extra reports varied.

The recurrence distribution shows a clear contrast between findings that aligned with the Snyk Code reference set and reports outside it.

Unmatched findings can include false-positive-shaped reports, adjacent comments, or valid product-gap candidates. They require inspection.

134 of 158 · Reference-matched findings seen in all five runs

View exact recurrence values
Finding groupCountShare
Reference-matched findings seen in all five runs134 of 15884.8%
Unmatched findings seen in only one run80 of 16149.7%
Unmatched findings seen in all five runs22 of 16113.7%
Dataset 1.0.0Snyk VulnBench JS 1.0Unique signatures · recurrence across 5 identical runs

Complementarity

Different systems exposed different strengths

Agentic LLM review consistently recognized familiar, high-signal exploit shapes and surfaced one likely Snyk Code product gap. Deterministic SAST was stronger at systematically enumerating repeated data-flow sinks.

The practical implication is not replacement. The evidence supports combining reasoning-oriented review with deterministic coverage, then triaging where their reports diverge.

Efficiency

More expensive sessions did not automatically agree more

The model-only cost-quality comparison did not produce a simple spend-more, score-higher pattern. Cost, token usage, duration, agreement, and recurrence therefore remain separate measures.

Published cost estimates reflect small fixtures and the model-session assumptions documented for this release.

Inspect efficiency evidence

What this does not prove

Keep the protocol boundary visible

  • Snyk Code defines the reference set; its 100% score is deterministic reproduction of that set, not universal accuracy.
  • The scorer matches by vulnerability type and does not require the same file, line, severity, or source-to-sink identity.
  • The fixtures are small JavaScript and Express projects and do not represent every production architecture.
  • Unmatched reports may include false positives, adjacent comments, or valid product-gap candidates.
  • Normalization choices affect recurrence percentages.
  • Cost values reflect small fixtures and the publication's model-session assumptions.

Continue the research trail

Inspect the evidence behind the narrative