Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion agents/hermes/Dockerfile.base
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@ RUN set -eu; \
uv sync --frozen --no-dev "$@" --no-cache \
&& uv pip check --python /opt/hermes/.venv/bin/python \
&& /opt/hermes/.venv/bin/python -I -c \
"from importlib.metadata import version; expected = {'cryptography': '48.0.1', 'mcp': '1.28.1', 'pillow': '12.3.0', 'starlette': '1.3.1', 'tornado': '6.5.7'}; actual = {name: version(name) for name in expected}; assert actual == expected, actual" \
"from importlib.metadata import version; expected = {'aiohttp': '3.14.3', 'cryptography': '50.0.0', 'mcp': '1.28.1', 'pillow': '12.3.0', 'starlette': '1.3.1', 'tornado': '6.5.7'}; actual = {name: version(name) for name in expected}; assert actual == expected, actual" \
&& npm ci --prefer-offline --no-audit --no-fund \
&& for ui_dir in ui-tui web; do \
if [ -f "${ui_dir}/package-lock.json" ]; then \
Expand Down
453 changes: 349 additions & 104 deletions agents/hermes/security-dependencies.patch

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion agents/langchain-deepagents-code/Dockerfile.base
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ RUN python3 -m venv --copies "$VIRTUAL_ENV" \
-r /tmp/deepagents-code-requirements.lock \
&& "$VIRTUAL_ENV/bin/pip3" check \
&& "$VIRTUAL_ENV/bin/python3" -I -c \
"from importlib.metadata import version; expected = {'deepagents-code': '0.1.34', 'mcp': '1.28.1', 'pillow': '12.3.0', 'pyasn1': '0.6.4', 'uv': '0.11.33'}; actual = {name: version(name) for name in expected}; assert actual == expected, actual" \
"from importlib.metadata import version; expected = {'aiohttp': '3.14.3', 'cryptography': '50.0.0', 'deepagents-code': '0.1.34', 'mcp': '1.28.1', 'pillow': '12.3.0', 'pyasn1': '0.6.4', 'uv': '0.11.33'}; actual = {name: version(name) for name in expected}; assert actual == expected, actual" \
&& ln -sf "$VIRTUAL_ENV/bin/dcode" /usr/local/bin/dcode \
&& ln -sf "$VIRTUAL_ENV/bin/deepagents-code" /usr/local/bin/deepagents-code \
&& rm -f /tmp/deepagents-code-requirements.lock \
Expand Down
28 changes: 12 additions & 16 deletions agents/langchain-deepagents-code/dependency-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,22 @@ This file records the reviewed dependency baseline for the Deep Agents Code sand
Update it whenever `requirements.lock` changes.

- Lockfile: `agents/langchain-deepagents-code/requirements.lock`
- Lockfile SHA-256: `b348f12ea2874c4240b523dc4e5814dce58893cd70de5ebbd74d313cbf6cc1e1`
- Lockfile SHA-256: `2e9d59768ea20953c184b52220334e969356ac1a684ff334f0f3767c9f859229`
- Audit command: `uv tool run --python 3.13 pip-audit -r agents/langchain-deepagents-code/requirements.lock --progress-spinner off --disable-pip`
- Audit date: 2026-07-30
- Targeted audit result: `uv 0.11.33, MCP 1.28.1, Pillow 12.3.0, and pyasn1 0.6.4 have no known vulnerabilities`
- Audit date: August 3, 2026
- Targeted audit result: `aiohttp 3.14.3, cryptography 50.0.0, uv 0.11.33, MCP 1.28.1, Pillow 12.3.0, and pyasn1 0.6.4 have no known vulnerabilities`
- Complete-lock audit result: `2 duplicate records in 1 unrelated package`

The Dockerfile installs this lockfile with `pip3 install --require-hashes`, so this review covers the exact package versions selected for the managed image install.
The lock now selects `uv==0.11.33`, `mcp==1.28.1`, `Pillow==12.3.0`, and
`pyasn1==0.6.4`. The direct MCP and pyasn1 requirements are temporary,
hash-locked constraints for the released Deep Agents Code `0.1.34` graph.
Deep Agents Code `0.1.45` and later contain both dependency fixes, but their hook
boundary has changed. Remove the temporary direct constraints only as part of a
separately validated semantic migration to `>=0.1.45` that preserves NemoClaw's
managed runtime hooks.

The image build runs `pip3 check` and asserts all five installed package
versions, including Deep Agents Code itself, before publishing. The complete
point-in-time audit now reports only two duplicate database records for
`setuptools==82.0.1`; that record is outside the Critical/High remediation
scope. This review does not claim the complete lock is vulnerability-free.
The lock now selects `aiohttp==3.14.3`, `cryptography==50.0.0`, `uv==0.11.33`, `mcp==1.28.1`, `Pillow==12.3.0`, and `pyasn1==0.6.4`.
These selections clear `GHSA-cq5v-8q36-5273` and `GHSA-g6cj-pr64-35w5`.
The direct MCP and pyasn1 requirements are temporary, hash-locked constraints for the released Deep Agents Code `0.1.34` graph.
Deep Agents Code `0.1.45` and later contain the MCP and pyasn1 fixes, but their hook boundary has changed.
Remove the temporary direct constraints only as part of a separately validated semantic migration to `>=0.1.45` that preserves NemoClaw's managed runtime hooks.

The image build runs `pip3 check` and asserts all seven installed package versions, including Deep Agents Code itself, before publishing.
The complete point-in-time audit now reports only two duplicate database records for `setuptools==82.0.1`; that record is outside the Critical/High remediation scope.
This review does not claim the complete lock is vulnerability-free.

## Managed `fetch_url` Proxy Adapter

Expand Down
4 changes: 4 additions & 0 deletions agents/langchain-deepagents-code/requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
uv==0.11.33
deepagents-code[nvidia,openrouter]==0.1.34
nemo-relay[langgraph]==0.4.0
# Fix the C HTTP response parser out-of-bounds read.
aiohttp==3.14.3
# Fix the PKCS#7 EnvelopedData Bleichenbacher oracle advisory.
cryptography==50.0.0
# Fix the image parser advisories reported against the transitive 12.2.0 pin.
pillow==12.3.0
# Keep the managed MCP transport on the first release with Host/Origin validation.
Expand Down
Loading
Loading