We seed known vulnerabilities into real Web3 codebases, run the FYEO Scanner and other systems blind against the same commit, and score detections by CWE weakness class. Below is every number from the current runs — including the bugs we missed.
The only metric required for every comparison on this page.
We plant a known set of vulnerabilities into a real codebase. Every bug has a documented file, function, and CWE class, so a detection can be scored objectively instead of judged by eye.
Each system gets the same repository, the same commit, and no hint that bugs were seeded. No prompt tuning per fixture, no retries, no cherry-picking the best run.
The (file, function, CWE) triple is the primary key. Dozens of report lines pointing at the same root cause count once — which is why raw alert counts are far higher than the detected counts below.
Recall = true positives / seeded bugs. A system that reports everything does not win: unmatched alerts earn no credit, so volume alone cannot inflate a score. Noise = raw alerts minus alerts that matched a seeded bug.
Private Fixture #1
Rust · 14 planted bugs total · FYEO found 10, Codex found 6
59 FYEO raw alerts vs 20 Codex raw alerts before deduplication. Noise = alerts that did not match a seeded bug.
| Metric | FYEO | Codex |
|---|---|---|
| Seeded bugs found | 10 / 14 | 6 / 14 |
| Raw alerts generated | 59 | 20 |
| Model, token count & runtime disclosed | Yes | No |
Detector stage only. Grouped by weakness class — (file, function, CWE) is the triple the scorer matches on and the primary key dedup uses.
The fastest way to evaluate the Scanner is on a repository you already know the weak spots in.