新聞

AI安全業者Adversa AI於6月30日揭露名為GuardFall的攻擊手法。研究指出,多款開源AI程式開發代理與電腦操作型AI代理在執行Shell命令前,安全檢查主要仰賴原始命令字串比對或阻擋清單,攻擊者可利用Bash等命令列直譯器(Shell)的特性,在實際執行命令前,先展開變數、移除引號並重新解析命令,避開代理程式檢查,讓惡意命令以開發者帳號權限,在開發者主機或CI環境執行。

這項研究測試opencode、Goose、Cline等11款熱門開源AI程式開發代理與電腦操作型代理。結果顯示,除Continue外,有10款工具在代理程式將命令交由Bash等命令列直譯器執行的流程中,分別存在防護可被繞過、缺乏靜態命令檢查機制,或切換本機模式後失去容器沙箱保護等問題;僅Continue在預設IDE模式下採用較完整的命令解析與安全檢查機制。

不過,GuardFall攻擊並非在所有情境下都會成立,攻擊鏈仍取決於AI模型是否會將惡意內容視為一般開發任務並產生Shell命令,以及代理程式是否允許在缺乏人工確認的情況下自動執行命令。若攻擊成功,可能危及開發者主機上的SSH金鑰、雲端憑證,以及CI環境中的部署金鑰、套件登錄平臺的憑證等敏感資料。

對此,Adversa AI建議開發團隊可先關閉--auto-exec、--auto-run、--auto-test等自動執行旗標或功能,避免AI代理在自動執行模式下處理拉取請求(pull request)中的未受信任內容。長期而言,AI代理不應只依賴阻擋清單,而應在命令交給Shell執行前,完成完整的命令解析與安全檢查。