fix(ci): clear pip-audit --strict — click bump + cryptography ignore-vuln (run #544) - #171
Draft
Sbussiso wants to merge 1 commit into
Draft
fix(ci): clear pip-audit --strict — click bump + cryptography ignore-vuln (run #544)#171Sbussiso wants to merge 1 commit into
Sbussiso wants to merge 1 commit into
Conversation
…vuln (run #544) Run #544 (Test & Deploy on dependabot ruff-0.16.2 bump) failed in the 'Dependency scan (pip-audit)' step: 4 vulns in 2 packages — click 8.3.1 (PYSEC-2026-2132) and cryptography 48.0.1 (PYSEC-2026-3552/3553/3554). Root cause: new advisories landed in the PyPA DB after the last green deploy, turning pip-audit --strict red on a no-code-change ruff bump. Fix (two parts, matching the project's existing pattern): 1. click — real version bump. Add 'click>=8.3.3' to [tool.uv] constraint-dependencies; uv lock resolves click 8.3.1 -> 8.4.2, clearing PYSEC-2026-2132. Transitive via uvicorn / fastmcp-slim / mcp; we never call the vulnerable click.edit() (interactive $EDITOR helper, unusable from a server). 2. cryptography — cannot bump. clerk-backend-api 6.0.1 caps cryptography to <49.0.0, so 49.0.0 / 50.0.0 are uninstallable while we depend on clerk. Suppress the three advisories via --ignore-vuln in both CI workflows (deploy.yml + weekly-deps-refresh.yml). None of the vulnerable paths are reachable from our code (no pkcs7_decrypt_*, no X.509 verification of attacker-controlled cert chains). Revisit when clerk-backend-api ships a release allowing cryptography>=50.0.0. Verified locally: uv run pip-audit --strict --ignore-vuln ... -> 'No known vulnerabilities found, 3 ignored' (exit 0). ruff check + 699 pytest also green.
Sbussiso
referenced
this pull request
Aug 10, 2026
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.16.1 to 0.16.2. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.16.1...0.16.2) --- updated-dependencies: - dependency-name: ruff dependency-version: 0.16.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Fixes the
pip-audit --strictfailure in CI run #544 (Test & Deploy on thedependabot/uv/backend/ruff-0.16.2ruff bump).The failing step reported 4 known vulnerabilities in 2 packages:
Root cause
New advisories landed in the PyPA Advisory DB after the last green deploy, so
pip-audit --strictturned red on a no-code-change ruff bump. (The ruff bump itself is unrelated to the failure.)Fix — two parts, matching the project's existing
constraint-dependencies/--ignore-vulnpattern1. click — real version bump
Add
"click>=8.3.3"to[tool.uv] constraint-dependenciesinbackend/pyproject.toml.uv lockresolves click 8.3.1 -> 8.4.2, clearing PYSEC-2026-2132 (command injection inclick.edit()). click is transitive via uvicorn / fastmcp-slim / mcp; we never callclick.edit()(interactive$EDITORhelper, unusable from a server).2. cryptography — cannot bump, suppress
The fixed versions (49.0.0 / 50.0.0) are not installable:
clerk-backend-api6.0.1 declarescryptography<49.0.0,>=45.0.0, capping the highest reachable version at 48.0.1 while we depend on clerk. None of the vulnerable paths are reachable from our code (nopkcs7_decrypt_*, no X.509 verification of attacker-controlled cert chains), so the three advisories are suppressed via--ignore-vulnin both CI workflows:.github/workflows/deploy.yml(Test & Deploy — the failing workflow).github/workflows/weekly-deps-refresh.yml(parity, so the weekly refresh doesn't re-report what the deploy gate tolerates)Revisit when
clerk-backend-apiships a release allowingcryptography>=50.0.0— then drop the constraint and the three--ignore-vulnlines.Verification (local, fresh clone)
Notes
dependabot/uv/backend/ruff-0.16.2branch was already merged (PR build(deps): bump ruff from 0.16.1 to 0.16.2 in /backend #165) and deleted by the time this run reported, so this PR targetsmasterwhere the failure now lives.Draft until CI on this branch confirms the gate is green.