Repository navigation
Open
2 / 62 of 6 issues completedLabels
area:uv-auditRelated to uv audit functionalityRelated to uv audit functionalitytrackingA "meta" issue that tracks completion of a bigger task via a list of smaller scoped issues.A "meta" issue that tracks completion of a bigger task via a list of smaller scoped issues.
Description
This is a roadmap/tracking issue for uv audit, including both MVP and post-MVP tracks.
For previous context, see #9189 and #18119.
MVP tasks
- Core CLI scaffolding (this PR)
- Audit core (probably a new
uv-auditcrate): Add auv-auditcrate #18124 - Bulk dependency audits with OSV: Switch to batched OSV queries for
uv audit#18394- Concurrency controls for bulk fetches should honor the user's CLI settings Plumb top-level concurrency into
uv audit#18407
- Concurrency controls for bulk fetches should honor the user's CLI settings Plumb top-level concurrency into
- Result presentation
- Workspace members should not be audited: Filter down to auditable packages #18322
- Groups, extras, etc. should be filtered correctly: Evaluate extras and groups when determining auditable packages #18511
-
uv auditshould exit with non-zero when there are findings: Exit with nonzero on audit findings #18512 - Unhide
uv audit: Unhideuv audit#18540 - Add
--service-formatand--service-urltouv audit#18571 - Integration tests: Integration tests for
uv audit#18673
Post-MVP tasks
- Support for
pylock.toml(ref Support passingpylock.tomlfiles intouv audit#18422) - Support for (locked, hashed)
requirements.txt - Support for machine-readable output formats (e.g. JSON)
- uv audit: JSON output #19305
- SARIF output on uv audit #19660 -- Support SARIF as a
uv auditoutput #19872 -
Support--output-format osv?
-
--fixmode - "Adverse status" reporting per Support for PEP 792 #15254
- Support for other vulnerability DB sources (e.g. PyPI/PYSEC, ecosyste.ms, others?)
- Flag yanked distributions
- Support ignoring vulnerabilities via CLI and config: uv audit:
--ignoreand--ignore-until-fixed#18737 - Ignoring a nonexistent vulnerability should cause a warning: uv audit: add context/warnings for ignored vulnerabilities #18905
- Cache OSV responses: Cache positive OSV hits #19038
Reacted by HenriBlacksmith, 93578237, Owen Lamont, Roman Zydyk, Dmitrij Shishkin, Matthias, Yuseong, Andy, Oscar, Garben Tanghe and 34 more
Metadata
Metadata
Assignees
Labels
area:uv-auditRelated to uv audit functionalityRelated to uv audit functionalitytrackingA "meta" issue that tracks completion of a bigger task via a list of smaller scoped issues.A "meta" issue that tracks completion of a bigger task via a list of smaller scoped issues.
Activity
Unhide `uv audit` (#18540)
Add `--service-format` and `--service-url` to `uv audit` (#18571)
fniessink commentedon Mar 25, 2026
Will there be an option to ignore specific vulnerabilities, like the
--ignore-vulnoption of pip-audit?andrew-monroe commentedon Mar 25, 2026
woodruffw commentedon Mar 25, 2026
mattjreynolds commentedon Mar 25, 2026
pysentry has a nice option you should consider:
--ignore-while-no-fixwhich lets you ignore a specific vulnerability until there is a fix available, at which point it will start flagging it as an issue again.Evaluate extras and groups when determining auditable packages (#18511)
MatthewCane commentedon Mar 27, 2026
I would love to incorporate
uv auditinto my CI pipelines but there two features that I think would make this a drop-in solution:--ignore-while-no-fixflag--fail-on-detectionThese two would make it an easy addition to any CI pipeline.
woodruffw commentedon Mar 27, 2026
MatthewCane commentedon Mar 27, 2026
adamchainz commentedon Mar 28, 2026
david-waterworth commentedon Mar 29, 2026
I found uv audit this week - really happy it's being added to uv. The reason I went looking was the well publicised supply chain attacks. What I'm trying to do is ensure a) none of our internal repos are using vulnerable / malicious packages (which uv audit directly targets) but secondly I'm trying to ensure that malicious packages are not added by a user or agent via uv add (correct me if I'm wrong but uv audit doesn't directly target this vector - uv add updates the lock file and installs the package by default - at which point it's too late if the package installer contains a Trojan, and finally I'm trying to prevent agents installing malicious packages directly into an venv on-the-fly (ie using uv pip install)
Would be great if uv could address these cases. What I've done so far is use uv audit with pre-commit, and add Claude code Bash hooks that (using regex) prevent uv add (only allow uv add --no-sync, then auto run uv audit). Still not sure what to do about agents that run uv pip install
Given that I'm not a security expert it would be great if the tooling had option to harden against these attacks - esp given "agentic workflows" where agents might be the uv user.
64 remaining items
woodruffw commentedon Sep 30, 2026
Ah, I forgot
--offlineis a global flag. It's not really disable-able here given that, but maybe I can produce a more useful warning or error message. I'll see.#22114 will address this.
aureliesalmon commentedon Oct 16, 2026
@woodruffw would an option to not audit specific packages be considered for the MVP ?
I currently work for an administration: for security purposes, we don't want internal package names to be leaked to the outside world.
But money is tight so using pip-audit/uv audit is all we can afford in early CI steps.
For our purpose, we can sort the packages by which index is used, or maybe by name/name prefix.
I played with a custom dependency group ('internal'), but we then have to do light shenanigans to build a wheel with the correct dependencies.
It works, but i would prefer waiting for this feature over switching n data teams to a "complex" process some would struggle to understand.
If this is not the correct track i can create a specific issue on the subject, and of course thank you the incredible work on uv.
woodruffw commentedon Oct 16, 2026
Hi @aureliesalmon, thanks for the kind words. Making sure I understand: are you envisioning some kind of per-project ignore for audit lookups (where we'd exclude the package name from being sent to OSV at all), or something more general like only auditing packages that are locked with
pypi.orgas their origin?(The latter is close to what we do for uv's malware checks, but it might not work as well in an auditing context since it would make
uv auditless useful to people who are mirroring PyPI on their own internal registry.)aureliesalmon commentedon Oct 19, 2026
Hello @woodruff, my apologies for the delay. I was envisioning the latter: do not inspect packages with this index as origin.
And yes, it would need to be careful, we are part of the people who are mirroring PyPI on their own internal registry.
For instance:
But i acknowledge that the implementation is harder, and maybe doesn't cover all edge cases. We do not have a lot of internal dependencies, so an ignore by package name/regex would also work for us :
woodruffw commentedon Oct 19, 2026
I'll need to think about it a bit, but I think we could probably support excluding entire indices. But does that mean you're using both PyPI and an internal index, rather than mirroring PyPI onto your internal index?
aureliesalmon commentedon Oct 22, 2026
Yes in my current organization the policy is to use:
It is inherited from a long Java/Maven/Nexus tradition, and applied to the Python ecosystem without much thought.
feat(github-issues): linked issues expand, collapse, and show type an…
feat(github-issues): linked issues expand, collapse, and show type an…
feat(github-issues): linked issues expand, collapse, and show type an…
feat(github-issues): linked issues expand, collapse, and show type an…
feat(github-issues): linked issues expand, collapse, and show type an…
feat(github-issues): linked issues expand, collapse, and show type an…
feat(github-issues): linked issues expand, collapse, and show type an…
feat(github-issues): linked issues expand, collapse, and show type an…