Skip to content

ci: audit uv.lock against OSV daily - #33

Merged
CameronBrooks11 merged 1 commit into
mainfrom
ci/uv-audit
Oct 31, 2026
Merged

CameronBrooks11 merged 1 commit into
mainfrom
ci/uv-audit

Conversation

@CameronBrooks11

Copy link
Copy Markdown
Member

Adds the lockfile audit piloted in heibench/orlab#84.

Why: Dependabot alerts missed vulnerable pins in this org: certifi 2026.5.20 in gerberdiff and msgpack 1.2.1 in partspec, neither alerted. An empty alert list isn't evidence that uv.lock is clean.

What

  • just audit: uv audit --frozen --preview-features audit-command. uv's own OSV audit over every package in uv.lock, extras included, with nothing new to install.
  • .github/workflows/audit.yml: runs the same uv audit command the recipe does, as ci.yml runs its commands directly, daily, on dispatch, and on PRs touching uv.lock, pyproject.toml, the justfile or the workflow. If a scheduled or dispatched run fails, a separate issues: write job opens an audit issue, or comments on the open one. The audit job itself is contents: read.
  • Out of just check and the required ok gate on purpose: advisories arrive while nothing here changes, and in the gate one would turn every unrelated PR red.

Evidence (local)

Not verified: the file-issue path, which only runs after a failed audit. uv audit is experimental; if its interface moves, the scheduled run fails and files the issue.

Dependabot alerts missed vulnerable pins in this org (certifi in
gerberdiff, msgpack in partspec), so an empty alert list is not evidence
the lock is clean. `just audit` runs uv's `uv audit --frozen` over every
package in uv.lock, extras included; audit.yml runs the same `uv audit`
command the recipe does, as ci.yml runs its commands directly daily, on
dispatch, and on PRs touching the lock, pyproject, the justfile or the
workflow. A scheduled or dispatched failure opens or comments on one
`audit` issue. It stays out of `just check` and the required `ok` gate,
where an upstream advisory would turn every unrelated PR red. Same shape
as heibench/orlab#84.

Measured locally: exit 0 on this lock (57 packages); exit 1 on the lock
from before #32 (certifi 2026.5.20, GHSA-6q48-6c7w-9gw2).

just check: clean. just test: 487 passed, coverage 95.77%.
@CameronBrooks11
CameronBrooks11 merged commit 59e032f into main Oct 31, 2026
9 checks passed
@CameronBrooks11
CameronBrooks11 deleted the ci/uv-audit branch October 31, 2026 00:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant