HabrJuly 24, 2026🇷🇺Translated from Russian

Container Image Risks: Why Skipping Verification Today Breaks Your Service Tomorrow

Nikita, technical leader of the Evolution Container Security and Addons team at Cloud.ru, outlines four common container security pitfalls that repeatedly appear in client Kubernetes environments. The post covers vulnerable dependencies, supply-chain attacks on image registries, secret leakage in layers, and CI/CD exposure points, supported by concrete incidents from production clusters.

Thin spot 1. Untracked vulnerabilities in dependencies

The most frequent issue is outdated software carrying known CVE entries combined with overly permissive configurations. Small teams often stay current because their infrastructure is simple, while large enterprises remain on old versions due to extensive custom integrations but compensate with strict access policies. Mid-sized organizations face the worst position: custom wrappers already hinder updates, yet they lack dedicated security staff or tooling to offset the risk.

A 2025 vulnerability in nvidia-container-toolkit (CVE-2025-23266) illustrates the danger. The flaw resided in OCI hooks that execute with host privileges. An attacker could embed a malicious library inside a minimal Dockerfile; after escaping the container, the attacker enumerated pods, located a service account with nodes/proxy rights, and used the kubelet port 10250 to execute commands on another node, ultimately accessing mounted secrets. The incident combined the NVIDIA component vulnerability with excessive service-account privileges. A second high-severity flaw appeared in the same component shortly afterward, reinforcing that privileged add-ons such as GPU operators and CNI plugins require patching within days rather than weeks.

Thin spot 2. Supply chain attacks: even pinned tags are not safe

The classic advice to avoid the latest tag proved insufficient when attackers compromised Aqua Security developer accounts in early 2026. They performed force pushes that reassigned more than seventy Trivy tags to malicious commits containing secret-exfiltration logic. Later, using a remaining compromised service account, they published tainted images directly to Docker Hub. Organizations pulling fresh images without cache or additional verification could have deployed the malicious versions.

Cloud.ru avoided impact through a private registry with caching and mandatory manual review plus secondary scanning before promotion. The incident demonstrated that a tag can be silently rebound to different content; the only reliable reference is the full SHA256 digest of the image manifest. Additional protection comes from Cosign signatures verified inside the cluster by Connaisseur, Kyverno, or Image Validating Admission Policies. The article also notes the gh0stEdit class of attacks that can alter unpacked layer contents while preserving manifest hashes.

Thin spot 3. Secret leakage: regex-based detection still works

Developers continue to commit private keys and hardcoded credentials that end up baked into container layers. Two real cases involved a DevOps engineer who left an SSH key in a working directory before pushing, and a tester who hardcoded credentials that survived the build pipeline. Simply overwriting the file or rebuilding a new image does not remove the secret from Git history or from previously pushed image layers; rotation of the secret itself remains the only reliable remediation.

Effective controls begin with pre-commit hooks that block commits containing obvious secret patterns locally. Subsequent layers include CI/CD scanning with tools such as Trivy and Checkov, followed by registry-level scanning provided by Evolution Container Security.

Thin spot 4. CI/CD as an attack vector

The article concludes by noting that supply-chain and secret issues ultimately converge in CI/CD pipelines. Automated verification of image signatures, continuous vulnerability monitoring, and strict service-account hygiene are required to prevent a single compromised upstream image or leaked credential from granting cluster-wide access.

Related articles

HabrSupply Chain & Open Source

Where Secrets Really End Up in Docker Images: Testing 8 Common Methods

A detailed analysis of eight different approaches for handling secrets during Docker image builds reveals that most methods leave sensitive data exposed in layers, configuration files, or build history. Experiments conducted on Ubuntu 24.04.1 LTS with Docker Engine 29.1.3 and BuildKit v0.26.2 showed that simply using RUN rm after COPY or overwriting files fails to remove secrets from immutable layers. Environment variables via ENV and build arguments via ARG both persist in image metadata and history. Only BuildKit Secrets with --mount=type=secret and multi-stage builds that avoid copying secrets into the final stage successfully prevent leakage. The study demonstrates that secrets can be extracted from saved images without running any containers. Developers are advised to adopt these two secure patterns to protect credentials in container supply chains.

AntiMalwareSupply Chain & Open Source

Mozilla Revokes GPG Signing Key After Accidental Upload to Private GitHub Repository

Mozilla has replaced the GPG key used to sign certain Firefox and Thunderbird builds following an accidental exposure of the unencrypted secret key in a private GitHub repository. The key was intended for signing Linux archives, RPM packages, and checksum files, raising theoretical risks of supply-chain attacks through forged installers. Company audits found no evidence of external misuse, as repository access was limited to a small group of employees who already held legitimate access to the key. Most users require no action, though those manually verifying GPG signatures must import the new key along with revocation data for the old one. Linux administrators installing Firefox via RPM packages on distributions such as Fedora, RHEL, Rocky Linux, AlmaLinux, openSUSE, and SUSE may need to manually update the key to avoid installation failures. Thunderbird users are unaffected by the RPM issue since no official RPM packages are released for the email client. The new key remains valid until August 5, 2028, with public details available in updated KEY files and on keys.openpgp.org.

安全客Supply Chain & Open Source

ChainDrop Malware Infects Over 1,300 npm Packages in Record Supply Chain Poisoning Campaign

Security researchers have uncovered a massive supply chain attack involving the ChainDrop malware that compromised more than 1,300 npm packages with a combined 2 billion monthly downloads. The malicious code silently steals npm tokens, GitHub credentials, and SSH keys before using stolen tokens to infect additional packages in a self-propagating loop. In a parallel incident, the Open VSX marketplace removed 77 malicious extensions that impersonated popular developer tools and harvested host and repository data. Attackers have also begun exploiting AI coding assistants through a technique called HalluSquatting, registering packages that match hallucinated names suggested by tools such as GitHub Copilot and Claude Code. The incidents highlight how modern supply chain threats now extend beyond direct dependencies to include AI-generated recommendations and automated publishing pipelines. Experts recommend strict lockfile usage, minimal token permissions, and manual verification of any package suggested by AI assistants.

HispasecSupply Chain & Open Source

Malicious VS Code Extensions Masquerading as Solidity Tools Steal Crypto Wallets, API Keys and Credentials

Two malicious Visual Studio Code extensions promoted as Solidity development utilities have been used to steal cryptocurrency wallet data from browsers along with API keys and stored credentials. The extensions, identified as helper-beeps.solidity-pro and web3devtoolsx.solidity-pro, target developers working with smart contracts and Web3 environments where sensitive tokens and sessions are commonly present. Attackers rely on the trusted VS Code marketplace to deliver the payload through a simple installation rather than any complex exploit. Once active, the extensions harvest browser-based crypto wallet information, saved credentials, environment files, SSH keys and API tokens. A single compromised workstation can therefore expose repositories, cloud services and directly drain cryptocurrency funds. Security researchers recommend immediate removal of both extensions, rotation of all accessible secrets and adoption of stricter extension allow-list policies. The incident highlights ongoing supply-chain risks in developer tooling ecosystems.