當前 AI 輔助開發工具(AI Coding Assistants)為了提供更強的功能,開始允許 AI 直接與本地工具、資料庫或 API 互動。然而,這種便利性也帶來了嚴重的安全風險。近期 Amazon Q Developer 被發現存在一個高風險漏洞(CVE-2026-12957),讓攻擊者只要在程式碼儲存庫中放置一個簡單的設定檔,就能在開發者不知情的情況下執行惡意指令並竊取雲端憑證。
漏洞的核心在於 Model Context Protocol (MCP) 的處理機制。MCP 是一種開放標準,旨在讓 AI 助手能夠透過本地伺服器(MCP Servers)來擴充能力,例如讀取資料庫或呼叫特定 API。簡單來說,MCP 伺服器就是 AI 啟動的本地行程(Local Process),用來充當 AI 與外部工具之間的橋樑。
在漏洞發生前,Amazon Q 會自動讀取工作區中 .amazonq/mcp.json 這個設定檔,並根據其中的定義啟動對應的 MCP 伺服器。問題在於,如果一名開發者從 GitHub 等平台 Clone(複製)了一個惡意儲存庫,並在 IDE 中將該工作區標記為信任,Amazon Q 就會直接執行該設定檔中定義的指令。
對於工程師來說,最危險的地方在於權限繼承。這些由 AI 啟動的 MCP 伺服器行程會繼承開發者的完整環境變數。在現代雲端開發流程中,開發者的環境通常包含 AWS Access Keys、雲端 CLI 令牌(Tokens)、API 金鑰以及 SSH Agent Sockets。攻擊者可以利用這一點,在設定檔中寫入像是 aws sts get-caller-identity 這樣的指令,將目前的雲端身分資訊直接發送到遠端伺服器。
這意味著攻擊者不需要密碼,也不需要經過二次驗證,只要你打開了那個儲存庫並信任工作區,你的雲端權限就可能在瞬間被盜走。根據開發者權限的不同,後續影響可能包括被植入後門、存取內部機密服務,甚至直接入侵生產環境。
針對此漏洞,Amazon 已經發布修補程式。目前的解決方案是在啟動 MCP 伺服器之前,增加一個明確的同意步驟。現在 Amazon Q 會標記未信任的 MCP 伺服器,並要求開發者在指令執行前手動確認或拒絕。
此漏洞影響範圍較廣,因為它存在於 Language Servers for AWS 這個運行時組件中,而這個組件被整合在 VS Code、JetBrains、Eclipse 和 Visual Studio 的所有 Amazon Q 插件中。建議所有使用者將插件更新至最新版本(建議 1.69.0 或更高版本),以同時修復另一個關於符號連結(Symlink)檢查缺失的漏洞(CVE-2026-12958),該漏洞可能導致 AI 在工作區信任邊界之外寫入任意檔案。
值得關注的是,這並非 Amazon Q 獨有的問題,而是一個系統性的設計陷阱。近期 Claude Code、Cursor 以及 Windsurf 等 AI 工具都出現過類似的 MCP 信任漏洞。這揭示了一個關鍵的安全性原則:任何隨專案儲存庫傳遞的設定檔都應該被視為不可信的輸入(Untrusted Input)。將設定檔直接轉化為可執行行程的行為,必須經過開發者的明確授權,而非隱含在工作區信任之中。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。