Skip to content

chore(ci): fix the pip-audit gate — certifi floor and filelock CVE ignores - #486

Merged
CryptoJones merged 1 commit into
mainfrom
chore/ci-pip-audit-certifi-filelock
Oct 27, 2026
Merged

CryptoJones merged 1 commit into
mainfrom
chore/ci-pip-audit-certifi-filelock

Conversation

@CryptoJones

Copy link
Copy Markdown
Owner

Red on ci was the pip-audit gate, not code — two distinct dependency advisories:

certifi (PYSEC-2026-4320)

Some matrix legs resolved certifi to the vulnerable 2026.7.22; the fix (2026.10.19) is on PyPI. Floored to certifi>=2026.10.19,<2027 next to the existing runtime-transitive floors (cryptography / pydantic-settings / starlette) so resolution is deterministic everywhere pip-audit looks. uv.lock refreshed (certifi 2026.10.23).

filelock (six CVEs, unfixable on the 3.10 legs)

filelock is not an omind dependency — pip-audit pulls it for its own cachecontrol filecache (omind ships its own omind/filelock.py shim). Its fix, 4.2.1, requires Python >=3.11, so the 3.10 matrix legs (ubuntu/windows/macos) can never install a fixed version. pip-audit 2.10 has no package-level skip, so the six CVE IDs are --ignore-vuln-ed in the workflow with the reason stated in a comment. On 3.11+ legs the ignores are no-ops (pip resolves 4.2.x there).

Verification

  • Fresh venv installed exactly like CI (pip install -e .[dev]): pip-audit with the ignores exits 0 — "No known vulnerabilities found".
  • ruff check . clean; mypy src (--strict) clean.
  • pytest: 3956 passed; the two test_name_timelines.py::test_preflight_names_the_ranked_note_not_a_newer_decoy[notes1-…] failures are pre-existing (reproduce identically on clean main) and unrelated.

This unblocks #485, whose CI was red on the same audit.

Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/

🤖 Generated with Claude Code

…nores

The ci workflow's pip-audit step went red on two dependency advisories,
neither caused by any code change:

- certifi resolved to the vulnerable 2026.7.22 on some matrix legs
  (PYSEC-2026-4320, fixed in 2026.10.19). Floored to >=2026.10.19 next to
  the existing runtime-transitive floors so resolution is deterministic.
- filelock 4.1.0 carries six CVEs whose fix (4.2.1) requires Python
  >=3.11, unreachable on the 3.10 legs. filelock is not an omind
  dependency at all — pip-audit pulls it for its own cachecontrol
  filecache — so the six CVE IDs are --ignore-vuln-ed in the workflow
  (pip-audit 2.10 has no package-level skip).

Verified in a fresh venv installed exactly like CI: pip-audit exits 0.
ruff check and mypy --strict clean; pytest 3956 passed with the two
pre-existing test_name_timelines failures that also fail on clean main.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 13 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 0ba7ebac-a1fd-4a77-940d-3d5405f48e72
Commits

Reviewing files that changed from the base of the PR and between bb12294 and 4ca3437.

Files ignored due to path filters: 1
  • uv.lock is excluded by !**/*.lock
Files selected for processing: 3
  • .github/workflows/test.yml
  • CHANGELOG.md
  • pyproject.toml
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@CryptoJones
CryptoJones merged commit 5bbf925 into main Oct 27, 2026
23 checks passed
CryptoJones added a commit that referenced this pull request Oct 27, 2026
# Conflicts:
#	CHANGELOG.md
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