Safeguard
Supply Chain•

Do old container base images count as dependency update debt?

Yes. A container base image is a dependency with its own OS packages and runtime. An old one carries a year of unpatched parts even if your code is current.

Safeguard Security Team
4 min read

Yes. A container base image is a dependency: it brings an operating system, system libraries and often a language runtime into every build. If the image you start from is a year old, you carry a year of those components even when your application packages are fully current. Count images in your update debt.

Definitions

A base image is the image named in the FROM line of a Dockerfile. Everything in it, from the OS packages to the shell, ships with your application. A tag such as a version label can point to different contents over time, while a digest identifies exact contents.

Why images age quietly

  • The image builds and runs, so nothing fails.
  • Application scanners may not look at OS packages.
  • Teams rebuild only when the application changes, so a quiet service keeps its old layers.
  • A pinned tag or digest freezes everything underneath your code.

What gets stale

LayerExamplesHow it ages
OS packagesSystem libraries, package managerSecurity fixes land in newer builds
RuntimeLanguage runtime in the imageReaches end of life on its own schedule
ToolsShell, curl, build toolsOften unused but still present
Your dependenciesPackages installed in the imageSame lag as in your repo

How to find the debt

  1. Inventory each deployed image with its base and build date.
  2. Scan images for OS level and language level findings, not just application manifests.
  3. Check the runtime inside against its published support dates, such as the lists Python and Node.js maintain.
  4. Compare the base tag you use with the newest supported tag.

How to pay it down

  1. Rebuild on a schedule, for example weekly, even if the code did not change.
  2. Prefer smaller bases when your application allows, since fewer packages mean fewer things to age.
  3. Pin by digest but refresh deliberately, so updates are intentional and reviewable.
  4. Update the base in a pull request and run the same tests you would for any dependency change.
  5. Retire unused images from registries and deployments.

Reporting

Add two numbers to your scorecard: the age of the oldest running base image, and the share of images rebuilt in the last month. Together they show whether images are part of the routine.

A common blind spot

Teams that diligently update application packages often forget the image underneath. Their repository looks healthy while the running container is not. Closing that gap is often the cheapest improvement available, since a rebuild picks up many fixes at once.

When a rebuild is not enough

If the base image's own distribution release is past its support date, a rebuild will not help. You need to move to a supported release, which is a planned upgrade like any other.

Safeguard's SBOM and dependency scanning lists direct and transitive packages with their versions, and reachability analysis shows which outdated or vulnerable ones your code actually calls. Autonomous remediation can open fix pull requests; it is off by default and every category starts on Manual. You can try a free scan at gold.safeguard.sh/scan.

Try it yourself

Click through it at your own pace, or open it full screen. Look at the OS and package findings in the image view, separate from your application dependencies.

Quick check

Is an image rebuild a dependency update?

Yes, if the rebuild pulls newer OS packages or a newer base tag. Treat it with the same review and tests.

Do I need a separate scanner for images?

You need coverage of OS packages as well as application packages. Check what your current tooling reads.

Sources

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.