chore(security): clear 12 advisories in langchain/uv.lock (h11, idna, orjson, requests, urllib3, pytest) - #10
Conversation
… langchain/uv.lock Lockfile-only scoped regeneration (uv lock --upgrade-package ...) clearing 12 advisories found by a local pip-audit run. No pyproject.toml constraint changes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI triage: both red checks are pre-existing and unrelated to this changeCI is red, but neither failure is caused by anything in this PR. Both reproduce with the dependency versions this branch does not touch, and both hit PR #10 and PR #11 identically. Evidence below so a reviewer does not have to re-derive it. 1.
|
Security: 12 advisories cleared in
langchain/uv.lock(lockfile-only)Why this is a hand-authored branch, not a Dependabot PR
Dependabot alerts are not running on this repo.
GET /repos/vectorize-io/integrations-python/dependabot/alertsreturns HTTP 200 with an empty array for every state (open,fixed,dismissed,auto_dismissed) despite a committedlangchain/uv.lock— i.e. the repo has never been scanned. There are therefore no alert numbers to reference; the advisory set below came from a local audit:Baseline (
main, py3.13 resolution): 23 findings across 8 packages.Changes —
langchain/uv.lockonlypyproject.tomlis not modified. Every bump is a scoped lock regeneration:The lock resolves two legs because
requires-python = ">=3.9", so two versions appear for some packages:Two supporting bumps carry no advisory of their own:
h11<0.15, which pinned h11 at 0.14.0; h11 could not move without it.What this does NOT fix
langchain-core(6 advisories) andlangsmith(3) are deliberately excluded — clearing them requires langchain-core 1.x, a major bump of this package's primary dependency that pulls in 13 new transitive packages. It is proposed separately so it can be reviewed on its own merits.Residual on the Python 3.9 leg (
requires-python = ">=3.9"caps what is installable, because every fix below dropped 3.9):Note honestly: GHSA-mf9v-mfxr-j63j is newly introduced on the 3.9 leg — it was introduced in urllib3 2.6.0 and fixed in 2.7.0, and 2.6.3 is the newest urllib3 that still supports 3.9. Net for the 3.9 leg is still strongly positive (8 cleared, 1 introduced); on py3.10-3.13 all 12 are cleared with nothing introduced.
Verification (run locally on both ends of the CI matrix)
Commands derived from
.github/workflows/python_test.ymlandlint.yml, run underlangchain/on Python 3.9 and 3.13:uv sync --devuv run ruff format --checkuv run ruff checkuv run mypy .uv run pytest tests(collection)uv run pytest tests(execution)tests/test_retrievers.pyis a live integration suite: its session fixture raisesValueError: Please set the VECTORIZE_TOKEN environment variable. This fails identically on unmodifiedmain— it is environmental, not a regression from this change. Actual execution is what this PR's own CI run provides, which is the reason for opening a hand-authored branch at all (Dependabot's branches do not receive repository secrets).Post-change audit: py3.13 leg 23 -> 9 findings, py3.9 leg 23 -> 11; every remaining finding is langchain-core/langsmith or a 3.9-cap listed above.
Opened by the daily security sweep. Not to be merged automatically - please review.