實證研究 發布於 AIA: 2026年8月5日

IDEsaster 新型態漏洞:Agent 寫入普通檔案,竟觸發 IDE 自動化機制接手執行惡意程式碼

IDEsaster 揭露了一類橫跨多款 AI 開發環境的全新資安漏洞。當 Agent 遭間接提示詞注入 (Indirect Prompt Injection) 控制後,無需呼叫顯著的危險工具即可發起攻擊;僅需執行常規的檔案寫入,底層 IDE 便會自動載入遠端 Schema、擴張 Workspace 信任邊界或執行設定指定的外部程式。該研究共通報超過 30 項漏洞與 24 個 CVE,涵蓋十餘款主流產品。此研究證實:資安審查切勿僅限於 Agent 工具清單,必須將 IDE 本體、原生橋接層 (Native Bridge) 及背景自動化功能所疊加的整體權限一併納入評估。

Indirect Prompt InjectionRemote Code ExecutionTool AuthorizationClient SecurityAI Coding IDE
6 項對應的 AIDEFEND 防禦手法
來源: IDEsaster: A Novel Vulnerability Class in AI IDEs 
作者: Ari "MaccariTA" Marzouk
原文發布: 2025年12月6日

威脅分析

  • 核心資安風險在於組合後的桌面應用程式權限。 重現的攻擊鏈組合了間接提示詞注入、Agent 的普通或脆弱工具,以及基底 IDE 的自動化背景功能。若單純審查 Agent 宣告的工具清單,將會忽略 Schema 載入器、Workspace 組態與原生整合所隱含繼承的高階權限。
  • 單純的檔案寫入可直接轉化為非預期的出站網路請求。 受入侵的 Agent 可將機密憑證寫入遠端 $schema URL。Visual Studio Code、JetBrains 或 Zed 在進行檔案解析或 Diff 預覽時即會自動發起網路連線,導致使用者在介面上看到「是否同意變更」前,資料便已完成外洩。
  • 組態設定檔變更可將檔案寫入直接升級為程式碼執行 (RCE)。 漏洞路徑展現了透過 php.validate.executablePathPATH_TO_GIT 將檔案寫入導向惡意執行檔的手法。修改 *.code-workspace 更能靜默引入外部資料夾,進而突破原有的安全隔離邊界。
  • 漏洞影響範圍極廣,惟修復仍需依各產品個別落實。 研究人員通報了超過 30 項發現與 24 個 CVE,受測產品均存在至少一條可行攻擊路徑。此為控制環境下的負責任揭露研究,目前尚無公開證據顯示 IDEsaster 已被用於實際惡意攻擊。

適用的 6 項 AIDEFEND 防禦手法

AID-H-017.002
Least-Privilege Tool Architecture
極高
僅賦予程式開發 Agent 通過白名單、型別明確且單一用途的工具能力,嚴禁提供廣泛的檔案系統、Shell、HTTP 或原生 API 存取權限。將常規程式碼修改與敏感 IDE 組態、Workspace 根目錄、執行檔綁定及 OS 整合完全劃清授權邊界,即可從架構層拔除 IDEsaster 組合式攻擊所需的連帶權限。
AID-H-019.001
URL Normalization & Allowlist Filtering
極高
將所有 IDE 背景連線 (包含預覽階段的遠端 Schema 載入) 強制收驗至統一的安全連線服務;該服務需實施 URL 正規化 (Normalization)、解析並固定 IP (IP Pinning)、嚴密校驗重新導向與私有網段,僅允許連線至經核准的網域。控制點的位置至關重要,若僅過濾 Agent 專屬的 HTTP 工具,將完全無法攔截基底 IDE 自動發起的 Schema 請求。
AID-H-018.001
Tool Parameter Constraint & Schema Validation
針對檔案寫入定義嚴格的 Schema 結構規範,強行拒絕未預期欄位、路徑穿越 (Path Traversal)、跨 Workspace 寫入,以及對 .vscode.idea*.code-workspace、可執行 Hook 等高風險目標的修改。此舉能於 IDE 解析消費該檔案前,優先截斷關鍵的寫入攻擊原語 (Write Primitives)。
AID-H-018.003
High-Impact Independent Validation & Approval Gate
在檔案寫入或預覽產生實體副作用前,獨立向使用者呈現並要求核准精確目標路徑、內容雜湊值 (Digest)、Workspace 邊界變更、執行檔綁定與預期網路出站效果。將核准緊密綁定至標準化後的實體動作,可避免籠統的「允許編輯檔案」對話方塊被利用以放行危險組態變更或早已發生的網路連線。
AID-H-003.010
Deployed AI Software Vulnerability Remediation Lifecycle
全面盤點團隊實際運行的 IDE、AI 程式助理、擴充套件及內嵌執行期版本,將各產品與對應的 CVE 通告進行比對校驗,分階段部署安全修補版本,並透過端點清查確認脆弱版本已全數下線。鑑於 24 個 CVE 分散於多款產品,切勿誤以為引用單一廠商的升級通告即代表整類漏洞皆已修復。
AID-I-007
Client-Side AI Execution Isolation
針對 Electron 或原生桌面軟體,僅透過 Native Bridge 暴露具名且經過允許清單管控的 API,嚴禁開放任意 IPC 通訊、檔案系統路徑、Node 全域物件或通用原生呼叫。此舉能有效分隔 AI 執行環境與基底 IDE 及 OS 權限;惟此控制僅適用於用戶端架構具備可強制執行之 Bridge 邊界的場景。

身為資安防禦者,我們應該這麼做

  • 全面盤點企業內部所有的 AI IDE 與程式開發助理版本,逐一比對 IDEsaster 的相關安全通告。切勿假設某家廠商的修復更新會自動封堵其他 IDE 產品中的相同攻擊原語。
  • 測試整體組合後的桌面應用程式,而非僅評估 Agent 的工具清單:實測寫入遠端 Schema 的 JSON、修改 IDE 組態設定、變更多根目錄 Workspace 描述檔,並觀察預覽或解析過程是否會在使用者授權前即觸發網路連線或程式碼執行。
  • 除非該精確動作已取得獨立的二階段授權核准,否則應嚴格禁止 Agent 具備寫入 IDE 組態設定、Workspace 描述檔、可執行 Hook 及專案範圍外路徑的權限。
  • 強制所有遠端 Schema 載入器及背景出站請求通過集中管理的 Safe-Fetch 安全連線邊界,並完整記錄發起檔案、功能組件、最終 URL、重新導向鏈與政策處置日誌。
  • 對於桌面用戶端,應極小化 Native Bridge 的曝露面,並讓 Agent 控制的程式碼於缺乏主機憑證與受限出站網路的隔離 Workspace 中運作。彈出警告視窗僅為輔助提示,絕不可替代具強制力的安全邊界。

結論

IDEsaster 揭示的本質是權限組合 (Authority Composition) 的危害。當周圍的 IDE 本體默默補上了網路存取、Workspace 邊界擴張、執行檔組態設定與原生 OS 權限時,看似無害的檔案寫入工具便能升級為嚴重的 RCE 攻擊鏈。團隊可參考 AIDEFEND  對應的防禦手法,於各個實體邊界落實工具最小權限、嚴格路徑約束、副作用前核准機制、IDE 全局 Safe-Fetch 安全連線、用戶端執行隔離及可驗證的版本漏洞修補。資安審查的目標必須是完整的「Agent + IDE」整體系統,包含預覽與解析階段的所有隱蔽動作。