Habr•July 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

Habr•Supply Chain & Open Source

Security Researcher Builds SAST Scanner for AI-Generated Code and Audits 3,800 Public Repositories

A developer released AigisSAST, a lightweight open-source static analysis tool written in pure Python with no external dependencies, specifically tuned to detect common mistakes made by AI coding assistants. The scanner was run across roughly 3,800 repositories ranging from small pet projects to popular open-source platforms. It identified thousands of potential secrets and misconfigurations, yet manual review reduced the number of genuine leaks to approximately 30 cases, mostly Telegram bot tokens, database credentials, and committed .env files. The project also examined 471 production-grade Telegram bots handling payments and VPN services, uncovering 31 repositories that exposed real credentials either in current code or in Git history. AigisSAST includes 21 detection rules, 193 regression tests, automatic remediation via the fix command, and seamless integration with GitHub Actions. The author deliberately avoided validating any discovered keys to stay within ethical research boundaries.

Habr•Supply Chain & Open Source

Vendor Responsibility in Open Source: Licensing Obligations Exposed by Sonatype Nexus Changes

The article examines how vendors building products on copyleft open source projects like Nexus Repository OSS inherit significant legal and security responsibilities under licenses such as EPL 1.0. Sonatype's February 2025 shift from regular OSS binary releases to a limited Community Edition forces downstream vendors to handle their own builds, patch porting, and compliance disclosures. This change highlights the second part of copyleft licenses that outlines obligations for distributors, including revealing modifications and assuming liability for the final product. Security implications arise because critical vulnerabilities in the upstream project must now be tracked and patched by the vendor, with delays creating measurable supply chain risks. The piece provides a practical checklist for buyers to assess licensing hygiene, SBOM availability, and vulnerability response times in any open source-based solution.

AntiMalware•Supply Chain & Open Source

PhantomSub Campaign Deploys 101 Malicious npm Packages to Hijack WhatsApp Accounts for Unauthorized Channel Subscriptions

Researchers at OX Security uncovered 101 malicious npm packages tied to the PhantomSub campaign that abuse connected WhatsApp accounts to subscribe users to promotional channels without consent. The packages disguise themselves as modified versions of the open-source Baileys library used for WhatsApp automation. Attackers rely on authenticated sessions rather than simple package installation, allowing them to control subscriptions through lists stored on GitHub, in plaintext, or as encoded identifiers. The packages have accumulated roughly 490,000 downloads, including 116,000 in the past 30 days, though the exact number of compromised accounts remains unknown. As of 28 September, npm had removed only 16 of the identified packages. The operation ultimately benefits channels selling bots, game resources, accounts, and promotion services by inflating subscriber counts while disabling notifications to hide the activity.

Habr•Supply Chain & Open Source

AI Model Hallucinations Fuel Slopsquatting Attacks on PyPI and npm Registries

Researchers identified 139 package names consistently hallucinated by five different AI models across Python and JavaScript ecosystems. Seven of these names are already registered on PyPI and npm, including one previously used to distribute malware. The attack vector, termed slopsquatting, allows attackers to register AI-suggested package names and execute code with developer privileges during installation. One package, metro-evaluator, contained malicious code removed by npm in December 2025, while another empty package css-color-stop began receiving downloads after the list was published. Real projects such as odf and lusid now occupy names that AI models recommend, causing developers to install unrelated software. Studies show hallucination rates between 4.62% and 21.7% depending on the model, with commercial models performing better than open-source ones. The findings highlight risks when AI coding agents execute dependency installation commands without human verification.