Skip to content

fix(deps): resolve dependabot security alerts in integration lockfiles - #803

Merged
Abhijeet Prasad (AbhiPrasad) merged 1 commit into
mainfrom
fix/dependabot-security-alerts
Sep 24, 2026
Merged

Abhijeet Prasad (AbhiPrasad) merged 1 commit into
mainfrom
fix/dependabot-security-alerts

Conversation

@AbhiPrasad

@AbhiPrasad Abhijeet Prasad (AbhiPrasad) commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Summary

Clears six open Dependabot security advisories by bumping anyio, cryptography and idna in the two deprecated integration compatibility packages. Both lockfiles had drifted behind py/uv.lock, which already carried patched versions of all three.

Package integrations/adk-py integrations/langchain-py
anyio 4.13.0 → 4.14.2 4.13.0 → 4.14.2
cryptography 48.0.1 → 50.0.1 49.0.0 → 50.0.1
idna 3.13 → 3.20 3.13 → 3.20
pyopenssl 26.2.0 → 26.4.0 —

pyopenssl moves only because cryptography 50 requires it.

Advisories cleared

Advisory Severity Package Issue
GHSA-82r6-8w77-94w6 Critical anyio TLSStream IDNA 2003 host name encoding enables TLS certificate spoofing
GHSA-g6cj-pr64-35w5 High cryptography PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle
GHSA-jwv3-5hgf-82ww High cryptography Duplicate self-signed intermediates cause exponential path-building
GHSA-5p39-cfhj-2xmp Moderate anyio Process-pool workers block indefinitely on undrained stderr
GHSA-m2h6-j472-rp4c Moderate cryptography Verifier accepts wildcard DNS names, escaping permittedSubtrees
GHSA-65pc-fj4g-8rjx Moderate idna Crafted input to idna.encode() bypasses the CVE-2024-3651 fix

Approach

Used targeted uv lock --upgrade-package anyio --upgrade-package cryptography --upgrade-package idna in each package directory rather than a full re-lock, so the diff is limited to the four packages above.

Validation

Re-audited both lockfiles against OSV after the bumps — both scan clean, 0 known vulnerabilities.

Ran the exact CI step list from adk-py-test.yaml and langchain-py-test.yaml for each package (uv sync, ruff check, pytest, import smoke test). All green:

  • integrations/adk-py — ruff clean, src/tests/test_reexports.py 2 passed, braintrust_adk / setup_braintrust import OK
  • integrations/langchain-py — ruff clean, src/tests 2 passed, braintrust_langchain / BraintrustCallbackHandler import OK

Not fixed — no patched release exists upstream

Two advisories in py/uv.lock have no fixed version available, so there is nothing to bump to:

  • diskcache 5.6.3 — GHSA-w8v5-vhqr-4h9v (Moderate), unsafe pickle deserialization. 5.6.3 is the latest release on PyPI, from 2023.
  • nltk 3.10.3 — GHSA-8mgp-746c-j5xp (High), model-artifact APIs bypass path security. 3.10.3 is the latest release and is marked last_affected.

Both are transitive dev-only dependencies of the lint dependency group (via dspy and llama-index-core respectively). Neither is a runtime dependency of the published braintrust package.

Options, if you want them off the alert list: dismiss them in the Dependabot UI as "no fix available", or drop dspy / llama-index-core from the shared lint group the way crewai already is (see the existing precedent comment in py/pyproject.toml). Left alone here to avoid changing lint coverage unprompted.

Note on how these were found

The gh token available in this environment lacks vulnerability_alerts=read, so the alert list could not be read directly — the REST endpoint returns 403, and the GraphQL vulnerabilityAlerts fallback silently returns totalCount: 0 rather than erroring. The findings above were reproduced by parsing all three tracked lockfiles and querying the OSV API, which mirrors the same GHSA identifiers Dependabot uses.

The push that created this branch surfaced GitHub's own count for the default branch: 4 vulnerabilities (2 critical, 2 moderate). That matches anyio 4.13.0 exactly — it carries one critical (GHSA-82r6-8w77-94w6) and one moderate (GHSA-5p39-cfhj-2xmp) advisory, and it is pinned at 4.13.0 in both integration lockfiles: 2 x critical + 2 x moderate = 4. On that reading, this PR clears all four open alerts.

The cryptography and idna bumps are then additional hardening that OSV flags but Dependabot is not currently alerting on. They cost nothing here, since both packages had already advanced past these advisories in py/uv.lock.

Since the alert list could not be read directly, please sanity-check the above against the real Dependabot page when reviewing.

🤖 Generated with Claude Code

Co-authored by StarfolkAI (@starfolkai)[bot]

Targeted security bumps in the two deprecated integration compatibility
packages, whose lockfiles had drifted behind `py/uv.lock`:

integrations/adk-py/uv.lock
  anyio        4.13.0 -> 4.14.2
  cryptography 48.0.1 -> 50.0.1
  idna         3.13   -> 3.20
  pyopenssl    26.2.0 -> 26.4.0  (required by cryptography 50)

integrations/langchain-py/uv.lock
  anyio        4.13.0 -> 4.14.2
  cryptography 49.0.0 -> 50.0.1
  idna         3.13   -> 3.20

Advisories cleared:
  GHSA-82r6-8w77-94w6  CRITICAL  anyio: TLSStream IDNA 2003 host name
                                 encoding enables TLS certificate spoofing
  GHSA-5p39-cfhj-2xmp  MODERATE  anyio: process-pool workers can block
                                 indefinitely on undrained stderr
  GHSA-g6cj-pr64-35w5  HIGH      cryptography: PKCS#7 EnvelopedData
                                 Bleichenbacher oracle
  GHSA-jwv3-5hgf-82ww  HIGH      cryptography: duplicate self-signed
                                 intermediates cause exponential path-building
  GHSA-m2h6-j472-rp4c  MODERATE  cryptography: verifier accepts wildcard DNS
                                 names, escaping permittedSubtrees
  GHSA-65pc-fj4g-8rjx  MODERATE  idna: crafted input to idna.encode() bypasses
                                 the CVE-2024-3651 fix

Both lockfiles now scan clean against OSV. Validated by running each
package's full CI step list (uv sync, ruff check, pytest, import smoke
test); all green.

Not fixed, because no patched release exists upstream: diskcache 5.6.3
(GHSA-w8v5-vhqr-4h9v) and nltk 3.10.3 (GHSA-8mgp-746c-j5xp) in
py/uv.lock. Both are transitive dev-only deps of the `lint` group (via
dspy and llama-index-core); neither is a runtime dependency of the
published braintrust package.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-24T20:57:15.517784Z 3311bd3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@AbhiPrasad
Abhijeet Prasad (AbhiPrasad) merged commit 1dab3e6 into main Sep 24, 2026
83 checks passed
@AbhiPrasad
Abhijeet Prasad (AbhiPrasad) deleted the fix/dependabot-security-alerts branch September 24, 2026 21:06
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