已开启
【安全】【漏洞挖掘】工作流 Action 与 pre-commit 钩子以可变 tag 引用,缺少不可变固定 #15
liudongfang创建于 16 天前
Lliudongfang
12 天前 修改标题为 “【安全】【漏洞挖掘】工作流 Action 与 pre-commit 钩子以可变 tag 引用,缺少不可变固定”,原标题为“【安全】【CI 供应链】工作流 Action 与 pre-commit 钩子以可变 tag 引用,缺少不可变固定”
12 天前 修改标题为 “【安全】【漏洞挖掘】工作流 Action 与 pre-commit 钩子以可变 tag 引用,缺少不可变固定”,原标题为“【安全】【CI 供应链】工作流 Action 与 pre-commit 钩子以可变 tag 引用,缺少不可变固定”
崔世英
4 天前 评论:
4 天前 评论:
已修复(分支 security-issues)。
修复方法:.gitcode/workflows/pre-commit.yml 外部 Action 钉死不可变 commit SHA,注释保留 tag 号便于追溯:
openlibing/pr-label-action@73b56f0e74a30a9e6e8f964a7cd7ffe9f0b624e0# v1.0.0openlibing/pre-commit-action@737019ccd619d62ed188cd1bf77d4fa314311242# v1.0.2


崔世英
8 小时前 评论:
8 小时前 评论:
经评审确认可变 tag 引用在本仓不构成风险(内部 action 仓库受控),won't fix:security-issues 分支已回滚 SHA 钉死,恢复 pr-label-action@v1.0.0 / pre-commit-action@v1.0.2 tag 引用(提交 00d409e)。


问题
CI 引用的外部 Action 以可变 tag 指定,缺少不可变固定:
.gitcode/workflows/pre-commit.yml:31/91:openlibing/pr-label-action@v1.0.0.gitcode/workflows/pre-commit.yml:79:openlibing/pre-commit-action@v1.0.2tag 一旦被重指向,新代码即在持有 secrets.ROBOT_TOKEN 的自托管 runner 上执行(CWE-1357)。另外
.pre-commit-config.yaml:9(rev: v6.0.0)与:24(rev: v8.30.1)两个外部钩子镜像仓库同样为可变 tag 引用。同仓库 code-metrics-scan.yml 已对 openlibing/code-metrics-action 使用 commit SHA 固定(@117c0606...),可直接参照。影响
供应链投毒面:上游仓库被入侵或 tag 被移动时,恶意代码直接进入特权 runner 执行。单独评级低危,与 pwn request 问题(另一 issue)叠加时利用门槛显著降低。
建议修法
.pre-commit-config.yaml外部 repo 的 rev 固定为不可变 commit SHA对应漏洞编号 argus-prsyncaction-20261010144054-003,报告见 reports/ 目录。