Wiz Research 團隊發現,GitHub Copilot Autofix 參與修改 Snowflake 公開 GitHub 儲存庫中的工作流程後,意外引入 Shell Injection 漏洞,令攻擊者可透過建立特製 GitHub Issue 觸發任意指令執行,並取得 Snowflake Jira 系統的存取權限。
這宗事件突顯 AI 編碼工具在自動修復或優化程式碼時,可能移除原本具備的安全防護。Wiz 表示,漏洞在被發現前僅存在約五日,Snowflake 其後完成修補。

漏洞出現在 Snowflake 公開 GitHub 儲存庫
涉事儲存庫為 Snowflake 的 snowflakedb/snowflake-connector-net。其中一個 GitHub Actions workflow 會在有人建立 GitHub Issue 時自動執行,原本用途是處理 Jira 整合。
問題在於,工作流程直接將 Issue 標題內容插入 Shell Script。由於輸入沒有以安全方式隔離,攻擊者可在標題中加入特製內容,形成 Shell Injection,進而嘗試執行任意命令。
AI 修復改動移除了輸入防護模式
Wiz 指出,相關漏洞並非長期存在的歷史問題,而是在 2026 年 6 月 18 日合併 Pull Request #1218 後出現。該 Pull Request 標題為「SNOW-2069227: Update jira workflows」,並由「Copilot Autofix powered by AI」共同署名。
根據調查,原本較安全的輸入處理方式採用環境變數配合 jq,以降低直接插入 Shell 指令的風險。然而,後續修改將這套處理方式改為直接進行字串插值,令不受信任的 Issue 標題能夠進入 Shell Script,最終引入指令注入風險。
Wiz Red Agent 成功驗證指令執行
Wiz Research 使用其全自動 AI 安全研究工具「Red Agent」掃描 Snowflake 的 GitHub Repository,並發現這項漏洞。Wiz 表示,測試期間只要建立含有特製標題的 GitHub Issue,便可觸發工作流程。
在測試過程中,研究團隊最初使用 # 嘗試修改 Shell 指令結構,但造成 Bash 語法錯誤。其後,AI Agent 根據錯誤結果調整 Payload,使用 ; echo ‘ 等內容正確關閉 Shell 結構,最終成功執行命令並外洩憑證資料。
Wiz 表示,團隊取得一個 Jira Token,該 Token 以 qa@snowflake.net 身分完成驗證,並可存取 Snowflake 的工程、保安合規及漏洞獎勵追蹤專案。
漏洞在五日後修補
Wiz 發現問題後向 Snowflake 報告,Snowflake 約五日後完成修補。現有資料顯示,事件由安全研究團隊主動發現及通報,並未提供有真正外部攻擊者利用該漏洞的證據。
不過,這段時間差仍反映出自動化工作流程可能帶來的風險:一旦公開儲存庫中的 GitHub Actions 具備連接內部服務或使用敏感 Token 的權限,原本看似普通的輸入處理錯誤,可能擴大為憑證外洩及未授權存取事件。
AI 生成程式碼仍須接受完整安全審查
這宗事件並不代表 AI 編碼工具必然會產生漏洞,但說明由 AI 協助產生或修改的程式碼,不能因為具備自動化修復標籤便跳過一般安全流程。
- 維持程式碼審查:AI 生成或修改的程式碼,應與人工撰寫的程式碼一樣接受同儕審查及靜態分析。
- 保護安全關鍵模式:對輸入清理、權限檢查及憑證處理等程式碼建立 Guardrails,避免自動化工具在未經審核下移除既有防護。
- 檢查 CI/CD 權限:GitHub Actions 等自動化工作流程應遵循最小權限原則,並限制其可使用的 Token、環境變數及外部服務。
- 縮短漏洞回應時間:漏洞僅存在數日便被發現,顯示企業需要持續掃描公開儲存庫及工作流程設定,以縮短修補窗口。
- 採用短效憑證:對工作流程及整合服務使用的 Token 實施定期輪換、權限限制及到期機制,以降低外洩後的影響。
自動化攻擊與防禦同步加速
這宗事件的另一個特點,是漏洞由 AI 驅動的安全研究工具發現,而測試過程亦涉及 AI Agent 根據錯誤結果調整攻擊內容。這顯示未來安全研究、漏洞驗證及攻擊活動都可能進一步自動化,企業的程式碼審查、監控及修補流程亦需要相應加快。
對開發團隊而言,AI 可以提升編碼效率,但不會取代對 Shell Injection、輸入驗證、權限控制及憑證管理等基本安全原則的理解。這宗事件再次說明,程式碼變得更簡潔,並不代表安全性必然提高。
Reference Link : techbuzz.hk




