Audit GitHub Actions workflows that use self-hosted runners for untrusted trigger and credential-hardening risks.
Use this skill to flag risky workflow patterns when jobs run on self-hosted GitHub Actions runners.
.github/workflows/*.yml by default)self-hosted runnerspull_request_target, pull_request, issue_comment)actions/checkout steps that do not set persist-credentials: falseOptional:
WORKFLOW_GLOB (default: .github/workflows/*.y*ml)TOP_N (default: 20)OUTPUT_FORMAT (text or json, default: text)WARN_SCORE (default: 4)CRITICAL_SCORE (default: 8)WORKFLOW_FILE_MATCH / WORKFLOW_FILE_EXCLUDE (regex, optional)FAIL_ON_CRITICAL (0 or 1, default: 0)Text report:
WORKFLOW_GLOB='.github/workflows/*.yml' \
WARN_SCORE=4 \
CRITICAL_SCORE=8 \
bash skills/github-actions-self-hosted-risk-audit/scripts/self-hosted-risk-audit.sh
JSON output + fail gate:
WORKFLOW_GLOB='.github/workflows/*.y*ml' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-self-hosted-risk-audit/scripts/self-hosted-risk-audit.sh
Run against bundled fixtures:
WORKFLOW_GLOB='skills/github-actions-self-hosted-risk-audit/fixtures/*.y*ml' \
bash skills/github-actions-self-hosted-risk-audit/scripts/self-hosted-risk-audit.sh
0 in reporting mode (default)1 when FAIL_ON_CRITICAL=1 and one or more workflows are criticalZIP package — ready to use