Repository navigation
chore(deps): batch dependency bumps (#441, #440, #431, #425, #423, #403) - #449
Open
ricardosrib wants to merge 1 commit into
Open
ricardosrib wants to merge 1 commit into
ricardosrib wants to merge 1 commit into
Conversation
Consolidates six Dependabot PRs into a single branch. CI / GitHub Actions (#441): - actions/checkout 4->7, setup-uv 3->7, setup-python 4->7, upload-artifact 4->7, setup-node 4->7, dependabot/fetch-metadata 2->3, create-github-app-token 1->3, gh-action-pypi-publish 1.14.2->1.14.3 Locked dependencies: - pyasn1 0.6.4 -> 0.6.5 (#440, 4 HIGH DoS CVEs, transitive via cryptography) - litellm 1.99.0 -> 1.100.4 (#431, dev; CVE-2026-114612 CVSS 9.9 proxy server) - filelock 3.32.5 -> 4.2.1 (#425, major bump, no CVE, transitive only) - virtualenv 21.7.13 -> 21.14.9 (#423, 2 HIGH CVEs, build/dev tool) - oauthlib 3.3.1 -> 4.0.0 (#403, 2 HIGH CVEs, SDK uses client-side only) virtualenv 21.14.9 pulls python-discovery 1.6.0 -> 1.9.4 and adds a packaging dependency edge. No runtime constraints in pyproject.toml change.
ricardosrib
commented
Nov 5, 2026
ricardosrib
left a comment
Contributor
Author
There was a problem hiding this comment.
Security Review: #449 — chore(deps): batch dependency bumps (#441, #440, #431, #425, #423, #403)
Author: ricardosrib Branch: chore/dependency-bumps-batch → main
Verdict: ✅ No security issues
| # | Criterion | Status | Finding |
|---|---|---|---|
| S1 | Tenant subdomain validation | ➖ N/A | No code accepting tenant/subdomain parameters changed |
| S2 | URL construction (structured, not str.replace) | ➖ N/A | No URL-building code changed |
| S3 | Credential emptiness checks | ➖ N/A | No credential-reading code changed |
| S4 | JWT tokens verified before trust | ➖ N/A | No JWT handling code changed |
| S5 | No hardcoded credentials/secrets | ✅ Pass | Workflow files reference only ${{ secrets.* }} expressions — no literals |
| S6 | Sensitive data not logged | ➖ N/A | No logger calls changed |
| S7 | No path traversal from external input | ➖ N/A | No filesystem code changed |
| S8 | HTTP base URLs validated | ➖ N/A | No HTTP request code changed |
| S9 | Multi-tenant cache isolation | ➖ N/A | No cache or in-memory state changed |
| S10 | New/updated dependencies checked for CVEs | ✅ Pass | See note below |
| S11 | No verify=False in HTTP calls |
➖ N/A | No HTTP calls changed |
| S12 | Audit log for mutating tenant operations | ➖ N/A | No mutating operations added |
✅ Things Done Well
- S10 — CVE direction is strictly positive. Every lock bump either resolves known advisories (pyasn1 4×HIGH, litellm CVSS 9.9, oauthlib 2×HIGH, virtualenv 2×HIGH) or is a benign transitive pull (filelock, python-discovery). No new CVEs are introduced.
pyproject.tomlruntime constraints are unchanged — consumers are unaffected. - S5 — Workflow credential hygiene maintained. All secrets (
CLOUD_SDK_BOT_APP_ID,CLOUD_SDK_BOT_PRIVATE_KEY,GITHUB_TOKEN) continue to be referenced via${{ secrets.* }}expressions only. No literals introduced. - GitHub Actions provenance. All bumped actions are first-party (
actions/*) or well-established official publishers (astral-sh/setup-uv,pypa/gh-action-pypi-publish,dependabot/fetch-metadata). No third-party or forked actions introduced. pypa/gh-action-pypi-publish1.14.2 → 1.14.3 specifically resolves the critical CA chain revocation issue in the Sigstore/Trusted Publishing path — a supply-chain security improvement to the SDK's own release pipeline.- No new workflow permissions added. Permission scopes in all 13 workflow files are unchanged between old and new versions.
❌ Blocking Issues
None.
⚠️ Non-Blocking Suggestions
None.
Unit Test Coverage Gaps
None — no criteria flagged ❌ or
This PR is clear to merge from a security standpoint. The only outstanding gate is CI going green (in particular the GitHub Actions jobs running on the newly bumped action versions, and a re-run of the flaky test_search_memories integration test).
This branch has not been deployed
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.
Description
Consolidates six open Dependabot PRs into a single branch so they can be reviewed and merged together.
GitHub Actions (CI only) — supersedes #441
actions/checkout4 → 7astral-sh/setup-uv3 → 7actions/setup-python4 → 7actions/upload-artifact4 → 7actions/setup-node4 → 7dependabot/fetch-metadata2 → 3actions/create-github-app-token1 → 3pypa/gh-action-pypi-publish1.14.2 → 1.14.3Locked dependencies (
uv.lockonly) — supersedes #440, #431, #425, #423, #403pyasn10.6.4 → 0.6.5 — transitive (viacryptography); DoS-class fixeslitellm1.99.0 → 1.100.4 — dev dependency; privilege-escalation fix affecting the litellm proxy server (not the client-side API)filelock3.32.5 → 4.2.1 — transitive only (not imported by the SDK); major bump, no CVEvirtualenv21.7.13 → 21.14.9 — build/dev tool; shell-activation fixesoauthlib3.3.1 → 4.0.0 — used client-side viarequests-oauthlib; fixes device-flow / token-revocation issuesNo runtime constraints in
pyproject.tomlchange — all five lock bumps are transitive or dev-only. Thevirtualenvupgrade also pullspython-discovery1.6.0 → 1.9.4 and adds apackagingdependency edge, both required by the newvirtualenvrelease.The individual bumps were regenerated with targeted
uv lock --upgrade-package <pkg>==<version>rather than cherry-picked, since all five Dependabot PRs touchuv.lockand would conflict.uv lock --checkpasses.Related Issue
N/A
Type of Change
Please check the relevant option:
How to Test
check-version-bump(version must stay unchanged),checks(uv lock --check→uv sync --all-extras→ pre-commit),test,codeql,reuse,commit-validation,integration-tests.uv lock --check(verifies the lock matchespyproject.toml) anduv sync --all-extras.oauthlib4.0 client path (the only non-trivial runtime change): drive an OAuth2 client-credentials flow through the SDK and confirm token acquisition + an authenticated call succeed.Expected result: all CI checks green;
uv lock --checkreports the lock up to date; OAuth2 client-credentials calls return 200.Checklist
Before submitting your PR, please review and check the following:
uv lock --checkpasses locally; the full suite runs in CI/security-reviewand addressed all ❌ findings — N/A, no source code changed (these bumps address upstream advisories; no SDK logic is modified)Breaking Changes
None for SDK consumers.
oauthlib4.0.0 andfilelock4.x are major upstream releases, but:filelockis a transitive dependency and is not imported by the SDK.oauthlib4.0.0 breaking changes (JSONP removed from the revocation endpoint;grant_typevalidated before authentication) are server-side; the SDK usesoauthlibonly as a client, andrequests-oauthlib>=2.0.0,<3resolves against 4.x.Additional Notes
pyproject.tomlis intentionally left unchanged — the repo'scheck-version-bumpworkflow rejects manual bumps; versioning is handled by the release pipeline.uv.lockis not shipped to SDK consumers (they resolve frompyproject.tomlconstraints), so these lock bumps primarily harden the SDK's own CI/dev environment.