<< All versions
Skill v1.0.0
currentLLM-judged scan90/100devton/agentic-workflow-blueprint/securing-github-actions-workflows
──Details
PublishedOctober 23, 2026 at 07:27 AM
Content Hashsha256:aa5061cf3e1c9109...
Git SHA822707f9487a
──Files
Files (1 file, 3.4 KB)
SKILL.md3.4 KBactive
SKILL.md · 93 lines · 3.4 KB
version: "1.0.0"
agentic-workflows-blueprint.workflow.securing-github-actions-workflows
Goal
Harden GitHub Actions workflows against supply chain abuse, token misuse, and unsafe workflow execution patterns through enforceable CI security controls.
Scope
- Applies to: GitHub Actions workflow security posture in repositories and organizations.
- Does not cover: non-GitHub CI systems or application vulnerability scanning itself.
Triggers
- "Secure GitHub Actions workflows"
- "Enforce SHA pinning and least-privilege workflow permissions"
- "Harden pull_request and pull_request_target behavior"
- "Add workflow change controls and secret handling safeguards"
Inputs
repoScope: repositories/workflows in scopeorgPolicyContext(optional): organization-level Actions/security settingstokenPolicy: default and per-job permission modelthirdPartyActionPolicy: approved actions and pinning strategyforkPolicy: external contributor and approval requirementsexceptionPolicy(optional): approved deviations with owner/expiry
Invariants
- Third-party actions must be pinned to immutable SHAs.
GITHUB_TOKENpermissions default to least privilege.- Untrusted input must never be directly interpolated into shell commands.
- Workflow changes require explicit ownership/review controls.
- Secrets exposure paths are blocked and auditable.
Procedure
- Inventory and baseline
- Enumerate workflows, referenced actions, trigger events, and permission scopes.
- Identify mutable version tags, broad permissions, and unguarded secret usage.
- Enforce action integrity
- Pin actions to immutable SHAs.
- Introduce update automation for pinned SHAs (for example Dependabot strategy).
- Minimize token privileges
- Set restrictive workflow-level defaults.
- Grant job-specific permissions only where required.
- Harden untrusted input handling
- Refactor vulnerable
runinterpolations to safe env/script patterns. - Validate PR metadata handling against injection risks.
- Secure fork/PR execution model
- Prefer safe trigger patterns for external contributions.
- Constrain or gate privileged execution paths.
- Protect secrets and environments
- Enforce environment protection for sensitive jobs.
- Validate no secret values are logged or passed insecurely.
- Apply change governance
- Require CODEOWNERS/reviewer controls for workflow/action paths.
- Enforce org-level policy settings for Actions permissions and approvals.
- Validate and monitor
- Lint workflows, run dry checks, and verify policy enforcement behavior.
- Publish security audit report with remediation backlog and ownership.
Outputs
- Hardened workflow definitions with pinned actions and scoped permissions.
- Workflow security audit report with findings and remediation status.
- Governance controls for workflow path changes (owner/reviewer policy).
- Exception register for temporary deviations.
Review gate
- [ ] All third-party actions are SHA-pinned.
- [ ] Workflow/job token permissions follow least-privilege model.
- [ ] No unsafe untrusted-input interpolation paths remain.
- [ ] Secret handling and environment protection controls are enforced.
- [ ] Workflow change governance and approval controls are active.
References
../../SKILL.md../implementing-devsecops-security-scanning/SKILL.md../review/SKILL.md