Urgent.News

What's breaking now, across thousands of outlets.

Tech

Are You Shipping a Data Warehouse or a Malware Delivery Vehicle?

Ninety-eight percent of the production container images I audit in financial services contain at least one critical vulnerability, and nearly half of those vulnerabilities have a fix available that the engineering team simply hasn't bothered to apply. It matters because when you’re pulling down a python:3.11-buster image, you aren't just getting an interpreter. You’re getting a Debian…

Recent audits of production container images in financial services reveal that 98% contain at least one critical vulnerability, with nearly half of these vulnerabilities having available fixes that teams have neglected to apply. This issue is particularly concerning in regulated environments, as it represents not only technical debt but also a liability that can result in stern emails from compliance during SOC2 audits.

The author recounts a personal experience of cleaning up a Log4j-style vulnerability that persisted due to a legacy data job pulling a bloated, unpatched base image. They urge readers to reconsider their approach to shipping container images, emphasizing the binary choice between using heavy, convenient images and embracing the friction of minimal, hardened artifacts.

Three common approaches to containerizing PySpark or Pandas workloads are discussed: using a standard distro, employing a Distroless image, or opting for an Alpine/Musl base. However, each option presents its own set of challenges. The Standard Distro approach, while familiar, adds significant security risks due to the inclusion of unnecessary components.

The Distroless approach, while highly secure, is problematic from a developer experience standpoint. The Alpine/Musl route, although lightweight, can lead to compatibility issues with data science libraries that rely on glibc.

The author highlights the hidden costs of using lighter images, such as increased startup times and higher storage costs due to bloated images. They also point out the unreliability of using Alpine due to its reliance on musl libc, which can lead to unexpected crashes when using libraries like pandas or numpy.

For production data platforms, the author recommends using a Wolfi un-distro base or a strictly controlled Debian-slim base. They advocate for multi-stage builds, SBOMs, and grype scanning to ensure security. Additionally, they suggest adopting a debug sidecar pattern to balance the need for hardened production environments with the ability to debug issues when they arise.

In conclusion, the author emphasizes the importance of treating container images as artifacts of a specific process rather than virtual machines, and stresses the need for immutable, verifiable, and minimal images to mitigate supply chain risks in finance and healthcare industries.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

More from Tuesday 8 September →