Prhub

#22322 [Docker] Fix Trivy CVEs, cubin download 403s, and kernels command order

原始 PR 作者 Kangyan-Zhou 合并时间 2026-04-10 03:26 文件变更 1 提交数 5 评论 3 代码增减 +35 / -3

执行摘要

修复 Docker 构建中的安全漏洞、冗余下载和命令顺序问题。

PR body明确指出修复三个具体问题:

1) Trivy扫描报告的安全漏洞(CVE-2025-8225等);
2) flashinfer cubin下载步骤冗余且导致403速率限制错误,影响Docker发布CI;
3) kernels lock/download命令顺序错误和语法问题。Issue评论中mmangkad提到#18896曾尝试类似清理,表明此问题已存在数月。

该PR值得基础设施团队精读,展示了Dockerfile优化和安全加固的最佳实践。关注--only-upgrade的使用避免破坏性升级、冗余步骤识别和构建可靠性增强策略。

讨论亮点

无review评论,但Issue评论中mmangkad指出冗余flashinfer cubin下载问题在#18896中已提及,建议清理CI工作流。作者Kangyan-Zhou回应鼓励尝试。这表明团队对基础设施清理有持续关注。

实现拆解

修改docker/Dockerfile文件:

1) 在framework和runtime阶段添加apt-get install --only-upgrade层,升级binutils、libgnutls30t64等易受攻击的OS包;
2) 删除FLASHINFER_CUBIN_DOWNLOAD_THREADS... python3 -m flashinfer --download-cubin行,因flashinfer_cubin pip wheel已包含所有cubin;
3) 交换kernels lock python和kernels download python顺序,并为后者添加重试逻辑;
4) 修复命令行的续行反斜杠缺失。

文件 模块 状态 重要度
docker/Dockerfile docker modified 9.0

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

冗余 flashinfer cubin 下载清理 设计

Issue 评论中 mmangkad 提到 #18896 曾尝试类似清理,建议扩展清理到 CI 工作流。

结论:作者鼓励尝试清理,表明此问题已识别但未完全解决。 · partially_resolved

风险与影响

风险较低:

1) 使用--only-upgrade仅升级指定包,避免意外升级NVIDIA CUDA包,但需验证未引入兼容性问题;
2) 移除flashinfer cubin下载依赖pip wheel,需确保wheel始终包含所需cubin;
3) 重试逻辑可能掩盖网络问题根本原因;
4) 安全修补可能影响系统稳定性,但限于OS包且为升级。

影响范围:

1) 提升Docker镜像安全性,减少CVE暴露;
2) 提高Docker构建成功率,避免因CDN 403和命令顺序失败;
3) 简化构建流程,移除冗余步骤;
4) 对最终用户透明,但CI/CD流水线更稳定。影响程度中等,主要影响开发者和CI系统。

依赖 pip wheel 完整性 安全修补兼容性

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论