已开启
【安全】【计算IT应用安全编码要求】执行不可信代码-workflow检出PR代码执行npm install与钩子 #41
陈明旭创建于  9 天前
陈明旭
陈明旭成员
9 天前 创建

问题概述

pre-commit workflow 使用 pull_request_target + allow-unsafe-pr-checkout 检出 PR head.sha 后执行 npm install 并运行 pre-commit 钩子:fork PR 可控 package.json postinstall 与 .pre-commit-config.yaml 钩子配置在持有 secrets 的 self-hosted runner 上执行任意代码(经典 pwn-request)。

问题清单

序号 问题位置 证据说明
1 .gitcode/workflows/pre-commit.yml:8/47-48/56-57 pull_request_target + allow-unsafe-pr-checkout: true,run: npm install 后执行钩子

修复建议

改 pull_request 触发,或将 npm install/pre-commit 执行与 secrets 隔离(拆分 job 不注入 secrets);关闭 allow-unsafe-pr-checkout。

likedislike