HabrJuly 24, 2026🇷🇺Translated from Russian

Should Python Libraries Raise Minimum Dependency Versions to Block Vulnerable Releases?

Seth Larson of the Python Software Foundation has advised against automatically raising the minimum version of a dependency in a library’s metadata when a vulnerability is found. He argues that such metadata should describe only compatibility, leaving security control of the final build to the application.

The discussion began after a proposed pull request for an example library changed its urllib3 requirement from urllib3>=2 to urllib3>=2.6.3 following disclosure of a vulnerability affecting versions up to 2.6.2. Larson maintains that dependency ranges exist to express compatibility, not to enforce security fixes that the library does not ship itself.

According to the article, adopting this practice at scale would create unsustainable workload. More than 10,000 packages on the Python Package Index list urllib3 as a direct dependency. Similar numbers apply to numpy (approximately 80,000 dependents), requests (72,000), and pandas (55,000). Releasing new versions of every affected project after each published CVE would be impractical.

The recommended approach places responsibility on application owners. They should maintain a lockfile (requirements.txt with hashes, pylock.toml, or uv.lock) that records exact versions used in a build. Tools such as pip-audit or composition analysis solutions can then compare the resolved dependency graph against known vulnerabilities.

Exceptions are acknowledged. When a security fix removes functionality or breaks backward compatibility, adjusting the allowed range may be justified. Likewise, if an existing constraint prevents users from reaching a patched version, maintainers should consider widening or shifting the range to enable the secure update.

CodeScoring concludes that version bounds may reflect security requirements, yet they do not replace proper vulnerability management of the final product. Maintainers should publish affected and fixed version data, verify compatibility, and avoid blocking users from safe versions, while application owners retain control over the concrete dependency tree.

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.