Research note RA-01repoauditor evaluation

Evidence before verdict.

This note summarizes RepoAuditor’s bounded evaluation records. The studies distinguish scanner execution, target recovery, candidate falsification and human adjudication rather than collapsing them into one accuracy number.

Writeup

Abstract

RepoAuditor combines deterministic scanners with model-assisted mapping, detection and falsification. Its validation work focused on whether each stage exposes enough provenance to tell a completed scan, an empty result, a missed mechanism and an unresolved candidate apart.

The records support the execution and review controls of the v0.1.0 workflow. They also show material coverage limits in public rule sets and in narrow learned ranking results. No project-wide real-world precision or recall claim is supported.

Evaluation design

Pinned repositories and manufactured controls supplied bounded answer keys. Scanner outputs retained tool version, configuration, target count, finding count, output validity and run status. Candidates outside the reviewed target set remained unadjudicated instead of being counted as false positives.

Model-backed findings required source-resolving citations and entered a bounded falsification loop. Human decisions remained append-only and unresolved requests blocked final analysis. Evaluation-only commands were prevented from changing production findings or verdicts.

Execution findings

An initial Semgrep round scanned twenty-six fixture targets under 290 applicable rules. It recovered two of three reviewed static-code positives, SQL injection and SSRF, missed the reviewed IDOR mechanism, and raised both reviewed kill controls. Raw rule hits were not treated as deduplicated findings.

On a pinned OWASP Juice Shop snapshot, the sole checked-in reviewed SQL-injection target was recovered among fifty-one raw candidates. The remaining fifty candidates stayed unadjudicated because the answer key was not exhaustive.

Coverage findings

A separate acquisition round tested four nonstandard historical CVE mechanisms. Semgrep Community recovered none of the four designated targets even though it emitted seventy-seven raw candidates on both pre-fix and post-fix snapshots. The result identified rule-coverage limits rather than proving that every candidate was invalid.

Deployment canaries later verified that zero-result runs could be classified as complete, empty, not applicable, partial, unavailable or failed with supporting execution evidence. A successful process exit alone was no longer accepted as a clean scan.

Ranking and convergence

One prospective ranking check reported perfect classification on its narrow selected set, but all seven positives belonged to mutable GitHub Actions references. The record explicitly limits that result to rule-family separation and rejects cross-mechanism generalization.

The falsification convergence harness varies retrieval breadth and decomposition depth while holding the subject and model configuration fixed. It reports verdict flips, citation overlap and confidence spread as method-sensitivity evidence; it does not automatically confirm or kill a finding.

Limitations

The reviewed answer keys are intentionally partial, model calls are not seed-reproducible on the tested transports, and several checks use manufactured controls. Aggregate candidate counts cannot establish finding identity, exploitability or recall.

The records validate operational distinctions and bounded mechanisms. Wider claims require larger held-out, family-diverse, human-adjudicated datasets with prospective protocols and repeatability measurement.

Conclusion

The strongest finding is procedural: security-review evidence is safer when execution coverage, semantic recovery, falsification and adjudication remain separate fields. This prevents a tool from converting an empty or ambiguous result into assurance by omission.

RepoAuditor’s current record supports a review workflow and its fail-closed boundaries. It does not support autonomous security verdicts or population-level performance claims.

RegisterPublic surface

repoauditor evaluation

Record window
27–29 July 2026
Subject
RepoAuditor v0.1.0 validation records
Fixture result
2/3 reviewed static-code positives recovered · 2/2 kill controls raised
Benchmark anchor
1/1 reviewed Juice Shop target recovered · other candidates unadjudicated
Coverage probe
0/4 nonstandard CVE mechanisms recovered by Semgrep Community
Evaluation posture
Target-conditioned · partial answer keys · no project-wide precision or recall
Production status
Human-gated review instrument · findings remain leads