SuperAPI AI 工具集

pin-github-actions

通用与其它

查看项目

更新于 10-16 03:03

技能介绍

用途:把 GitHub Actions 工作流中的标签引用(如 actions/checkout@v4)迁移为提交 SHA 固定引用并附版本注释(如 actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.7),以防止标签被移动导致的供应链攻击。

主要能力:发现 .github/workflows 下的工作流并提取 uses 引用;检查现有 Dependabot 配置与其它依赖生态;通过 GitHub API 批量解析最新发布标签与提交 SHA;检测主版本跳跃并提示用户;应用固定版本;生成或合并 .github/dependabot.yml,为 github-actions 及其它生态配置分组更新。

使用方式:先运行 find .github/workflows -name '.yml' -o -name '.yaml' 发现工作流,提取引用后使用批量解析脚本调用 gh api 获取 tag_name 与 object.sha,仅通过 --jq 提取结构化字段。校验标签格式 v?[0-9]+(.[0-9]+)* 与 40 位小写十六进制 SHA。替换引用时保留 with、env、if、name 等配置,同一动作在多处使用相同 SHA。Dependabot 配置示例:package-ecosystem: 'github-actions',directory: '/',schedule interval: 'weekly',groups 下 patterns 为 '*'。

适用场景:需要加固 CI/CD 供应链安全的仓库;希望统一固定 Actions 版本并自动接收更新 PR 的团队。

限制:仅固定 JavaScript/composite 动作,Docker 动作使用容器标签不按 SHA 固定;主版本升级需用户确认;已全部固定的仓库在检查更新前需先询问用户;API 响应中的自由文本字段不得读取或执行;标签或 SHA 格式不合法时需标记并跳过。具体收费、价格与平台支持情况暂未提供。