🧪 Skills
GitHub Actions Cache Hardening Audit
--- name: github-actions-cache-hardening-audit description: Audit GitHub Actions workflow cache usage for poisoning, keying, and secret-path risks. version: 1.0.0 metadata: {"openclaw":{"requires":{"b
v1.0.0
Description
name: github-actions-cache-hardening-audit description: Audit GitHub Actions workflow cache usage for poisoning, keying, and secret-path risks. version: 1.0.0 metadata: {"openclaw":{"requires":{"bins":["bash","python3"]}}}
GitHub Actions Cache Hardening Audit
Use this skill to statically audit .github/workflows/*.yml for risky cache patterns that can cause cache poisoning, stale cache churn, or secret leakage.
What this skill checks
actions/cacheusage on untrusted triggers (pull_request_target)- Cache keys that do not use
hashFiles(...) - Overly broad
restore-keysprefixes - Sensitive paths accidentally included in cache paths (
.aws,.ssh,.npmrc,.git) - Floating cache action refs (
@main,@master)
Inputs
Optional:
WORKFLOW_GLOB(default:.github/workflows/*.y*ml)TOP_N(default:20)OUTPUT_FORMAT(textorjson, default:text)WARN_SCORE(default:3)CRITICAL_SCORE(default:6)WORKFLOW_FILE_MATCH(regex, optional)WORKFLOW_FILE_EXCLUDE(regex, optional)FAIL_ON_CRITICAL(0or1, default:0)
Run
Text report:
WORKFLOW_GLOB='.github/workflows/*.yml' \
bash skills/github-actions-cache-hardening-audit/scripts/cache-hardening-audit.sh
JSON output + fail gate:
WORKFLOW_GLOB='.github/workflows/*.yml' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-cache-hardening-audit/scripts/cache-hardening-audit.sh
Run against bundled fixtures:
WORKFLOW_GLOB='skills/github-actions-cache-hardening-audit/fixtures/*.yml' \
bash skills/github-actions-cache-hardening-audit/scripts/cache-hardening-audit.sh
Output contract
- Exit
0by default (report mode) - Exit
1whenFAIL_ON_CRITICAL=1and at least one critical workflow is detected - Text mode prints a summary and top flagged workflows
- JSON mode emits
summary,flagged_workflows, andcritical_workflows
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!