Repository navigation
ci(locks): bump virtualenv for CVE-2026-113722 - #152
Conversation
pip-audit flags virtualenv 21.14.7 in the tools lock; the fix is 21.14.9. The release is under the 7-day cooldown, so virtualenv gets the same per-package exemption as certifi and uv. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #152 +/- ##
==========================================
+ Coverage 91.40% 91.41% +0.01%
==========================================
Files 216 216
Lines 26741 26741
Branches 4377 4377
==========================================
+ Hits 24442 24446 +4
+ Misses 1635 1632 -3
+ Partials 664 663 -1 🚀 New features to boost your workflow:
|
Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
|
@exai-bot /review |
exai-bot
left a comment
There was a problem hiding this comment.
Note
AI-generated review of bc23be4f275f, requested by @vchamarthi, using the default review skill. It can be wrong: verify a finding before acting on it. React with a thumbs up or down on a finding to tell the bot whether it helped.
Model us.anthropic.claude-sonnet-5-5, effort default, 7 of 93 turns, 0.3 of 48 minutes, 63k in / 2k out tokens.
This bumps virtualenv in the hashed tools lock from 21.14.7 to 21.14.12 to clear the pip-audit finding. It adds --exclude-newer-package=virtualenv=false to the lock's header command and updates the exemption-set test to match. The change is small and consistent: the header, the test and the pin agree, and virtualenv appears in no other lock, so the stacked-lock drift tests are unaffected. All checks passed, including pip-audit (locks). I could not independently verify the new hashes.
1 finding is on the changed lines, as comments below.
| @@ -1,5 +1,5 @@ | |||
| # This file was autogenerated by uv via the following command: | |||
| # uv pip compile requirements-ci.txt --constraint=requirements.lock.txt --universal --python-version=3.11 --exclude-newer=P7D --exclude-newer-package=certifi=false --exclude-newer-package=uv=false --generate-hashes --output-file=requirements-ci.lock.txt | |||
| # uv pip compile requirements-ci.txt --constraint=requirements.lock.txt --universal --python-version=3.11 --exclude-newer=P7D --exclude-newer-package=certifi=false --exclude-newer-package=uv=false --exclude-newer-package=virtualenv=false --generate-hashes --output-file=requirements-ci.lock.txt | |||
There was a problem hiding this comment.
Minor (plausible, maintainability): virtualenv cooldown exemption is permanent and not tied to a removal condition
- Problem:
virtualenvis a transitive dependency (via pre-commit) with no exact pin inrequirements-ci.txt. With--exclude-newer-package=virtualenv=falsein the header, every later--upgraderefresh can take a virtualenv release younger than 7 days, with no review of that release. - Why it matters: the PR text says to drop the exemption later, but nothing enforces it.
test_tools_lock_exempts_only_pins_younger_than_the_cooldownnow asserts the exemption is present, so removing it means editing the test too. - Evidence:
dokimi/tests/test_dependency_locks.py:176-183.
Suggested fix:
Track removal of the exemption in an issue. Alternatively, once the cooldown window has passed for 21.14.12, regenerate the lock without the exemption, since 21.14.12 would then satisfy P7D.
There was a problem hiding this comment.
Agreed, it should not stay. virtualenv 21.14.12 was uploaded 2026-10-21T01:58Z, so it clears P7D on 2026-10-28. After that I will regenerate the lock without --exclude-newer-package=virtualenv=false and drop it from test_tools_lock_exempts_only_pins_younger_than_the_cooldown. That will be a follow-up PR, because without the exemption the lock cannot resolve to a fixed version today.
|
Summary
Bumps
virtualenvin the hashed tools lock so pip-audit passes again.Evidence
Before: the
lockspip-audit job fails on main's lock (seen on #120):virtualenv 21.14.7 CVE-2026-113722.After: the lock is regenerated with the command in its header, and only the virtualenv pin and the header line change.
Merge Danger
Door: two-way. This is a one-package bump in a lock used only by CI tools.
Blast Radius: CI only. The exemption skips the 7-day cooldown for virtualenv; drop it once Renovate's next bump is past the window.
🤖 Generated with Claude Code