Skip to main content
CleanStart

Container Sprawl: The Attack Surface Nobody Budgeted For

8 min read
Contents

Software teams have become very good at creating container images. They are far worse at retiring them.

Containerization packages an application with the code, dependencies, and system components it needs to run. That consistency makes software easier to build, move, and deploy.

It also makes creating a new image almost effortless. Every pull request, CI build, feature branch, and release can produce another one. Over time, those images accumulate across registries.

This is container sprawl: the uncontrolled accumulation of container images, tags, and running instances beyond a team’s ability to track, govern, and secure them.

The security impact is significant. CISA's January 2025 container-hardening guidance found that 67% of container breaches traced back to misconfigured RBAC, exposed APIs, or stale images. Stale images are one of the most persistent outcomes of container sprawl.

Where Container Sprawl Shows Up

Container sprawl appears in two related layers:

  • Image sprawl is the buildup of stored images and tags in registries.
  • Runtime sprawl is the growth of deployed containers and clusters.

This article focuses on image sprawl, because it is where much of the security debt begins.

Each image was a small decision that made sense at the time. Together, they create an attack surface nobody planned, and few organizations can measure.

Every image is an artifact that must be inventoried, maintained, patched, and eventually retired. Yet CI/CD pipelines can create images far faster than teams can manage them. By the time a registry holds hundreds or thousands of images, simply knowing what exists becomes difficult, before anyone even begins assessing the vulnerabilities inside.

How Container Sprawl Happens

Container sprawl takes hold when image creation is distributed but image governance is not. Teams build and publish images across repositories, CI pipelines, registries, and cloud environments, often with different conventions and no shared inventory.

The estate then fragments. VMware reported that 61% of enterprises ran 10 or more clusters in 2025, and Red Hat found OpenShift customers averaging 2.7 cloud providers per deployment. Every cluster and cloud environment creates another location for images and another governance boundary to cross.

A copy-fork-modify culture adds to the problem. A team pulls a base image, makes a small change, pushes a new version, and loses the original lineage. Over time, teams use different base operating systems, package versions, and runtimes, with no central view tying those choices together.

Finally, most images have no defined end of life. Registries often lack effective lifecycle policies, so tags remain available until someone deliberately removes them. An image created for a short-lived test or a 2023 release can remain pullable long after its original purpose has disappeared.

The Illusion of the Single Artifact

Here is the insight that turns sprawl from a tidiness problem into a security problem.

A container image looks like a single, self-contained artifact. Pull it, run it, done. In reality, an image is built from layers that include application dependencies, operating system packages, and foundational libraries such as glibc and OpenSSL. Teams may not have chosen many of those components directly, and they may not know exactly which images inherit them.

The application code might be only a few hundred lines. Underneath it can sit a base image carrying hundreds of packages. Addressing a vulnerability may require rebuilding the image with an updated base or dependency set, then identifying every image and deployment that still relies on the older version.

Container sprawl beings

Now multiply that hidden dependency load across thousands of forgotten images. A flaw in a widely used base layer can affect every image built from it. The issue is not simply how many images sit in a registry. It is how many images inherit software that nobody has identified, assigned, or maintained.

Container sprawl multiplies inherited risk across too many artifacts. That makes vulnerability management slower, creates duplicate findings, and makes it harder to determine which images are actually affected when a new CVE is disclosed.

Stale-Image and Reintroduction Risk

A stale image is not necessarily an active attack surface simply because it exists in a registry. The risk increases when it remains accessible, pullable, or capable of being deployed again.

Stale images fall behind as new vulnerabilities are disclosed. An image built a year ago retains the package versions it contained when it was created. If vulnerabilities are later disclosed in those versions, the image will remain affected until the team rebuilds it with updated components. Regular image scanning and timely remediation are therefore essential. CISA container image hygiene guidance

Deleting a deployment does not delete the image. An old image can remain in a registry after the workload that used it is gone. If a deployment later references an old tag or manifest, that image can be pulled and run again. This is especially difficult to control across multiple registries and cloud environments. Using immutable digests helps ensure that a workload runs the exact image that was reviewed. Kubernetes image documentation

Incomplete SBOMs make stale images harder to assess. An SBOM should provide an accurate inventory of the components inside an image. If it is missing, incomplete, or does not match the image that was deployed, teams can miss vulnerable packages and struggle to determine which images require remediation.


Dimension

Active, Governed Image

Stale or unmanaged Image

Maintenance

Rebuilt or reviewed on a defined cadence

May not have been rebuilt, reviewed, or retired recently

Vulnerability Status

Scanned and remediated through an established process

May contain components affected by newly disclosed vulnerabilities

Ownership

Traceable to a team and a defined purpose

Ownership or intended use is unclear

Inventory visibility

Recorded in the inventory and linked to deployments where possible

May be missing from the inventory or disconnected from deployment records

Deployment control

Uses approved sources, policies, and preferably an immutable digest

May remain accessible and could be accidentally pulled or redeployed

Response readiness

Team can identify its use and prioritize remediation

Team may need to investigate whether it is used, affected, or safe to remove

Common Forms of Container Sprawl

Unpipelined images are built or pushed outside the approved delivery process. A developer may build an image locally and push it to a shared registry for a quick test, or a team may use a registry that the central platform does not monitor. These images can bypass the scanning, signing, and policy checks built into the standard pipeline.

Orphaned images are artifacts that no known deployment uses and no team actively owns. The application that once used them may be gone, but the image remains in the registry. Without a retention policy or ownership record, teams may not know whether it is safe to remove or whether it could still be pulled again.

Duplicate and fragmented images are multiple tags, rebuilds, or registry copies that represent the same application or closely related versions. They create redundant scan findings, obscure lineage, and make it harder to identify the supported version of an application.

The common thread is governance. Without a unified view across registries and clusters, teams cannot reliably identify what they have, what is running in production, who owns it, or which artifacts are safe to retire. 

You cannot secure what you cannot see, and container sprawl is fundamentally a visibility problem.

The Cost of Container Sprawl

The bill comes in two forms.

The security cost is slower vulnerability response and a greater chance that outdated images remain available for deployment. When a critical CVE affects a common library, the first questions are: where is it running, which images contain it, and who owns those images? In a sprawling estate, answering those questions can take hours or days. That delay extends the time a vulnerable deployed workload may remain exposed.

The operational and financial cost is quieter but real:

  • Storage costs grow as unused images and layers remain in registries.
  • Replication, pulls, and transfers can increase network costs across registries and cloud environments.
  • Scanners flag the same inherited CVEs across many similar images, creating duplicate findings and alert fatigue.
  • Engineers spend time investigating images that may no longer be deployed or needed.

There is also a capacity mismatch underneath the cost. Images accumulate automatically at pipeline speed, around the clock. Cleanup, ownership decisions, and vulnerability triage happen at human speed, within sprint capacity that is already limited. Unless teams automate governance and retirement, that gap widens over time.

Ways to Keep Container Sprawl Under Control

Container sprawl is tractable when teams combine visibility, lifecycle controls, and standardized build practices.

  1. Build a continuous inventory across registries and clusters. Maintain an up-to-date view of what exists, what is deployed, where it runs, and which team owns it. Point-in-time scans quickly become outdated.
  2. Assign ownership and purpose to every image. Each image should be traceable to a team, application, environment, and lifecycle status. An artifact without a known owner becomes future debt.
  3. Enforce lifecycle and retention policies. Automatically clean up untagged images and artifacts that meet defined age, usage, and approval criteria. Use exceptions for images required for rollback, audit, or long-term support.
  4. Standardize approved base images. Give teams a small, maintained set of base-image families rather than allowing unmanaged forks. This reduces variation and makes patching more consistent.
  5. Consolidate duplicate and legacy images. Identify redundant tags, similar rebuilds, and obsolete variants. Consolidation reduces the number of artifacts teams must track, scan, and maintain. In a 120-image estate, for example, SBOM fingerprinting may identify only five base families and reveal substantial duplicate vulnerability findings.
  6. Deploy by digest and require trusted signatures. Use immutable digests to ensure workloads run the reviewed image version. Require signatures or admission policies to prevent unapproved images from entering production.
  7. Build smaller, purpose-specific images. Fewer packages and unnecessary tools reduce the number of components that must be tracked and maintained.

Governing container sprawl

The question is not, “How many images do we have?” It is, “How many of those images do we understand?”

Can you identify which images are running in production, which are duplicates, which are no longer used, and which contain outdated components? Can you trace each one to an owner, a purpose, and an approved base image?

Organizations that can answer those questions are actively managing their software supply chain. Those that cannot are carrying hidden security and operational debt.

Container sprawl is not solved by deleting old tags alone. It requires continuous inventory, clear ownership, lifecycle controls, and a deliberate effort to reduce the number of images that must be governed.

Want to see what container sprawl looks like in your environment? Schedule a live CleanSight demo to identify duplicate and unused artifacts, map image vulnerabilities, and uncover consolidation opportunities across your container estate.


Related Blogs

See All
Conatiner security starts before cnapp
Application Security
10 min read

Why Container Security Starts Before CNAPP

Many container vulnerabilities originate in the base image, long before your CNAPP detects them. See where container security actually begins.

Read more
How modern npm supply chain attacks beat cve scanners and sboms
10 min read

How Modern npm Supply Chain Attacks Beat CVE Scanners and SBOMs

Modern npm supply chain attacks ship malware through signed, provenance-attested packages. See how they beat CVE scanners & SBOMs, & what actually stops them

Read more
Software Supply Chain in 2026
Application Security
5 min read

Software Supply Chain in 2026

As we wrap up 2025 and begin shaping priorities for the year ahead, I see a clear shift in how software risk appears inside modern environments. It no longer arrives as a sudden incident. It shows up quietly through dependencies, build pipelines and container images. It embeds itself inside the delivery process before teams even know it is there.

Read more