Skip to content

The security scan fails on uv.lock: certifi and pillow have advisories #827

Closed

Description

@thcp

What happens

The trivy CI job fails on uv.lock with 8 findings (2 CRITICAL, 6 HIGH). It is red on big-release itself, so it blocks every PR into it, including the 0.21.0 release PR (#784).

.trivyignore also carries entries for urllib3, anyio, fsspec and hydra-core that were deferred only because any uv.lock change sends every desktop install to a full download. Each says to drop it the next time the lock moves.

Who it affects

  • Every contributor: no PR into big-release can go green.
  • Source installs (./run.sh setup) and CI, which install from uv.lock.
  • Desktop and Docker builds install from pyproject.toml at build time, so they likely already pick up the fixed versions, but CI does not test those.

What should happen

uv.lock resolves fixed versions of certifi and Pillow, and the deferred urllib3, anyio, fsspec and hydra-core ignores are removed because the fix is taken. The scan passes without new ignores for things that can be fixed.

Constraints

  • Any uv.lock change changes the desktop runtimeId, so the in-app updater stops offering the release and every Windows and Linux desktop user does one full download. Accepted for 0.21.0.
  • torch, torchvision and torchaudio must not move. packaging/torch-versions.json and a Rust drift test pin them to what the lock resolves.
  • Pillow 13.0.0 requires Python 3.11 or later. The project still declares requires-python = ">=3.10", so the lock keeps a Pillow 12.3.0 entry for Python 3.10, and trivy reads every entry in the lock.

Activity

  1. added
    dependenciesPull requests that update a dependency file
    on Oct 21, 2026
  2. added a commit that references this issue on Oct 21, 2026
    040ee8b
  3. thcp commented on Oct 21, 2026

    @thcp
    CollaboratorAuthor

    Fixed: certifi and pillow are bumped in uv.lock, together with the urllib3, anyio, fsspec and hydra-core versions the .trivyignore was waiting on, and requires-python is now >=3.11 so Pillow 13 resolves on every supported Python. The trivy job passes again and the matching ignore entries are removed. The runtime id changes, so every desktop install does one full download for 0.21.0. On big-release (#828).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions