觀點 · 資訊分享

AWS AgentCore SDK 的套件安裝功能有指令注入漏洞:1.18.1 以前要升級

AWS 7/23 發布安全公告 2026-065-AWS:Bedrock AgentCore Python SDK 的 install_packages() 沒處理好參數分隔字元,通過驗證的使用者可能在 Code Interpreter 沙盒裡執行任意指令。請升級到 1.18.1。

發布
2026-07-23
篇幅
約 4 分鐘 · 1,638 字
結構
7 節 + 3 題常見問題
標籤
#AWS#Bedrock AgentCore#CVE-2026-16796#指令注入
AWS AgentCore SDK 的套件安裝功能有指令注入漏洞:1.18.1 以前要升級

一句話看懂:AWS 的 AI 代理開發套件 bedrock-agentcore,在「幫沙盒裝套件」的功能裡有指令注入漏洞:通過驗證的使用者只要塞進特製的套件名稱,就可能在沙盒裡執行任意指令;1.18.1 已修補。

AWS AgentCore SDK 套件安裝有漏洞資訊圖卡:塞進特製的套件名稱,就可能在沙盒裡執行任意指令

先用白話講:什麼是指令注入?

想像你請餐廳外送,訂單上寫「炒飯一份」。如果系統直接把訂單內容貼給廚房,而有人把訂單寫成「炒飯一份,順便把收銀機打開」,廚房又照單全收,就出事了。這就是指令注入:本來只該當成「資料」的字串,被系統當成「指令」執行。

AWS 的 Bedrock AgentCore 提供 AI 代理使用的 Code Interpreter:代理需要跑 Python 時,會在一個受管的沙盒裡執行。SDK 裡有個 install_packages() 方法,用來替沙盒安裝 Python 套件。這次的問題就出在它。

發生什麼事

AWS 在 7 月 23 日(美國太平洋時間)發布安全公告 2026-065-AWS,類型標示為「重要(需要注意)」:

  • 漏洞編號:CVE-2026-16796
  • 問題:install_packages() 沒有妥善處理參數的分隔字元
  • 後果:通過驗證的遠端使用者,可能藉由特製的套件名稱參數,在 Code Interpreter 沙盒內執行任意指令
  • 受影響版本:bedrock-agentcore 1.18.1 以前
  • 修補版本:1.18.1
  • 評分:NVD 收錄 AWS 提供的 CVSS 4.0 為 8.4(高)

AWS 也特別提醒:如果你有複製或衍生的程式碼,記得同步套上修補。

這不是第一次

同一個方法在 6 月 17 日就有過類似的公告 2026-044-AWS(CVE-2026-12530):舊版用一份不完整的封鎖清單來過濾套件名稱,再組成 pip install 指令,結果特製的參數可以繞過檢查,最嚴重的是 --index-url(把套件來源導向第三方控制的伺服器)與 -r(可能讀出沙盒內的任意檔案)。影響 1.1.3 以上、低於 1.6.1 的版本,1.6.1 修補。

兩次問題的共通點是:把外部字串組成指令前,檢查得不夠嚴。

給開發者的技術細節

  • 先確認版本:
pip show bedrock-agentcore
  • 無法立即升級時,AWS 的做法是:不要把未信任或模型產生的輸入傳給 install_packages()
  • 必須接受動態套件名稱時,先用嚴格的 PyPI 命名規則驗證,包括把「extras」群組限制為以逗號分隔的識別字,再呼叫 SDK
  • 6 月那次的建議更保守:只允許固定、寫死的核准套件清單

我的看法

這個漏洞很適合拿來提醒做 AI 代理應用的人:代理經常會「決定」要裝哪個套件,這個名稱其實是模型產生的字串,可能被提示注入或惡意內容影響。換句話說,來自模型的輸出,應該跟來自使用者的輸入一樣被當成不可信資料。

實務上最穩的做法,是用白名單:只允許事先審核過的套件名稱,而不是試圖用黑名單擋掉危險的寫法。6 月那次封鎖清單不完整,就是黑名單容易漏的例子。

名詞小辭典

  • 指令注入(Command Injection):讓系統把輸入的資料當成指令執行的漏洞。
  • 沙盒(Sandbox):限制程式能做什麼的隔離環境。
  • 白名單/黑名單:只准許列出的項目,與只禁止列出的項目。
  • CNA:有權限替自家產品發 CVE 編號的組織。

資料來源

常見問題

AgentCore 的 Code Interpreter 是什麼?
AWS 為 AI 代理提供的程式碼執行環境:代理需要跑 Python、裝套件時,會在這個受管的沙盒裡進行,而不是直接動到你的主機。
這個漏洞怎麼發生的?
install_packages() 會把套件名稱組成 pip 安裝指令在沙盒裡執行。公告指出,它沒有妥善處理參數的分隔字元,所以特製的套件名稱可能被當成額外的指令參數,進而執行任意指令。
危害有多大?
AWS 把公告標示為「重要」,NVD 記錄的 CVSS 4.0 評分為 8.4(高)。漏洞需要通過驗證的使用者才能觸發,且影響範圍限於 Code Interpreter 沙盒內;沙盒之外的影響,目前公告沒有說明。
LINE