回到頂部
Mason AI Lab tech article hero for Semantic Kernel RCE 漏洞代表什麼?Prompt Injection 已經不只是內容安全問題

Semantic Kernel RCE 漏洞代表什麼?Prompt Injection 已經不只是內容安全問題

Microsoft 揭露 Semantic Kernel 兩個 AI agent framework 漏洞,攻擊者可透過 prompt injection 影響工具參數,進一步造成 RCE 或任意檔案寫入。

Microsoft Defender 研究團隊在 2026 年 5 月公開一個很有警示性的案例:Semantic Kernel 裡的漏洞,能讓 prompt injection 從「內容被誘導」變成「主機層級執行風險」。

這個案例應該放進所有 AI agent 團隊的 threat model。

因為 agent 不只是回文字。它會讀檔、查資料庫、跑程式、呼叫 plugin、存取內部系統。當模型輸出的工具參數被框架信任,prompt injection 就可能變成真正的 execution primitive。

發生了什麼事?

Microsoft 研究聚焦 Semantic Kernel,公開兩個已修補漏洞:

漏洞風險重點
CVE-2026-26030In-Memory Vector Store 搜尋外掛的預設 filter 設計可能讓 prompt-controlled input 進入可執行路徑
CVE-2026-25592SessionsPythonPlugin 中特定檔案處理函式可能讓模型控制 host 端檔案路徑

第一個案例裡,攻擊者需要能影響 prompt,而且 agent 使用 Python semantic-kernel 低於 1.39.4,並搭配 In-Memory Vector Store 的 Search Plugin 預設設定。

在這些條件同時成立時,模型控制的參數可能進入動態 filter,最後造成 RCE。

第二個案例更像 sandbox 邊界問題。原本 agent 可以在隔離環境跑 Python,但檔案下載函式被暴露成模型可呼叫工具後,local file path 變成模型可控,進而造成任意檔案寫入風險。

為什麼這不是「模型問題」?

這裡真正的問題不是 LLM 想攻擊你。

問題在架構:

  1. 外部內容影響 prompt。
  2. 模型把自然語言解析成工具呼叫。
  3. Framework 把模型輸出的參數傳給 plugin。
  4. Plugin 或框架沒有把參數視為不可信輸入。
  5. 參數碰到 eval、檔案路徑、shell、SQL、瀏覽器、內部 API 等危險 sink。

只要 agent 能碰工具,prompt injection 就不能只用「內容安全」處理。

它必須被當成 software supply chain、input validation、sandbox escape、least privilege 的綜合問題。

受影響團隊該做什麼?

如果你使用 Semantic Kernel,第一步是盤點版本與用法。

Microsoft 提到 CVE-2026-26030 的修補方式是升級 Python semantic-kernel 到 1.39.4 或更高版本。

但長期來看,不能只靠升級。

你需要檢查:

  • Agent 是否有 Search Plugin、code execution、file operation、browser action。
  • Tool schema 是否允許過寬參數。
  • 是否有 eval、dynamic code、shell command、任意 path。
  • 工具輸入是否做 allowlist。
  • Agent host 是否有過大權限。
  • 是否有 endpoint telemetry、process tree、outbound connection log。
  • Prompt injection 測試是否進 CI。

工具參數要當成不可信輸入

很多團隊現在還把 agent tool call 當成「模型懂了我的意思,所以可以照做」。

這是危險假設。

比較正確的做法是:

類型建議
檔案路徑限制在工作目錄,禁止絕對路徑與上層路徑
搜尋 filter用結構化查詢 builder,不拼字串,不 eval
shell 指令能不用就不用,必要時只允許固定命令與固定參數
API 操作按任務拆最小權限 token
高風險動作加人工確認、審計與回滾

Agent 的工具層要像傳統後端 API 一樣嚴格,不是像 prompt 補充說明一樣寬鬆。

這和 RAMPART、Clarity 的關係

Microsoft 同月也開源 RAMPART 與 Clarity,方向其實一致。

Semantic Kernel RCE 案例告訴我們:agent framework 會出現新型漏洞。

RAMPART 和 Clarity 則回答另一個問題:這些漏洞不能只靠一次性修補,應該變成可重複測試、可記錄、可審查的工程流程。

例如一次 red-team 發現「外部文件能誘導 agent 寫檔」,修完後就該把這個情境變成 regression test。

結論

Prompt injection 已經不是「使用者騙模型講錯話」。

在 agent framework 裡,它可能變成工具參數注入、檔案操作、sandbox escape,甚至 host-level RCE。

所有把 LLM 接到工具的團隊,都要把模型輸出視為不可信輸入。這不是保守,是 2026 年 agent 開發的基本線。

參考來源

№ · further reading

延伸閱讀