Safeguard
Developer Tools•

Why run the same security scan three times in an evaluation?

A tool that gives different results on identical input is hard to trust in a pipeline. Run each scan three times, diff the output and record the variation.

Safeguard Security Team
3 min read

Run each candidate three times on identical, frozen inputs and compare the outputs. If findings change between runs, you have found a repeatability problem, and no review score will tell you that. It takes an afternoon and prevents surprises in production.

What can vary

Several things can change between runs without any code change.

  • Rule or vulnerability data updated between runs.
  • Network lookups that time out or return different data.
  • Parallel processing that orders results differently or drops items under load.
  • Models or heuristics that produce different output on repeated calls.
  • Build steps that resolve different dependency versions.

Some of this is acceptable. A vulnerability feed update that adds a new advisory is a feature. Unexplained loss of a finding is not.

How to run the test

  1. Freeze the commit and the build. Pin versions in a lockfile so the scan target does not move.
  2. Record the tool version, rule set date and settings.
  3. Run the scan three times, ideally at different times of day.
  4. Export results in a machine readable format.
  5. Diff the outputs: findings present in all three, in two, in one.

What to measure

  • Count of findings in each run.
  • Findings that appear in only some runs.
  • Differences in severity or description for the same finding.
  • Scan duration and its spread.
  • Any run that failed or was partial.

If a tool reports a clean result on a run, check it is not silent failure. A scan that cannot reach its data source should say so loudly.

How to treat the results

Variation is not always a disqualifier. If a tool varies only when a data feed updates, document it and decide whether you can live with it. If it varies with no explanation, ask the vendor, and treat a vague answer as a risk. For gates that block merges, repeatability matters more, because a flaky block costs developer time.

Report it fairly

Apply the same test to every candidate and report the same measures. A reviewer who tests only one run per tool cannot say anything about this. Ask any review you read whether it did. See how to read a review critically.

Try it yourself

Click through it at your own pace, or open it full screen.

Look at how results change over time and ask which changes come from new data and which would count as instability.

Where Safeguard fits

Safeguard offers SBOM and dependency scanning, policy gates and continuous monitoring of dependencies. A free scan is available at gold.safeguard.sh/scan; run it more than once and diff it.

Quick check

Why not run the scan once and move on?

One run cannot show variation. Three runs can show whether results are stable before you rely on them in a pipeline.

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.