Skip to content

build(security): Dependabot 54 条批量处置——四线升级 + 2 条有据 dismiss(I-239) - #1218

Merged
ThreeFish-AI merged 12 commits into
feature/1.x.xfrom
ThreeFish-AI/8wdz4
Oct 28, 2026
Merged

ThreeFish-AI merged 12 commits into
feature/1.x.xfrom
ThreeFish-AI/8wdz4

Conversation

@ThreeFish-AI

Copy link
Copy Markdown
Owner

摘要

处置 Dependabot 全部 54 条 open 告警。动手前已对账:master 与 feature/1.x.x 的全部 manifest 完全一致(两分支仅差 7 个 docs 提交),无一条是「已修待发布」幻象——51 条实际清偿、2 条有据 dismiss、1 条 OTel 上游堵死归档。

告警对账

组 告警 处置
backend uv.lock 34 条(PyJWT×15 含 critical CVE-2026-102268、aiohttp×8、urllib3×3、anyio×2 含 critical CVE-2026-63374、soupsieve×2、litellm/mcp/multidict/fsspec/Mako 各 1) 收敛升级 11 包
transformers #769 1 条 high(CVE-2026-80047) dismissed:上游无修复版(range 覆盖至 5.8.1、first_patched=null);perceives 不直接调用 transformers、不使用 load_custom_generate();锁 <5.0.0 根因(pillow<11 冲突)已在 perceives-ci 注释
opentelemetry-api #1013 1 条 medium(CVE-2026-114603) dismissed:google-adk 全系 pin opentelemetry-api<=1.42.1(adk-python#6421 跟踪,main 已抬至 <=1.44);攻击向量不可达——全后端无入站 tracestate 提取(litellm/google-adk 的 carrier 只含 traceparent)。perceives 侧同一 CVE 已经 I-237 修复(fastmcp 路径无 google-adk 阻塞)
katex #859/#853 2 条 low ui/wiki 升 ^0.18.11 + 根 override(rehype-katex 7.0.1 卡 ^0.16.0、0.16 线无修复版)
fast-uri ×15 15 条 medium 根 + 15 分集 override 地板 '>=3.1.8 <4.0.0',落点 3.1.9

51 条升级类告警随本 PR 合入 feature/1.x.x → 发布列车抵达 master 后由 Dependabot 自动关闭。

关键决策与依据

  • PyJWT 一步到 2.15.1:2.14.0 的紧凑 base64url 校验曾误杀尾部 = 填充 token([BUG]: Canonical Base64URL check rejects AWS ALB JWTs jpadilla/pyjwt#1209),2.15.1 放宽;2.14/2.15 均无 API breaking,backend 应用层零直接 import jwt(鉴权为自研 HMAC token,pyjwt 仅为 mcp 传递依赖)。
  • mcp 上界 <2.0.0:mcp 2.0.0 已发布且移除部分 SDK 表面;1.30.0 与 1.29.1 无 session/stdio API 签名变化,logged_stdio_client 依赖的 7 个 mcp.client.stdio 私有符号已逐一 import 核验存活。
  • litellm 收敛锁 1.89.7:裸升会跳 1.106.5(跨 17 minor、连带引入 boto3 等 7 包),收敛到本告警修复版。
  • katex 0.18 越线:rehype-katex 全部运行时调用仅为 renderToString(签名 0.16→0.18 未变);0.18.0 唯一实质破坏是 20 个内部 CSS 类名加 katex- 前缀,全仓唯一命中 ui globals.css 暗色适配四处选择器(已同步改);pnpm 单一 override 恰好规避 Streamlit 踩过的 markup/CSS 双版本分裂。
  • perceives 防红头:pip-audit 本地实跑暴露 10-23 后新入库、CI 尚未撞上的 advisory 批(authlib×7/fastmcp/filelock×3/dnspython/msgpack/setuptools,push paths 触发必红)——可升级七包全部升级,litellm 1.96.2 的 CVE-2026-114612 仅 EXPERIMENTAL_UI_LOGIN=true 触发(默认 false)走 ignore。

验证

  • backend:uv run pytest tests/unit_tests/ 2991 passed;mcp/FastMCP API 面核验通过
  • ui:lint / typecheck ×2 / test:coverage 全绿(含 .katex DOM 断言)
  • wiki:lint(存量 8 warnings 与本次无关)/ test 122 passed / build 全绿;katex 0.18.11 渲染冒烟(\tag/\hline 前缀类落位)
  • perceives:裸跑 pip-audit 剩余条目 ⊆ ignore 集;pytest 全绿
  • 15 分集:lockfile 落点全部 3.1.9;agent-skills 完整 install 通过

已知残留(follow-up,不阻塞)

🤖 Generated with Claude Code

…39);

pyjwt>=2.15.1(一步到位:2.14.0 紧凑编码校验误杀尾部 '=' 填充 token)、
litellm>=1.89.7、aiohttp>=3.14.4、urllib3>=2.8.0、mako>=1.4.2 抬地板;
新增 anyio>=4.14.2(critical CVE-2026-63374 IDNA TLS 欺骗)与
mcp>=1.30.0,<2.0.0(mcp 2.0.0 已移除部分 SDK 表面,上界防跳)。
uv lock 收敛升级 11 包(litellm 锁 1.89.7、multidict <7、soupsieve <3
防裸升 major / 跨 17 minor);opentelemetry-api 保持 1.41.1——google-adk
全系 pin <=1.42.1 堵死(#1013 已有据 dismiss)。logged_stdio_client 依赖的
mcp.client.stdio 七个私有符号已逐一核验存活;tests/unit_tests 2991 passed。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
…清偿 2 条告警 (I-239);

katex 0.16 线无 GHSA-238p-pmpm-9mq7 修复版(fixed 0.18.2),rehype-katex 7.0.1
与 micromark-extension-math 均声明 katex ^0.16.0,全局 override
'>=0.18.11 <0.19.0' 压过两处上界(renderToString 签名与 KatexOptions 字段集
0.16→0.18 未变,remarkjs/remark-math#121 社区实测通过;rehype-katex 8 发布
后移除)。0.18.0 将 20 个内部 CSS 类名加 katex- 前缀,唯一命中 ui globals.css
暗色适配四处选择器(.overline/.underline/.hline/.root → .katex-*,子线类
.overline-line 等不改名)。@types/katex 0.16.8 留树不冲突(0.18 自带 types)。
根 lock 顺手同修 fast-uri 3.1.2→3.1.9(ajv 传递,防下轮告警)。ui 全链
(lint/typecheck×2/test:coverage)与 wiki 全链(lint/test 122/build)通过,
渲染冒烟确认 katex-base/katex-hline/katex-tag 前缀类落位。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
…I-239);

GHSA-hrr3-gc8f-f4qj(fast-uri < 3.1.8,medium):各分集经 ajv 传递引入
3.1.7,15 个 video/pnpm-workspace.yaml overrides 段加
fast-uri: '>=3.1.8 <4.0.0'(闭区间防 major 跳跃,与仓库根同口径,I-237
同型),逐集 pnpm install --lockfile-only 重锁,落点核对全部 3.1.9;
agent-skills-video 完整 install 通过(node_modules 健康)。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
本地实跑 pip-audit 暴露 10-23 后新入库、CI 尚未撞上的 advisory 批(push
paths 触发必红):fastmcp 3.2.4→3.4.11(GHSA-7xgj-8392-5q4r,主段地板抬
3.4.10,3.4 拆出 fastmcp-slim 子包)、authlib 1.7.2→1.9.1(CVE-2026-96760
+ 114614..114620)、filelock 3.25.2→4.2.4(CVE-2026-112907/112913/112940,
FileLock API 3→4 兼容)、msgpack 1.2.4、setuptools 84.2.1、dnspython 2.9.0
(email-validator 传递),override 地板随注;litellm 1.96.2 的
CVE-2026-114612 仅 EXPERIMENTAL_UI_LOGIN=true 触发(默认 false),走
ignore_args 豁免、随 litellm 新线升级清偿。transformers/pyjwt 等 ignore 项
维持既有口径(#769 已 dismiss)。裸跑 pip-audit 剩余条目 ⊆ ignore 集,
pytest 全绿。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
CI 三平台同挂该用例:method="auto" 优先走 run_webpage_pipeline(anti_detection
阶段),runner 上 stealth 工具可用且 error-test.com 真实可解析 → 管线真实
抓取成功 → result.success=True,断言 assert success is False 失效;本地过
靠的是工具不可用(环境性通过,mock 的 web_scraper 从未被管线路径触达)。
patch 管线入口强制降级 legacy 路径,用例真正覆盖「网络错误优雅处理」意图,
与运行环境解耦。lock diff 未触碰 anti_detection 链路依赖,属存量缺陷被本
PR CI 暴露。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
…39);

GHSA-g5ff-637f-6q2m(High,任意文件读,10-27 入库)影响 <1.95.0 全线、
1.89.2 基线同样中招,本 PR 的版本变化使 litellm 进入 delta 审查视野、
Dependency Review(fail-on-severity: high)拦下。收敛升到修复线 1.95.1
(不跳 1.106,158 包无新增依赖涟漪);instrumentation 的 OpenTelemetry
callback 与 completion_cost 面实测未变,tests/unit_tests 2991 passed。
残留 GHSA-7hp6(EXPERIMENTAL_UI_LOGIN 条件触发,默认 false 缓解)。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
…清偿 + perceives CI 环境耦合用例修复记录 (I-239);

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
@ThreeFish-AI

Copy link
Copy Markdown
Owner Author

CI 事件管道故障说明与验证替代证据

2026-10-28 15:10 UTC+8 起,GitHub pull_request 事件管道对本 PR 失效(多轮 push / close+reopen / 空提交均未触发 workflow,Actions 权限与 workflow 状态正常,属平台侧故障)。已用 workflow_dispatch 在含全部修复的 head(50bf3450d)上跑通四条测试链,全部 success:

Workflow Run 结论
Backend Test Suite 40653568719 ✅ success
UI Test Suite 40653578751 ✅ success
Wiki Test Suite 40653588250 ✅ success
Perceives CI 40653597548 ✅ success

Dependency Review Guard(无 workflow_dispatch,仅 PR 事件)在旧 head(e08d4aa3)fail 于 litellm@1.89.7 的 GHSA-g5ff-637f-6q2m(<1.95.0);本轮已升 litellm 1.95.1(>=1.95.0 修复线),数学上已出 vulnerable range,事件恢复重跑后预期绿。Perceives CI 三平台曾挂的 test_error_logging_and_handling 亦已在同 head 修复验证。

事件恢复后任意 push/rebase 或 re-run 即可补全 checks。

…-240);

GHSA-7hp6-4w63-5g45(High,proxy_admin salt-key 提权)range 覆盖至
<1.100.4——1.95.1 仍在范围内被门二次拦下(该门对 delta 中版本变化的包按
新版本评估全部适用 advisory,修复升级须一次跨出全部 range)。收敛升到
修复线 1.100.5(连带 boto3/botocore/jmespath/s3transfer 4 个 Bedrock
标配传递包);OpenTelemetry callback 与 completion_cost 面实测未变,
tests/unit_tests 2991 passed。litellm backend 侧 advisory 至此全清,
perceives 侧 1.96.2 经 pip-audit ignore 覆盖随生态升级清偿。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
@ThreeFish-AI

Copy link
Copy Markdown
Owner Author

✅ CI 全绿收口

事件管道恢复后全部 checks 通过(349db0727):Backend / UI / Wiki / Perceives 测试链、Perceives Code Review、Version Consistency、Dependency Review Guard 全部 success。

Dependency Review 的两次拦截(litellm GHSA-g5ff → 1.95.1、GHSA-7hp6 → 1.100.5)均已收敛至修复线清偿,backend 侧 litellm advisory 至此全清。PR 可合并。

@ThreeFish-AI
ThreeFish-AI merged commit 82681f0 into feature/1.x.x Oct 28, 2026
23 checks passed
@ThreeFish-AI
ThreeFish-AI deleted the ThreeFish-AI/8wdz4 branch November 1, 2026 03:15
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