GitHub Actions Permission Scope Audit

检测 GitHub Actions 工作流中过宽的权限配置,确保最小权限原则。

已扫描
适合谁
DevOps 工程师、安全合规负责人
不适合谁
无 GitHub 项目维护经验者、无需 CI/CD 安全审计的普通用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @daniellummis/github-actions-permission-scope-audit

Skill 说明

命令、参数、文件名以原文为准

GitHub Actions 权限范围审计

使用此技能检测 GitHub Actions 工作流中过于宽泛的 GITHUB_TOKEN 权限以及权限范围漂移问题。

该技能的功能

  • 读取工作流 YAML 文件
  • 检测显式授予的宽泛权限(如 write-allcontents: write 等)
  • 标记高风险模式,例如使用 pull_request_target 事件但赋予写入权限的工作流
  • 识别未明确设置 permissions 策略的工作流
  • 输出文本或 JSON 格式结果,用于 CI 问题排查和策略门禁

输入参数

可选:

  • WORKFLOW_GLOB(默认值:.github/workflows/*.y*ml
  • TOP_N(默认值:20
  • OUTPUT_FORMAT(可选值:textjson,默认值:text
  • WARN_SCORE(默认值:2
  • CRITICAL_SCORE(默认值:5
  • FLAG_MISSING_PERMISSIONS(可选值:01,默认值:1
  • FLAG_WRITE_ALL(可选值:01,默认值:1
  • FLAG_WRITE_SCOPES(可选值:01,默认值:1
  • WORKFLOW_FILE_MATCH / WORKFLOW_FILE_EXCLUDE(正则表达式,可选)
  • EVENT_MATCH / EVENT_EXCLUDE(正则表达式,可选)
  • PERMISSION_MATCH / PERMISSION_EXCLUDE(正则表达式,可选)
  • FAIL_ON_CRITICAL(可选值:01,默认值:0

运行方式

文本报告:

WORKFLOW_GLOB='.github/workflows/*.yml' \
bash skills/github-actions-permission-scope-audit/scripts/permission-scope-audit.sh

JSON 输出 + 失败门禁:

WORKFLOW_GLOB='.github/workflows/*.yml' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-permission-scope-audit/scripts/permission-scope-audit.sh

针对内置测试用例运行:

WORKFLOW_GLOB='skills/github-actions-permission-scope-audit/fixtures/*.yml' \
bash skills/github-actions-permission-scope-audit/scripts/permission-scope-audit.sh

输出规范

  • 报告模式下退出码为 0
  • FAIL_ON_CRITICAL=1 且存在至少一个关键问题工作流时,退出码为 1
  • 文本模式输出摘要及按风险排序的工作流列表
  • JSON 模式输出摘要、按风险排序的工作流列表以及关键问题工作流详情
D
@daniellummis

已收录 1 个 Skill

相关推荐