用途:这是一个面向 GitHub Actions 的漏洞挖掘技能,角色定位为应用安全工程师。目标不是做 YAML 风格检查,而是追踪由外部输入到特权执行、可信凭证或可信 runner 的完整利用链。单独的 privileged trigger 或宽泛 permissions 通常不算问题,问题在于链条。
主要能力:识别外部可触发的触发方式(fork PR、PR 更新、issue/PR/discussion 评论、label 事件、workflow_run 等)以及 workflow_dispatch、workflow_call 的输入可控性;划分信任边界;顺着 uses: 追踪本地 action、复合 action、可复用工作流与 run: 脚本;追踪 token 与 secret 作用域;确认受控内容是否被 shell、action、JS 求值器、包生命周期钩子、配置加载器、缓存或制品消费方解释执行。重点关注:pull_request_target 检出并执行 PR 代码、表达式注入到 run/脚本输出($GITHUB_OUTPUT、$GITHUB_ENV、$GITHUB_STEP_SUMMARY、$GITHUB_PATH)、评论/标签/chatops 命令无授权门槛、审批与检出的 TOCTOU、凭证暴露与权限放大、可复用工作流与本地 action 隐患、CI 中的 AI agent 配置投毒、缓存与制品及自托管 runner 滥用、第三方 action 可变引用供应链风险。
使用方式:优先审阅 .github/workflows/*.yml、.github/actions/**/action.yml、仓库根 action.yml 以及被工作流加载的脚本、Makefile、包管理器命令与 agent 指令文件。用 rg 检索同类模式,用 git log -p 查看近期缓解改动。仅在匹配到相应形态时加载对应参考文档。
限制:外部可复用工作流和第三方 action 仅在调用方可见范围内评估;若无法用现有文件追踪完整链条,应放弃或标为中等置信度并写明缺失环节,不应凭相似性报告。分级分 high、medium、low,存疑取较低级别。具体命令示例与配置细节暂未提供。