Repository navigation
fix(deps): upgrade uv.lock for Critical/High advisories (13 Critical + 116 High -> 4 + 15); adapt agent_xray to gradio 6 - #50
Conversation
…xray to gradio 6 Co-Authored-By: vanessa.salas <vanessa.salas@cognition.ai>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
There was a problem hiding this comment.
Note
Newer findings are available below. Devin Review posted a newer report on this PR, in addition to the findings presented here.
Devin Review found 1 potential issue.
🐛 1 issue in files not directly in the diff
🐛 Locked environment cannot install on Intel Macs
On Intel macOS, torch 2.14.1 and ray 2.59.0 have no compatible wheels or source distributions. uv sync --frozen cannot install agentlab there.
|
Re "Locked environment cannot install on Intel Macs": correct, and it is an unavoidable consequence of the torch fix rather than a lock-resolution mistake. PyTorch 2.2.x was the last release line with macOS x86_64 wheels; every torch version that fixes CVE-2025-32434 / CVE-2026-24747 (2.6+) ships only arm64 (Apple Silicon) and Linux/Windows builds, so there is no lock that is both Intel-Mac-installable and free of these Critical/High findings. CI ( If Intel macOS development must stay supported, the options are (a) keep |
ReferenceFileSystem rendered attacker-controlled Kerchunk JSON through un-sandboxed jinja2 templates (SSTI -> RCE); fixed in fsspec 2026.6.0. Transitive via torch/dask/datasets/huggingface-hub; all parents accept the new version. Co-Authored-By: vanessa.salas <vanessa.salas@cognition.ai>
Co-Authored-By: vanessa.salas <vanessa.salas@cognition.ai>
…SA-2g87-pp6c-29x5, High) Co-Authored-By: vanessa.salas <vanessa.salas@cognition.ai>
…7w-9gw2, Critical) Co-Authored-By: vanessa.salas <vanessa.salas@cognition.ai>
…6-114145, CVE-2026-111497, CVE-2026-114134) Co-Authored-By: vanessa.salas <vanessa.salas@cognition.ai>
…HSA-v4x8-3wr5-3wq8, High) filelock 4.2.1+ requires Python >=3.11, so uv forks the resolution: Python 3.10 moves 4.0.12 -> 4.1.0 (latest 3.10-compatible, still affected). Co-Authored-By: vanessa.salas <vanessa.salas@cognition.ai>
Summary
A fresh scan of the locked environment (
uv export+ Snyk / pip-audit, severities cross-checked against OSV) reported 13 Critical and 115 High advisories across 25 packages. This PR re-locks only the affected packages (plus the pins that were blocking them) withuv lock --upgrade-package ...;pyproject.tomlconstraints are unchanged and every new version satisfies the existing>=ranges. After the change the locked tree has 4 Critical / 15 High, all in packages that cannot move further (see "Residual").ReferenceFileSystem, CVSS 8.8; transitive via torch/dask/datasets/huggingface-hub, published 2026-10-05).gitpath validated only after clone -> RCE; used byreproducibility_util.py); brotli PYSEC-2026-4322 / CVE-2026-111497 (out-of-bounds write in the decoder; transitive); black CVE-2026-114134 / GHSA-cg8m-r9f2-5wm2 (dev-only; the advisory targets the black GitHub Action, which CI does not use —code_format.ymlrunsuv run black— bumped anyway because it is a patch release)ReadWriteLockreopens its SQLite DB by name, so a planted symlink/journal file lets a local attacker make the lock owner overwrite/unlink its own files; transitive via torch/huggingface-hub/datasets/virtualenv, GHSA published 2026-10-23, fixed in 4.2.1). Also clears CVE-2026-112907, CVE-2026-112913 (Low)Code change (gradio 6): gradio 5 -> 6 removes
show_copy_button/show_download_buttonand movestheme=/css=fromgr.Blocks(...)to.launch(...).src/agentlab/analyze/agent_xray.pyis adapted accordingly:Platform trade-off — Intel macOS is dropped. PyTorch 2.2.x was the last line with macOS x86_64 wheels; every torch release that fixes CVE-2025-32434 / CVE-2026-24747 is arm64/Linux/Windows only, so the new lock cannot
uv syncon Intel Macs (ray 2.59 likewise). CI runs on Linux and is unaffected. If Intel-Mac development must remain supported, the alternative is a marker-splittorchdependency inpyproject.tomlthat keeps 2.2.2 onDarwin/x86_64and accepts the two torch findings there — maintainer decision requested.Residual (not fixable in this PR, documented for risk acceptance):
litellmstops at 1.80.0 (3C/8H remain, fixed in 1.83–1.84): newer litellm needsopenai>=2, butlibwebarena/libvisualwebarenapinopenai<2.transformersstops at 4.57.6 (1C/5H remain, fixed in 5.x):libwebarena/libvisualwebarenapintransformers<5.lxml5.4.0 (1H, fixed in 6.1.0): pinned<6bybrowsergym-core,sacrebleu,weblinx-browsergym.text-generation0.7.0 (1H, fixed in 3.3.7): pinned bylibwebarena/libvisualwebarena.nltk3.10.3 GHSA-8mgp-746c-j5xp (1H): no fixed release published.filelockon Python 3.10 only stays affected (4.1.0): every fixed release (4.2.1+) declaresrequires-python >=3.11and the project allows>3.10, so uv forks the lock by Python version. AgentLab code does not importfilelockor useReadWriteLock. Fully fixed if the project raises its floor to 3.11.pillow12.3.0 (6H published 2026-10-19/20, e.g. GHSA-58r4-6rv3-gfh8, GHSA-p4wg-p73j-c528; fixed only in 13.0.0, no 12.x backport):gradio(latest 6.30.0) still pinspillow<13(streamlit 1.66.1 now allows<14); as of 2026-10-24 this includes 2 Critical (GHSA-w889-685w-c8fh, GHSA-332p-7hrc-92wf), and pillow 13 needs Python >=3.11 while the project allows >3.10.Unblocking these requires upstream releases of the webarena packages (or dropping them), which is out of scope for a lockfile PR.
Verification
uv sync --frozen --extra dev --python 3.12succeeds (macOS arm64).pytest tests -m "not pricy": 60 passed, 8 failed, 15 skipped — the same 8 failures occur onmainwith the old lock (tests/agents/test_agent.py,tests/experiments/test_launch_exp.py; all needMINIWOB_URL/ a running MiniWoB server). No new failures.run_gradio()builds all 91 blocks under gradio 6.17.3 withlaunchstubbed; not driven interactively in a browser.black --check src/(CIcode_format.ymlruns the locked black, now 26.10.0): black 26 changed its style for multi-line f-string call arguments, so six untouched files (generic_agent.py,generic_agent_prompt.py,most_basic_agent.py,visual_agent_prompts.py,episode_to_html.py,reproduce_study.py) are reformatted in a separate formatting-only commit (style: reformat with black 26.10, +30/-63, whitespace/parenthesis changes only).uv sync --frozen --extra devOK, pip-audit shows no fsspec findings;pytest tests -m "not pricy"59 passed / 9 failed / 15 skipped — the 8 known failures plustests/experiments/test_ray.py::test_execute_task_graph("node timed out during startup", raylet waiting on the dashboard agent's metrics port file). That ray failure reproduces identically with fsspec pinned back to 2026.2.0, so it is environmental on the verification host, not caused by the bump.aiohttpandyarlversions change inuv.lock(other hunks are uv re-normalising environment markers, no version changes).uv lock --checkanduv sync --frozen --extra dev --python 3.12OK; pip-audit shows no aiohttp findings and no Critical/High yarl findings, and the residual Critical/High package set is unchanged (litellm, lxml, nltk, text-generation, transformers).black src/ --checkOK.pytest tests -m "not pricy": 59 passed / 9 failed / 15 skipped — the same 8 known MiniWoB failures plus the macOS ray startup timeout (test_execute_task_graph) as on the 2026-10-06 run.uv lock --upgrade-package certifichanges only certifi inuv.lock.uv lock --check,uv sync --frozen --extra dev --python 3.12OK; HTTPS request withrequestsagainst the new bundle succeeds. pip-audit + OSV: certifi finding gone; remaining Critical/High packages are litellm, lxml, nltk, pillow (new, blocked as above), text-generation, transformers.black src/ --checkOK.pytest tests -m "not pricy": 59 passed / 9 failed / 15 skipped — identical to the 2026-10-20 run (8 MiniWoB + macOS ray startup timeout).uv lock --upgrade-package gitpython --upgrade-package brotli --upgrade-package blackchanges only those three versions inuv.lock.uv sync --frozen --extra dev --python 3.12OK;black src/ --checkOK with black 26.10.1 (no reformat). pip-audit + OSV: the three findings are gone and no new advisory IDs appear; pillow remains blocked (gradio 6.30.0 still declarespillow<13.0).pytest tests -m "not pricy": 59 passed / 9 failed / 15 skipped, same as the 2026-10-21 run (8 MiniWoB + macOS ray startup timeout).uv lock --upgrade-package filelockchanges only filelock entries inuv.lock(split into 4.1.0 forpython_full_version < '3.11'and 4.2.4 for>= '3.11').uv lock --checkOK;uv sync --frozenOK on Python 3.10, 3.11 and 3.12 (thepython_version_compatibility.ymlmatrix);black src/ --checkOK. pip-audit + OSV (Python 3.12 markers): the three filelock findings are gone and no new advisory IDs appear.pytest tests -m "not pricy"(ray test file deselected): 58 passed / 8 failed / 15 skipped, the same 8 failures at the previous head 89a19b6 (5test_agent.py+ 2test_launch_exp.pyneedMINIWOB_URL;test_launch_system_rayis the macOS ray startup timeout).Impact: runtime dependencies (torch, transformers, gradio, ray, litellm are all imported by
agentlab). Several bumps are major (gradio5->6,mcp1->2,starlette0.47->1.x,protobuf6->7,pyarrow21->25,torch2.2->2.14); only gradio needed a code change for import/build, but downstream behaviour should be smoke-tested.Architecture review
ARB triage: ARB_LIGHT
Triggers:
Not triggered: T1, T2, T3 (no new vendor/package), T4, T5, T6, T8, T9
Required next steps: none (async review by one architect)
2026-10-21 certifi patch bump of an existing transitive dependency adds no triggers.
2026-10-22 virtualenv and 2026-10-23 gitpython/brotli/black patch bumps of existing dependencies add no triggers.
2026-10-24 filelock minor bump of an existing transitive dependency adds no triggers.
Review & Testing Checklist
uv sync --frozenon a clean (Linux or Apple Silicon) machine; confirmuv pip list | grep -E "torch|gradio|transformers|ray"shows the versions aboveagentlab-xrayagainst a real results dir and click through the Screenshot / Error Report tabs (gradio 6)rayandjoblibbackends (ray 2.59 / pydantic 2.13)uv synclibwebarenapinsLink to Devin session: https://devin-gtm.devinenterprise.com/sessions/895f03bf6f04417a883971b914cd22e1
Open in Devin Desktop: https://devin-gtm.devinenterprise.com/desktop/session/895f03bf6f04417a883971b914cd22e1?variant=devin
Requested by: @vanessasalas-cog