Repository navigation
chore(ci): pip-audit allows only filelock advisories that need filelock 4.x - #762
Merged
Merged
Conversation
…xed yet pip-audit started failing on 2026-10-29 with four new filelock advisories (CVE-2026-112909, -112910, -112936, -112938), fixed only in filelock 4.x. As for the three already ignored, filelock>=4.2.1 cannot resolve while litellm (a base dependency; 1.106.6 is the latest) declares filelock<4.0 (BerriAI/litellm#48394). -112936 (ReadWriteLock) and -112938 (StrictSoftFileLock) are in APIs nothing in the closure uses, the grounds the first three were ignored on. -112909 (Unix FileLock) and -112910 (Windows FileLock) are reachable through the plain FileLock pip, huggingface_hub, litellm and safety take, and are accepted on different grounds: both need a second local user able to rename or hard-link files in the lock's directory. Founder decision 2026-10-29; the step's comment records both reasons, and any other filelock CVE still fails the gate.
… a list of IDs Six more filelock advisories were published hours after the four this branch first ignored by ID (13 since 2026-10-26, all fixed only in 4.x, which litellm's filelock<4.0 cap blocks). The step now runs pip-audit with JSON output and fails on everything except a filelock 3.x advisory whose only fix is >= 4.0, which is printed as a warning. Any other package, a filelock advisory fixable within 3.x or with no fix listed, and a pip-audit run that errors still fail. Founder decision 2026-10-29; remove the allowance when litellm lifts the cap (BerriAI/litellm#48394).
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.
pip-audit (the Security Scan job) has failed on every new run since 2026-10-29: filelock published advisories in waves — 13 since 2026-10-26, 10 of them today — all fixed only in filelock 4.x (4.0.9 / 4.2.1). That fix cannot resolve here: litellm, a base dependency, still declares
filelock<4.0in its latest release (1.106.6, checked against the PyPI JSON API); upstream tracker BerriAI/litellm#48394.Ignoring them by ID (the first version of this PR, and the three IDs ignored on 2026-10-26) chased a moving target. Founder decision 2026-10-29: allow only what the cap makes unfixable.
What changed
The step runs
pip-audit --desc --format jsonand a small inline filter:::warning::with the litellm note;The comment records what the filelock advisories touch: ReadWriteLock and StrictSoftFileLock are used by nothing in the closure; the plain FileLock (pip/cachecontrol, huggingface_hub, litellm, safety, mypy) and SoftFileLock (huggingface_hub's fallback) are, with lock files in the running user's own caches, and all need a second local user (AV:L).
fluid_buildnever imports filelock. Remove the allowance when litellm lifts the cap (the re-check command is in the comment).Validation
actionlint: clean.pip-audit -r <filelock==3.32.7> --format jsonreport: 13 advisories, all allowed, exit 0. The JSON keys the filter reads (dependencies[].name/version/vulns[].id/fix_versions) are pip-audit's.Documentation