已开启
子模块镜像无完整性校验 + op-plugin ignore=dirty 配置风险 #4784
TheoCui创建于  12 天前
TheoCui
TheoCui
12 天前 创建

问题描述

第三方子模块配置存在两个供应链风险点:

  1. .gitmodules 中 op-plugin 设置了 ignore = dirty,子模块工作区被修改时 git status 不再提示,改动失去可见性。
  2. 部分子模块指向镜像 fork(gitcode.com/GitHub_Trending/go/googletest.git、.../fm/fmt.git、.../js/json.git 等),若镜像 fork 缺失被 pin 的 commit,git clone --recursive 会直接失败(404)。

复现方式

对任一镜像 fork 缺失的 pin commit 执行 git fetch --dry-run <url> <sha>,若不可达则构建失败。可通过 git ls-tree HEAD -- <submodule-path> 逐一校验。

修复建议

  • 去掉 ignore = dirty 配置;
  • 新增 CI 检查:校验每个子模块 pin 的 commit 在 .gitmodules 记录的 URL 上可达,在 compile 前拦截。
likedislike
TorchNPU-BotTorchNPU-Bot成员
12 天前 添加了label:triage-review
TorchNPU-Bot
TorchNPU-Bot成员
12 天前 评论:

issue待分派,添加triage-review标签

likedislike
TheoCuiTheoCui
12 天前 关联了pull request:fix(ci): 移除 op-plugin ignore=dirty 并新增子模块 pin 一致性检查
TorchNPU-BotTorchNPU-Bot成员
12 天前 添加了label:bot-triaged;删除了label:triage-review
TorchNPU-Bot
TorchNPU-Bot成员
12 天前 评论:

检测到当前 issue 已关联 PR,自动添加标签:bot-triaged

likedislike
chenrayraychenrayray成员
2 天前 关联了里程碑:v26.2.0