It happens when a workflow's `run:` block uses `${{ github.event.* }}` expression syntax to insert untrusted, attacker-supplied text (issue titles, PR titles, comment bodies, branch names) directly into a shell command instead of passing it through an `env:` variable first. Because the substitution happens before the shell parses the line, control characters like quotes can break out of the intended string and execute arbitrary commands. Open-source linters like zizmor and actionlint can detect the pattern; Wiz Research's Wiz Red Agent used exactly this bug to reach Snowflake's internal Jira in a June 2026 disclosure.