Skill · github-actions/workflow-hardening · v1.0.0 · MIT
GitHub Actions Workflow Hardening
Secure GitHub Actions workflows as they work in late 2026, from script injection and pwn requests to SHA pins and tokenless npm publishing.
Teaches an agent to write and fix GitHub Actions workflows that hold credentials safely: no untrusted text expanded into shell or github-script code, no pull request code in pull_request_target or workflow_run jobs (including the right fix when actions/checkout v7 refuses fork checkouts), least-privilege GITHUB_TOKEN permissions, actions pinned to real commit SHAs on current majors, and OIDC instead of stored secrets, including npm trusted publishing with its npm 11.5.1, runner and repository.url requirements. Includes the platform changes of 2025-2026 that models trained earlier get wrong.
- DevOps
- Security
- secure
- ship
- review
- github-actions
- npm
- oauth
- ci-cd
uplift
No runs exist for this digest.
Not measured for this digest.
Untested is not the same as useless: nobody has measured it yet. Proof comes from A/B runs on hidden tests:
npx sigil prove catalog/skills/github-actions/workflow-hardening --suite <suite> --runs 6trust level · submitted
- in the catalog: met
- structure check: not met
- static scan, no high findings: not met
- canary sandbox passed: not met
- maintainer approved: not met
canary sandbox
Not run for this digest.
static scan
Not run for this digest.
compatibility · targeted, compiled and evaluated are separate claims
| agent | targeted by author | compiled | evaluated in the lab | notes |
|---|---|---|---|---|
| Claude Code | targeted: yes | no record for compiled | no record for evaluated | |
| Codex | targeted: yes | no record for compiled | no record for evaluated | |
| Cursor | targeted: yes | no record for compiled | no record for evaluated | |
| GitHub Copilot | targeted: yes | no record for compiled | no record for evaluated | |
| Gemini CLI | targeted: yes | no record for compiled | no record for evaluated | |
| OpenCode | targeted: yes | no record for compiled | no record for evaluated |
declared permissions
- network
- github.com, api.github.com
- shell
- git ls-remote, gh api, zizmor, actionlint
- filesystem
- write
- env
- none
Undeclared access is a finding in the scan and a tripwire in the canary.
source
- path
- catalog/skills/github-actions/workflow-hardening
- authors
- dgesteves
- entry
- SKILL.md (agent-skill)
- registry
- 2026-11-02 · 5cb851d
install
$ npx sigil add github-actions/workflow-hardening --agent claude-codeNo compile record for Claude Code on this digest. Install never runs capability scripts, and refuses on any digest mismatch.
known limitations
- Written for github.com as of November 2026. GitHub Enterprise Server lags behind (artifact actions v4+, checkout v7 and workflow lockfiles may be missing).
- Commit SHAs in the references were resolved on 2026-11-01. Pinning newer releases needs network access to github.com, or an existing pin in the repo.
- It does not audit the code inside third-party or composite actions; a pinned malicious action is still malicious.
- Cloud OIDC guidance covers the AWS, Google Cloud and Azure login actions, not the design of the cloud-side IAM policies.
- The proof suite measures script injection, fork pull request checkouts and npm trusted publishing. Cloud OIDC, caching and reusable workflows are not measured.