Safeguard
Security Guides•

Scanning a whole registry for the first time: a baseline and ratchet plan

A first registry scan returns thousands of findings. Baseline what exists, block only new regressions, then tighten a notch each month. A four-phase plan.

Safeguard Security Team
4 min read

Do not try to fix the first scan. Record it as a baseline, block only findings that are new or worse than the baseline, and tighten the threshold on a fixed schedule. This turns an overwhelming list into a ratchet: things can only get better, and nobody is asked to clear years of debt before shipping.

Why the first scan is always ugly

Registries collect images for years. Many were built from base images that have since gained dozens of advisories, and nobody has looked. A first scan will count findings in the thousands for a modest number of repositories. That number is a fact about history, not about your team today.

Two bad reactions follow. One is to ignore the report. The other is to turn on a blocking gate, break every pipeline in a day, and turn it off a day later. A baseline avoids both.

Four phases

PhaseGoalGate action
1. InventoryKnow what runs and who owns itNone
2. BaselineSnapshot findings per deployable imageNone, report only
3. RatchetBlock new criticals and regressionsBlock on new, warn on old
4. TightenLower the allowed baseline on a scheduleBlock on shrinking set

Phase 1: inventory

Scope first. Most registry content is not deployed. List what runs, tie it to owners, and set the rest aside for cleanup. See which image tags in a registry should you scan and list every container image running in your cluster.

Phase 2: baseline

Run the scan against the deployable set and save the findings, keyed by image digest and finding. This file is your baseline. Do not argue about individual items yet. The baseline is accepted debt with a clear date on it.

A related approach for other scanner types appears in baseline a new scanner without a finding flood.

Phase 3: ratchet

Now configure the gate: fail a build if it introduces a finding not in the baseline, or a finding of higher severity than the baseline allows for that service. Findings in the baseline produce warnings only. Developers feel the control only when they make things worse, which is fair.

Three rules keep it honest:

  1. New images start with an empty baseline.
  2. Rebuilding on a newer base can only remove baseline entries, never add them.
  3. Baseline entries carry an expiry date.

Phase 4: tighten

Pick a rhythm. Each month, pick the highest-value slice and move it from baseline to enforced: critical findings with a fix available first, then high, then findings in internet-facing services. Publish the schedule so teams can plan the work. Quick wins come from rebuilding on a patched base, since that clears many findings at once. See container scan shows hundreds of vulnerabilities, what to do first.

Measure progress

Track the baseline size over time and the count of baseline entries past their expiry. A baseline that shrinks proves the programme works. One that never changes tells you the ratchet is cosmetic.

Try it yourself

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

Look at how findings are grouped and prioritised, which is the view you want for phase 2.

Where Safeguard fits

Safeguard supports policies and gates and dependency scanning across images, so a gate can act on new findings only. Start with a free scan.

Quick check

Is a baseline just hiding problems?

Not if it has an owner, an expiry date and a tightening schedule. It records known debt and stops new debt from forming.

How long should phase 2 take?

Usually days, not months. The aim is a snapshot, not a clean-up.

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.