1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | github-actions-hardening-github-awesome-copilot |
| 作者/维护者 | GitHub(仓库 github/awesome-copilot,贡献者 AmirhosseinHonardoust) |
| 来源链接 | https://github.com/github/awesome-copilot/tree/main/skills/github-actions-hardening |
| 许可证 | MIT(来自 GitHub API,仓库级) |
| GitHub Stars | 合集仓库整体 39,121(来自 GitHub API);该数字属整个 awesome-copilot 合集,不代表本技能自身热度 |
| Forks | 合集仓库整体 4,967(同上,不代表本技能) |
| 最新版本 | 无独立版本号;SKILL.md 最近一次改动 2026-06-16(来自 GitHub API 提交历史,PR #2002) |
| 安装方式 | gh skills install github/awesome-copilot github-actions-hardening(需 GitHub CLI v2.90.0+),或复制 skills/github-actions-hardening/ 整个目录到 agent 的 skills 目录 |
2. 功能介绍与亮点
这是一个专门审查 GitHub Actions 工作流文件(.github/workflows/*.yml)的安全评审技能,瞄准通用代码扫描器和语言 linter 看不见的风险——危险的地方是 YAML 本身,以及 GitHub 把 ${{ }} 表达式展开进 shell 再执行的机制。核心流程:① 按触发器类型划分信任等级(fork 来的 pull_request 只读无密钥;pull_request_target/workflow_run/issue_comment 却在有完整密钥权限的上下文里运行,且可被外部贡献者触发);② 排查 run: 与 github-script 中会被攻击者数据污染的 ${{ }} 插值点;③ 检查高权限触发器是否检出并执行了未受信的 fork 代码(RCE 风险);④ 审计 permissions: 是否遵循最小权限;⑤ 审计第三方 action 是否锁定到完整 commit SHA 而非可变 tag/分支;⑥ 检查密钥与 GITHUB_ENV/GITHUB_OUTPUT 注入风险;⑦ 按五级严重度产出结构化报告并给出修复前后 YAML 对比,明确声明“从不自动应用改动,只供审阅”。自带 5 份按需加载的参考文档(信任矩阵、注入清单、权限令牌、供应链、报告格式),不会一次性塞满上下文。
3. 适用场景
固定分类:安全与合规。适用于维护 GitHub Actions 工作流的团队——新写工作流要求“一次写对”、对使用 pull_request_target 等高权限触发器的既有工作流做安全体检、审计第三方 action 是否锁定版本。受益人群:负责 CI/CD 的开发者与平台工程师,尤其是容易忽略 Actions 特有信任边界(而非应用代码本身漏洞)的初中级用户。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——标准 SKILL.md 格式,放入
.claude/skills/即可自动发现 - Codex:⚠️ 需适配——不会自动发现
~/.codex/skills,需在对话中显式引用 SKILL.md 路径 - OpenClaw:✅ 原生支持——官方文档确认支持
.agents/skills/与~/.openclaw/skills/目录下 SKILL.md 的自动发现 - Hermes Agent:✅ 原生支持——官方文档确认按约定的 tap 路径扫描子目录探测 SKILL.md,兼容 agentskills.io 开放标准
5. 推荐理由
大多数安全扫描器默认按“应用代码漏洞”的框架看 CI 配置,而 Actions 真正的风险点(触发器信任等级、${{ }} 注入、可变引用供应链)是完全不同的推理方式——这正是该技能存在的理由:一套按信任边界推理的固定流程,且明确不越权自动改代码,只出报告供人审阅。对初中级用户尤其有价值,因为 pull_request_target 这类高权限触发器的风险违反直觉,容易在写工作流时无意间踩中。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 发布方 GitHub 为公认一线厂商官方出品;合集仓库 stars 不计入单技能,未查到该子技能自身独立于目录聚合站转载之外的第三方评测或采用数据,故按保底档给分 |
| 可用性 | 9 | 一条 gh skills install 命令或复制目录即用;文档极完整(7 步执行流程 + 5 份按需加载的参考文档 + 严重度分级与报告模板),2026-06-16 有维护记录,无付费依赖 |
| 安全性 | 9 | 纯只读评审技能,不执行任何 shell 命令、不外联网络、不要求任何 API key;正文明确声明“从不自动应用修改,只呈现供审阅”;MIT 协议明确;通读 SKILL.md 与全部参考文档未发现可疑指令或 prompt injection 迹象 |
安全检查清单:①无 shell 命令执行,技能本身只读取 YAML 文件并输出文字报告 ②无任何网络外联 ③不要求任何 API key 或凭据 ④SKILL.md 及 5 份参考文档全文通读未发现夹带指令或 prompt injection 迹象 ⑤发布方为 GitHub 官方仓库,无造假迹象 ⑥License 明确(MIT)⑦最近一次维护 2026-06-16,非弃置项目
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| github-actions-hardening | 专门审查 GitHub Actions 工作流的触发器信任边界与表达式注入风险 | —— |
| secret-scanning | 扫描代码库中已泄露或硬编码的密钥凭据 | 关注的是密钥本身有没有被写死或泄露,不涉及工作流文件的触发器权限与注入风险,两者互补而非重叠 |
| supply-chain-risk-auditor | 审计通用软件依赖的供应链风险(如 npm/pip 包) | 面向的是应用依赖树而非 CI 配置文件本身,不覆盖 pull_request_target 特权触发器、${{ }} 注入等 Actions 专属风险模型 |
三者可配合使用,但没有一个覆盖 github-actions-hardening 专注的“工作流文件自身信任边界”这一层。
8. 用户评价
该技能目前在第三方社区平台尚无具名用户评论区讨论;仅在 mcpservers.org、skills.sh 等第三方 skill 聚合目录中被转载展示,非具名用户评价。仓库内可查到该技能由贡献者 AmirhosseinHonardoust 通过 PR #2002 提交并被 GitHub 官方仓库合并收录,经过维护者审核。
9. 安装使用方式
- Claude Code / OpenClaw / Hermes Agent:
gh skills install github/awesome-copilot github-actions-hardening,或手动复制skills/github-actions-hardening/整个目录(含SKILL.md与references/下 5 份参考文档)到对应的 skills 目录(如.claude/skills/、.agents/skills/) - Codex:手动下载整个目录后,在对话中显式引用
SKILL.md路径 - 触发方式:审查、加固或新写工作流时请求“审查这个工作流的安全性”、“帮我加固这个 GitHub Action”,或提及
pull_request_target、GITHUB_TOKEN权限等关键词
10. 注意事项
- 只产出评审报告与修复建议,不会自动修改工作流文件,落地修复仍需人工确认后手动应用
- 判断逻辑基于 Actions 公开的触发器语义与已知注入模式,若工作流依赖非标准的自定义 action 内部逻辑,仍需人工复核该 action 自身实现是否安全
- 未查到该技能自身独立于目录转载之外的第三方评测或采用数据,受欢迎程度评分主要基于发布方官方身份