Use this skill to statically audit .github/workflows/*.yml files before risky defaults leak into production CI.
小葱技能7w4.net有完整的技能分类。
timeout-minutespermissions declarations (workflow-level or job-level)concurrency controlsuses: refs (@main, @master, @latest, major-only tags like @v4)ok / warn / critical) and can fail CI gatesOptional:
WORKFLOW_GLOB (default: .github/workflows/*.y*ml)TOP_N (default: 20)OUTPUT_FORMAT (text or json, default: text)WARN_SCORE (default: 3)CRITICAL_SCORE (default: 7)REQUIRE_TIMEOUT (0/1, default: 1)REQUIRE_PERMISSIONS (0/1, default: 1)REQUIRE_CONCURRENCY (0/1, default: 0)FLAG_FLOATING_REFS (0/1, default: 1)ALLOW_REF_REGEX (regex whitelist for approved refs, optional)WORKFLOW_FILE_MATCH (regex include filter on file path, optional)WORKFLOW_FILE_EXCLUDE (regex exclude filter on file path, optional)EVENT_MATCH (regex include filter on parsed on: triggers, optional)EVENT_EXCLUDE (regex exclude filter on parsed on: triggers, optional)FAIL_ON_CRITICAL (0 or 1, default: 0)Text report:
WORKFLOW_GLOB='.github/workflows/*.y*ml' \
bash skills/github-actions-workflow-hardening-audit/scripts/workflow-hardening-audit.sh
JSON output + fail gate:
WORKFLOW_GLOB='.github/workflows/*.y*ml' \
OUTPUT_FORMAT=json \
REQUIRE_CONCURRENCY=1 \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-workflow-hardening-audit/scripts/workflow-hardening-audit.sh
Filter to only PR-target workflows:
WORKFLOW_GLOB='.github/workflows/*.y*ml' \
EVENT_MATCH='pull_request_target' \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-workflow-hardening-audit/scripts/workflow-hardening-audit.sh
Run against bundled fixtures:
WORKFLOW_GLOB='skills/github-actions-workflow-hardening-audit/fixtures/*.y*ml' \
bash skills/github-actions-workflow-hardening-audit/scripts/workflow-hardening-audit.sh
0 in report mode (default)1 when FAIL_ON_CRITICAL=1 and one or more workflows are critical这个 Skill 质量不错,专注于检查 GitHub Actions 工作流的安全配置问题,能发现超时、权限、并发等配置缺失以及不稳定的版本引用。配置灵活、输出清晰,CI 集成友好。不足是缺少测试文件,某些复杂 YAML 可能解析不准确,整体功能实用但可靠性验证不足。