You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remove pip-audit ignore for nltk PYSEC-2026-3740 once a fixed release ships #520
CI's pip-audit step ignores nltk advisory PYSEC-2026-3740 (aliases: CVE-2026-81726, GHSA-8mgp-746c-j5xp). nltk is pulled in by the rouge extra, added in #506. There is no fixed nltk release yet (latest is 3.10.3), so the audit can't be cleared by bumping the pin.
Why the ignore is safe
According to the OSV record, the advisory is a path traversal in nltk's model-artifact APIs: TransitionParser, AveragedPerceptron, PerceptronTagger, and maxent parameter APIs. It only applies when nltk's pathsec sandbox is enabled.
This repo doesn't call any of those APIs. It uses:
nltk.sent_tokenize in RougeScorer (src/inference_endpoint/evaluation/scoring.py)
rouge_score's Porter stemmer, reached through evaluate.load("rouge")
Switching to pysbd for sentence splitting wouldn't remove the dependency, because rouge_score itself requires nltk.
To do when a fix ships
Upstream fix: nltk/nltk#3753. When a fixed nltk release is published, or the advisory data is corrected (OSV's range currently says fixed: 3.10.3, but its description says "through 3.10.3"):
Bump the nltk pin in the rouge extra (pyproject.toml) and run uv lock
Remove --ignore-vuln PYSEC-2026-3740 from .github/workflows/test.yml
Remove the matching notes in docs/DEVELOPMENT.md and AGENTS.md
Confirm that uv run pip-audit passes with no ignores
Activity
chore(ci): ignore nltk PYSEC-2026-3740 in pip-audit
feat(deps): add rouge extra for ROUGE scoring deps (#506)