Skip to content

Resolve remaining dev-tooling Dependabot alerts to clear the Security tab #1201

Closed

Description

@ffumero2003

Context

After the shipping-path fixes landed (#1200: urllib3 2.8.0, idna 3.20), the CLI's Security tab still shows 37 open Dependabot alerts, all in dev/build tooling that is not part of the shipped b2 wheel. They are pulled in only by the nox/doc/lint/bundle dependency-groups, never by the runtime dependencies (argcomplete, arrow, b2sdk, certifi, docutils, rst2ansi, tabulate, tqdm, platformdirs). None reach a user who runs pip install b2.

This issue drives the Security tab to 0 open via two mechanisms — bump what has a compatible fix, dismiss (with a documented, verified reason) what is pinned by a real constraint.

Current alerts by package

Package Alerts Source group Fixed version Fixable by bump?
virtualenv 19 nox 21.14.9 likely yes
filelock 9 nox/virtualenv 4.2.1 likely yes
starlette 5 doc (sphinx-autobuild) 1.3.1 (0.x→1.x major) only if sphinx-autobuild moves; Dependabot's own bump to 1.3.1 failed lint
anyio 2 (1 critical) doc (sphinx-autobuild) 4.14.2 likely yes
setuptools 2 lint (liccheck) + bundle 83.0.0 / 84.1.0 blocked: pinned <80 in pyproject.toml (liccheck + non-isolated Linux bundle build)

The constraints that block a clean bump

  • setuptools is pinned >=60,<80 in two places ([dependency-groups].lint for liccheck, [project.optional-dependencies]/bundle for the Linux bundle build), but both advisories require >=83. Raising the cap must be verified against liccheck and the non-isolated Linux bundle build; if either breaks, the setuptools alerts are dev-only with no compatible fix and get dismissed.
  • starlette 1.x is a major bump; Dependabot's PR to exactly 1.3.1 failed lint, so it needs sphinx-autobuild moved to a compatible version, or dismissal.

Acceptance criteria

  • Every dev-tooling alert with a compatible fix is closed by bumping the relevant group (uv lock --upgrade-package ..., and/or bumping nox/sphinx-autobuild), with pyproject.toml runtime bounds unchanged and nox -vs lint unit green.
  • go.mod/pyproject.toml runtime dependency bounds are not touched (dev groups only).
  • Any alert that genuinely cannot be fixed under the CLI's own constraints is documented here with the reason, so it can be dismissed on the Security tab as "vulnerable code not in use (dev/build tooling, not in the shipped artifact)."
  • The Security tab reads 0 open after the bumps merge and the documented-stuck ones are dismissed.

Scope / out of scope

In scope: the dev/build dependency-groups only.
Out of scope: runtime dependencies (already fixed in #1200), and any change to what the shipped b2 wheel installs.

Links

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

Metadata

Metadata

Assignees

Labels

dependenciesPull requests that update a dependency file

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions