Skip to content

fix(deps): patch Dependabot security alerts - #233

Merged
abrichr merged 1 commit into
mainfrom
fix/dependabot-2026-10-14
Oct 14, 2026
Merged

abrichr merged 1 commit into
mainfrom
fix/dependabot-2026-10-14

Conversation

@abrichr

@abrichr abrichr commented Oct 14, 2026

Copy link
Copy Markdown
Member

Fixes all five open Dependabot alerts on uv.lock.

Alert Package Advisory Severity From To
#12 anyio (transitive) GHSA-82r6-8w77-94w6: TLSStream IDNA 2003 host name encoding critical 4.12.1 4.14.2
#11 anyio (transitive) GHSA-5p39-cfhj-2xmp: process-pool workers can block on undrained stderr medium 4.12.1 4.14.2
#15 urllib3 (direct) GHSA-8988-9cw3-xx77: HTTPS proxy TLS configuration may be ignored high 2.7.0 2.8.0
#14 urllib3 (direct) GHSA-vxq7-64xx-v4gw: unbounded chunk-size line buffered into memory high 2.7.0 2.8.0
#13 urllib3 (direct) GHSA-gh4c-6fx4-qh6g: chunked Deflate streaming can loop forever medium 2.7.0 2.8.0

Changes

  • uv.lock: only urllib3 and anyio change, each to its first patched release (uv lock -P urllib3==2.8.0 -P anyio==4.14.2). A plain --upgrade-package anyio selects 4.15.1, which also pulls a newer typing-extensions, so the lock names the exact versions.
  • pyproject.toml: the urllib3 security floor goes from >=2.7.0 to >=2.8.0, so a later relock can't fall back.
  • AnyIO comes in only through the dev and llm extras (httpx, anthropic). It gets no new declared dependency or override, because the lock upgrade is enough.
  • tests/test_locked_security_floors.py (new): fails if the lock pins either package below its patched release, or if the urllib3 floor drops below 2.8.0.

No open Dependabot PR covered these alerts. The open Dependabot PRs (#224, #225, #226, #231) bump GitHub Actions only. This PR doesn't touch pyproject.toml or uv.lock lines that #232 changes.

Verification

  • uv sync --locked --extra dev --extra llm installs urllib3 2.8.0 and anyio 4.14.2.
  • uv run pytest tests/ -q: 519 passed, 1 skipped.
  • uv run python scripts/validate_docs.py: passed.
  • uv run python scripts/check_published_version_claims.py --offline: passed.
  • uv run mkdocs build --strict: built.
  • pip-audit --require-hashes on uv export --frozen --all-extras: no known vulnerabilities found.
  • ruff check --target-version py312 and ruff format --check on the new test: clean. The repo has no ruff config or lint job.

🤖 Generated with Claude Code

Dependabot has five open alerts against uv.lock:

- urllib3 2.7.0: GHSA-8988-9cw3-xx77 (high), GHSA-vxq7-64xx-v4gw
  (high), GHSA-gh4c-6fx4-qh6g (medium). Fixed in 2.8.0.
- anyio 4.12.1: GHSA-82r6-8w77-94w6 (critical), GHSA-5p39-cfhj-2xmp
  (medium). Fixed in 4.14.2.

Relock only those two packages, each to its first patched release. A
plain `--upgrade-package anyio` picks 4.15.1, which also pulls a newer
typing-extensions, so the lock names the exact versions to keep the diff
to the two packages.

urllib3 is a declared dependency, so raise its floor in pyproject.toml
to 2.8.0. AnyIO comes in only through the dev and llm extras (httpx,
anthropic), so it gets no new declared dependency. A new test fails if
the lock falls below either patched release or the urllib3 floor drops
below 2.8.0.

Signed-off-by: abrichr <richard.abrich@mldsai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@abrichr
abrichr merged commit 0e9a589 into main Oct 14, 2026
6 checks passed
@abrichr
abrichr deleted the fix/dependabot-2026-10-14 branch October 14, 2026 16:53
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