Overview
On June 23, 2026, Wiz Research disclosed a critical GitHub Actions script injection vulnerability in Snowflake’s public snowflakedb/snowflake-connector-net repository. The flaw was independently discovered and exploited by Wiz’s autonomous “Red Agent” — an AI-powered offensive security tool — just five days after the vulnerable code was merged. What makes this incident particularly significant is its origin: the vulnerable pattern was introduced by a commit co-authored by GitHub Copilot Autofix, and the same AI-assisted review process failed to flag the resulting critical vulnerability. Snowflake remediated the issue on the day of disclosure and confirmed via audit logs that Wiz was the sole actor during the exposure window.
Technical Analysis
The vulnerability resided in jira_issue.yml, a workflow triggered whenever any GitHub user opened an issue on the repository. A prior safe implementation passed the issue title through an env: variable and constructed the JSON payload using jq, preventing shell injection:
env:
ISSUE_TITLE: ${{ github.event.issue.title }}
run: jq -n --arg title "$ISSUE_TITLE" ...
The Copilot Autofix co-authored commit (PR #1218, June 18 2026) replaced this pattern with direct GitHub expression interpolation inside a run: block, relying on sed for escaping:
run: |
TITLE=$(echo '${{ github.event.issue.title }}' | sed 's/"/\\"/g' | sed "s/'/\\\'/g")
The critical flaw: GitHub’s template engine expands ${{ github.event.issue.title }} before the shell executes, so the sed escaping never processes attacker-controlled input at the right stage. A single quote in the issue title terminates the echo '...' argument and allows arbitrary command injection. An attacker simply opens a GitHub issue with a crafted title to achieve remote code execution on the Actions runner — no authentication required.
Wiz Red Agent exploited this to exfiltrate a secret token present in the runner environment, which granted access to Snowflake’s internal Jira portal.
Framework Mapping
- AML.T0047 (AI-Enabled Product or Service): GitHub Copilot Autofix, an AI product, directly introduced the vulnerability through a code suggestion merged without adequate human security review.
- AML.T0010 (AI Supply Chain Compromise): The compromised code change entered the supply chain via an AI co-authored PR, affecting downstream CI/CD security posture.
- AML.T0086 / AML.T0083: Red Agent exfiltrated credentials via automated tool invocation and leveraged them for lateral access.
- LLM09 (Overreliance): Developers and reviewers trusted Copilot’s output and review without independent security validation.
- LLM05 (Supply Chain Vulnerabilities): The AI-assisted PR introduced a security regression into a public, widely-used repository.
Impact Assessment
The blast radius included access to Snowflake’s internal Jira instance via an exfiltrated token. Snowflake confirmed that no data was retained by Wiz and that no other actor accessed the system during the exposure window. However, the vulnerability was publicly exploitable for five days — any threat actor scanning GitHub Actions workflows for injection patterns could have discovered and exploited it independently.
The broader industry implication is severe: AI coding assistants can introduce subtle, high-severity vulnerabilities while simultaneously providing a false sense of security through AI-powered review.
Mitigation & Recommendations
- Ban direct expression interpolation in
run:blocks. Always pass untrusted GitHub event data throughenv:variables; never embed${{ }}expressions directly in shell scripts. - Implement SAST rules for Actions injection patterns. Tools like
zizmoror Semgrep Actions packs can detect these patterns in CI. - Require human security review for AI-generated commits touching CI/CD workflow files, especially those modifying input handling.
- Scope workflow secrets tightly. Tokens available to issue-triggered workflows should have minimal permissions — never access to internal systems like Jira.
- Run autonomous red-team scanning against your own GitHub organisation to detect injection-vulnerable workflows proactively.