Audit GitHub Actions workflow permission scope drift to enforce least-privilege token access.
Use this skill to detect over-broad GITHUB_TOKEN permissions and scope drift across GitHub Actions workflows.
write-all, contents: write, etc.)pull_request_target workflows with write permissionspermissions policyOptional:
WORKFLOW_GLOB (default: .github/workflows/*.y*ml)TOP_N (default: 20)OUTPUT_FORMAT (text or json, default: text)WARN_SCORE (default: 2)CRITICAL_SCORE (default: 5)FLAG_MISSING_PERMISSIONS (0 or 1, default: 1)FLAG_WRITE_ALL (0 or 1, default: 1)FLAG_WRITE_SCOPES (0 or 1, default: 1)WORKFLOW_FILE_MATCH / WORKFLOW_FILE_EXCLUDE (regex, optional)EVENT_MATCH / EVENT_EXCLUDE (regex, optional)PERMISSION_MATCH / PERMISSION_EXCLUDE (regex, optional)FAIL_ON_CRITICAL (0 or 1, default: 0)Text report:
WORKFLOW_GLOB='.github/workflows/*.yml' \
bash skills/github-actions-permission-scope-audit/scripts/permission-scope-audit.sh
JSON output + fail gate:
WORKFLOW_GLOB='.github/workflows/*.yml' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-permission-scope-audit/scripts/permission-scope-audit.sh
Run against bundled fixtures:
WORKFLOW_GLOB='skills/github-actions-permission-scope-audit/fixtures/*.yml' \
bash skills/github-actions-permission-scope-audit/scripts/permission-scope-audit.sh
0 in report mode (default)1 when FAIL_ON_CRITICAL=1 and one or more workflows are criticalZIP package — ready to use