Safeguard
Security Guides•

How do you read container SCA results: OS packages vs app packages?

A container scan report mixes operating system packages and application dependencies. How to separate them, who fixes each, and why version formats differ.

Safeguard Security Team
3 min read

A container scan report mixes two kinds of findings: operating system packages that come from the base image, and application dependencies that come from your code. Separate them first. Base image findings are fixed by rebuilding on an updated image, while application findings are fixed by upgrading a library.

Two inventories in one report

TypeExamplesWhere it comes fromWho usually fixes it
OS packagesSystem libraries and utilitiesThe base imagePlatform or image owner
Application packagesLanguage librariesYour lockfilesApplication team

Reading the report as one list hides that the two have different owners and different fixes. Add an owner column before anything else.

Why version formats differ

Operating system distributions package software on their own schedule and with their own version strings. The OSV schema reflects this: it has distinct ecosystems for distributions, and some ecosystem strings carry a release suffix. For example, the Ubuntu ecosystem string has a release suffix in a year and month form, and the RPM based ecosystems use RPM version ordering. So the same upstream library can show different version numbers in an OS package than in a language package.

Practical consequence: do not compare an OS package version to an upstream version number by eye. Use the fixed version the report gives for that distribution.

Steps to read the report

  1. Split by type. Filter OS packages and application packages into two views.
  2. Check the base image first. A large share of OS findings may clear with a rebuild on an updated tag of the same base image, because the distribution may have shipped patches.
  3. Check for packages you do not need. A shell or compiler in a runtime image adds findings and attack surface. A smaller image removes them.
  4. Read application findings as in any SCA report. Path, fixed version, exploit signals and reachability apply the same way.
  5. Rescan after the rebuild. Confirm the OS findings actually cleared.

Things that look odd but are normal

  • The same CVE listed for an OS package and a language package that bundle the same code.
  • A fixed version that looks older than your version, because distributions backport patches into older version numbers.
  • Findings in packages marked as present but unused by your application.

Pipeline tip

Scan the image after it is built, not only the source, since the final image is what runs. Keep the scan in the build pipeline so a rebuild always comes with fresh results.

Try it yourself

Click through it at your own pace, or open it full screen. Notice which findings come from the base layers and which from your application.

Where Safeguard fits

Safeguard scans container images alongside source dependencies and applies reachability analysis to application packages.

Quick check

Why does an OS fixed version look older than mine?

Distributions often backport fixes into older version numbers. Use the fixed version given for that distribution.

Will rebuilding on the same tag fix OS findings?

Often some, if the image maintainer published an update. Rescan to confirm.

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.