Skip to content

fix(deps): update security-sensitive packages - #70003

Closed
sahlbergalfred4-lgtm wants to merge 1 commit into
NousResearch:mainfrom
sahlbergalfred4-lgtm:security/dependency-fix-20260723
Closed

sahlbergalfred4-lgtm wants to merge 1 commit into
NousResearch:mainfrom
sahlbergalfred4-lgtm:security/dependency-fix-20260723

Conversation

@sahlbergalfred4-lgtm

Copy link
Copy Markdown

Summary

  • update cryptography to 48.0.1, MCP to 1.28.1, Pillow to 12.3.0, pyasn1 to 0.6.4, python-multipart to 0.0.31, and Starlette to 1.3.1
  • keep core, extras, lazy-install specifications, and Computer Use expectations synchronized
  • regenerate uv.lock from current main

This is a narrow four-file remediation based on current upstream main (8fc2782). It also updates all three stale Computer Use expectations; the older #69892 branch is 22 upstream commits behind and retains the old MCP 1.26.0 failure-path expectation.

Verification

  • full suite: 605 passed, 1 skipped, 2 deselected baseline Windows failures
  • targeted Computer Use lazy-install tests: 3 passed
  • Ruff: passed
  • uv lock --check: passed
  • uv pip check: 81 packages compatible
  • git diff --check: passed
  • dependency audit: 81 components, 8 remaining findings, 0 HIGH/CRITICAL
  • independent read-only final review: passed with no security concerns or logic errors

No merge or deployment has been performed.

@sahlbergalfred4-lgtm
sahlbergalfred4-lgtm requested a review from a team July 23, 2026 09:13
@alt-glitch alt-glitch added type/security Security vulnerability or hardening P3 Low — cosmetic, nice to have comp/tools Tool registry, model_tools, toolsets area/config Config system, migrations, profiles dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code needs-decision Awaiting maintainer decision before any implementation sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades labels Jul 23, 2026
@alt-glitch

Copy link
Copy Markdown
Contributor

This was generated by AI during triage.

Related to #66871 and #69892: all three refresh the same dependency family, but they differ on package coverage/version policy and regression expectations (including multipart and pyasn1). Marked needs-decision rather than duplicate.

mizzy07 added a commit to DELTA-Tor/hermes-agent that referenced this pull request Jul 23, 2026
Carries the narrow dependency remediation from NousResearch#70003 (0a4b0a9) onto the DELTA Quicksilver fork.


Change-Agent: codex/gpt-5

Co-authored-by: Mikael <mikael@deltator.de>
Co-authored-by: OpenAI Codex <noreply@openai.com>

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for consolidating the dependency refresh and keeping lazy-install coverage in scope.

Problems

  • The proposed python-multipart==0.0.31 dashboard pin is now stale. Current main pins 0.0.32 in pyproject.toml:302 and tools/lazy_deps.py:273, and tests/test_packaging_metadata.py:67-74 explicitly guards that floor against update-time downgrades.
  • The Computer Use test region has moved substantially: current TestLazyMcpInstall is at tests/tools/test_computer_use.py:762-793, so the former test-line update needs to be reapplied to its current location.

Suggested changes

  • Keep the current python-multipart==0.0.32 dashboard pins, then selectively carry the still-unmerged MCP, Pillow, and pyasn1 updates and regenerate uv.lock from the resulting metadata.
  • Update the surviving FeatureUnavailable expectation at tests/tools/test_computer_use.py:785 with the selected MCP version.

Automated hermes-sweeper review.

Comment thread tools/lazy_deps.py
"starlette==1.0.1", # CVE-2026-48710 (BadHost) — keep lazy-install in sync with pyproject [web]
"python-multipart==0.0.27", # FastAPI UploadFile/Form for streaming uploads (NS-501)
"starlette==1.3.1", # CVE-2026-48710 (BadHost) — keep lazy-install in sync with pyproject [web]
"python-multipart==0.0.31", # FastAPI UploadFile/Form for streaming uploads (NS-501)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current main has since raised the dashboard multipart pin to 0.0.32 (tools/lazy_deps.py:273), and tests/test_packaging_metadata.py:67-74 treats that as the update-downgrade security floor. Retain 0.0.32 when salvaging this refresh rather than lowering it to 0.0.31.

@teknium1 teknium1 added sweeper:blast-broad Sweeper blast radius: broad — a core path most sessions hit area/install-update Installer, updater, packaging, wheels, doctor labels Jul 30, 2026
ethernet8023 added a commit that referenced this pull request Jul 31, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (#50902)
  fmy3@qq.com                -> superafun            (#60201)
  Steven.Leath@gmail.com     -> Leathal1             (#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (#69864, #73857)
  mudreac@gmail.com          -> mudrii               (#66871, #63099)
  agents@joinsensie.com      -> Sensie-agents        (#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (#70003)
  richard.ham@live.com       -> zebadee2kk           (#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
@teknium1

teknium1 commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Thanks @sahlbergalfred4-lgtm — every bump here is now on main: cryptography 48.0.1, Pillow 12.3.0, mcp 1.28.1, starlette 1.3.1, and main's python-multipart has moved past 0.0.31 to 0.0.32. Closing as implemented on main.

@teknium1 teknium1 closed this Aug 1, 2026
randlee pushed a commit to randlee/hermes-agent that referenced this pull request Aug 11, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (NousResearch#50902)
  fmy3@qq.com                -> superafun            (NousResearch#60201)
  Steven.Leath@gmail.com     -> Leathal1             (NousResearch#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (NousResearch#69864, NousResearch#73857)
  mudreac@gmail.com          -> mudrii               (NousResearch#66871, NousResearch#63099)
  agents@joinsensie.com      -> Sensie-agents        (NousResearch#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (NousResearch#70003)
  richard.ham@live.com       -> zebadee2kk           (NousResearch#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (NousResearch#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
prmartinow pushed a commit to prmartinow/hermes-agent that referenced this pull request Aug 26, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (NousResearch#50902)
  fmy3@qq.com                -> superafun            (NousResearch#60201)
  Steven.Leath@gmail.com     -> Leathal1             (NousResearch#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (NousResearch#69864, NousResearch#73857)
  mudreac@gmail.com          -> mudrii               (NousResearch#66871, NousResearch#63099)
  agents@joinsensie.com      -> Sensie-agents        (NousResearch#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (NousResearch#70003)
  richard.ham@live.com       -> zebadee2kk           (NousResearch#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (NousResearch#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
melon-xf added a commit to melon-xf/hermes-agent that referenced this pull request Sep 3, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (NousResearch#50902)
  fmy3@qq.com                -> superafun            (NousResearch#60201)
  Steven.Leath@gmail.com     -> Leathal1             (NousResearch#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (NousResearch#69864, NousResearch#73857)
  mudreac@gmail.com          -> mudrii               (NousResearch#66871, NousResearch#63099)
  agents@joinsensie.com      -> Sensie-agents        (NousResearch#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (NousResearch#70003)
  richard.ham@live.com       -> zebadee2kk           (NousResearch#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (NousResearch#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/config Config system, migrations, profiles area/install-update Installer, updater, packaging, wheels, doctor comp/tools Tool registry, model_tools, toolsets dependencies Pull requests that update a dependency file needs-decision Awaiting maintainer decision before any implementation P3 Low — cosmetic, nice to have python:uv Pull requests that update python:uv code sweeper:blast-broad Sweeper blast radius: broad — a core path most sessions hit sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/security Security vulnerability or hardening

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants