dist/index.js作为GitHub Action的实际运行入口(package.json main字段指向),将所有依赖(含传递依赖undici 5.29.0、node-fetch 2.7.0等)inline为27656行单文件并提交到仓库。安全团队无法通过package-lock.json审计运行时实际使用的依赖版本,导致版本漂移和隐蔽篡改风险。攻击者若获得仓库提交权限,可直接修改编译产物中的bundled代码,由于该文件体量巨大且为编译格式,代码审查时极易被忽略。
在CI构建流程中自动生成dist/index.js而非手动提交,或在提交前自动校验dist/index.js与lockfile一致性。
漏洞信息
漏洞描述
dist/index.js作为GitHub Action的实际运行入口(package.json main字段指向),将所有依赖(含传递依赖undici 5.29.0、node-fetch 2.7.0等)inline为27656行单文件并提交到仓库。安全团队无法通过package-lock.json审计运行时实际使用的依赖版本,导致版本漂移和隐蔽篡改风险。攻击者若获得仓库提交权限,可直接修改编译产物中的bundled代码,由于该文件体量巨大且为编译格式,代码审查时极易被忽略。
受影响资产
修复建议
在CI构建流程中自动生成dist/index.js而非手动提交,或在提交前自动校验dist/index.js与lockfile一致性。