2026 年 6 月 18 日合併的 PR 1218,將 GitHub Issue 標題直接插入 shell 指令,導致公開儲存庫的 GitHub Actions 工作流程可遭命令注入。 Wiz 的自主攻擊測試工具 Red Agent 在五天後發現漏洞,透過 Snowflake HackerOne 計畫提交特製 Issue,將 Jira 憑證傳送至授權的帶外回呼端點。
研究答案

Create a landscape editorial hero image for this Studio Global article: How did GitHub’s Copilot Autofix AI introduce a shell-injection vulnerability into Snowflake’s public .NET connector repository, how did Wiz. Article summary: The incident was a GitHub Actions workflow injection in Snowflake’s public `snowflake-connector-net` repository, not a flaw in the .NET connector’s shipped runtime code. A June 18, 2026 change in PR #1218 made an issue t. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fa
這起事件並不是 Snowflake .NET 連接器本身存在漏洞,而是公開儲存庫 snowflakedb/snowflake-connector-net 的 GitHub Actions 工作流程出現注入問題。2026 年 6 月 18 日,一項變更把攻擊者可控制的 GitHub Issue 標題放進 shell 指令;五天後,Wiz 的自主安全測試工具 Red Agent 發現漏洞,並在獲授權的 HackerOne 測試中取得 Snowflake 內部 Jira 的憑證。
問題位於 .github/workflows/jira_issue.yml。這個工作流程會在 GitHub Issue 開啟時觸發。PR #1218「SNOW-2069227: Update Jira workflows」合併後,原本較安全的做法被改掉:此前,Issue 標題會先放入環境變數,再由 jq 建立 JSON;新版本則直接把 ${{ github.event.issue.title }}run: shell 區塊。
這個差異十分關鍵。GitHub 會先展開該運算式,之後才交由 shell 執行指令。換句話說,攻擊者只要在 Issue 標題中放入單引號,就可能結束原本的字串,並追加自訂 shell 指令。工作流程後續雖然使用 sed 清理內容,但清理發生在 shell 已經解析字串之後,無法挽回先前的注入。
issues: opened
該提交的共同作者欄位標示「Copilot Autofix powered by AI」,而 AI 輔助審查並未指出問題。不過,現有證據無法確定 Copilot 是產生了不安全變更,還是僅參與共同作者或審查、卻沒有發現注入漏洞。因此,較謹慎的說法是:Copilot 與這項變更有關,且未能攔截漏洞;目前不能斷言程式碼必然由模型產生。
Wiz 的 Red Agent 掃描 Snowflake 公開 GitHub 組織中的高風險 CI/CD 模式,發現 Jira 工作流程把不受信任的 Issue 資料放進 shell run: 區塊。它進一步推斷,只要提交特製的公開 Issue 標題,就可能在 GitHub-hosted Actions runner 上執行任意指令。
2026 年 6 月 23 日,也就是漏洞變更合併五天後,Red Agent 透過 Snowflake 的 HackerOne 漏洞揭露計畫開啟特製 Issue。該標題跳脫原本的 shell 字串,觸發工作流程把 Jira 憑證傳送至一個由測試方控制、用於授權概念驗證的帶外回呼端點。
這不是未經授權的入侵,而是獲 Snowflake 許可的安全測試。不過,測試揭示的風險是真實存在的:公開儲存庫中的一般 Issue,可以觸及處理內部憑證的工作流程步驟,並進一步轉化為命令執行。
遭利用的工作流程可讀取 Snowflake 內部 Jira 的設定,包括 Jira 網址、使用者電子郵件和 API token。取出的 token 與 qa@snowflake.net 帳號相關;Wiz 使用它登入內部 Jira 入口,以確認可能的暴露範圍。
相關報導指出,該憑證可讀取涵蓋工程、安全合規與漏洞獎勵活動的 Jira 專案。 不過,現有資料並未完整列出 token 的所有權限,也沒有提供每一筆可存取紀錄的確切清單。因此,目前最穩妥的結論是:該 token 足以存取敏感的內部 Jira 內容,但不能據此宣稱它能無限制進入 Snowflake 其他系統。
受影響的資產是儲存庫中的 CI/CD 自動化,而不是 Snowflake Connector for .NET 的執行時程式碼。當時沒有報告指出任何已發布的 Snowflake .NET 連接器版本受到影響。
Wiz 在 6 月 23 日通報漏洞。Snowflake 當天便修補工作流程,並於翌日輪替暴露的 Jira 憑證。
Snowflake 隨後檢視稽核記錄,表示在暴露期間只有 Wiz 進行相關操作;Wiz 也表示已安全刪除測試過程中取得的概念驗證資料。
目前沒有報告顯示有未授權第三方存取,也沒有 CVE 編號或受影響的連接器版本。這些資訊界定了目前確認的影響範圍,但不代表原本的工作流程設計是安全的:處理內部憑證的工作流程,不應讓公開 Issue 標題直接成為 shell 指令的一部分。
這起事件的重點不只在 Snowflake 或 Copilot。只要 GitHub 的運算式可能進入 shell 指令,Issue 標題、Pull Request 標題、分支名稱與留言都應被視為不受信任、甚至具攻擊性的輸入。
較安全的工作流程設計包括:
run: 腳本。jq 等結構化工具建立 JSON,不要以串接 shell 字串的方式組裝資料。這起事件也呈現出日益明顯的安全趨勢:一個 AI 輔助程式系統可能漏掉危險的 CI/CD 變更,另一個自主攻擊代理則能在數天內找到並驗證漏洞。自動化可以同時加快修補與攻擊,但不能取代獨立的安全審查。
Studio Global AI
這個頁面包含附來源佐證的答案,你可以在 Studio Global 內繼續追問。
2026 年 6 月 18 日合併的 PR 1218,將 GitHub Issue 標題直接插入 shell 指令,導致公開儲存庫的 GitHub Actions 工作流程可遭命令注入。
2026 年 6 月 18 日合併的 PR 1218,將 GitHub Issue 標題直接插入 shell 指令,導致公開儲存庫的 GitHub Actions 工作流程可遭命令注入。 Wiz 的自主攻擊測試工具 Red Agent 在五天後發現漏洞,透過 Snowflake HackerOne 計畫提交特製 Issue,將 Jira 憑證傳送至授權的帶外回呼端點。
漏洞影響的是 CI/CD 自動化,不是已發布的 Snowflake .NET 連接器;Snowflake 當天修補、翌日輪替憑證,並表示稽核未發現未授權第三方存取。