Black Hat Europe 2025 | Breaking AI Inference Systems: Lessons From Pwn2Own Berlin
三句話摘要
在 Pwn2Own Berlin 2025 AI 類別競賽中對推理系統的漏洞挖掘與安全研究經驗。 AI 推理系統因開發早期、backend 眾多且檔案解析複雜,存在大量常見漏洞,隨著企業部署增加已成為高價值攻擊面,應重視 Fuzzing 等漏洞挖掘方法。 AI 基礎設施成為正式攻擊面:Pwn2Own 2025 首次納入 AI 類別,包含向量資料庫(Chroma、pgvector、Redis)、推理伺服器(Ollama、Triton)和容器工具,表明 AI 系統安全已受關注,研究越來越成熟。
重點整理
重點- 1
AI 基礎設施成為正式攻擊面:Pwn2Own 2025 首次納入 AI 類別,包含向量資料庫(Chroma、pgvector、Redis)、推理伺服器(Ollama、Triton)和容器工具,表明 AI 系統安全已受關注,研究越來越成熟。
- 2
科學的目標選擇方法:團隊透過代碼複雜度、攻擊面暴露度、本地可運行性、代碼品質、成熟度、現有 Fuzzing 工具及歷史漏洞等標準評估。Ollama 雖已熟悉但最後更新失效、Triton 作為新項目且 backend 多樣成為更優選擇。
- 3
獲勝漏洞的簡樸有效性:最終成功的漏洞是 Triton Python backend 中的模型名稱命令注入,攻擊者在 JSON 模型配置中破壞命令參數邊界直接注入 shell,經由 HTTP 暴露,五秒內即可達成 RCE。簡單但穩定可靠。
- 4
AI 推理系統的脆弱性與風險:竞赛結果顯示 Triton 碰撞最多,因 NVIDIA 安全團隊預先發現 20+ 漏洞;其他團隊發現 Redis Lua 沙箱逃逸和容器 host 入侵。隨著企業部署本地或暴露網際網路的推理伺服器,這類系統成為重大攻擊面。
實用技巧與重點
乾貨- 競賽目標與獎金
- Chroma(Python/Rust 向量資料庫)
- PostgreSQL pgvector(向量擴展)
- Redis(向量相似搜索擴展)
- Ollama(Go/C 本地推理伺服器,CLI+REST API)
- NVIDIA Triton(C++/Python 推理伺服器,HTTP/GRPC)
- NVIDIA Container Toolkit(GPU 容器執行時)
- Ollama 發現的漏洞
- CVE via 惡意 registry response(Zip bomb denial of service)
- Token theft 漏洞(Authorization header 在重導向時洩露)
- Lama.cpp 中的堆溢出(超大 metadata 結構體)
- NVIDIA Triton 發現的漏洞
- Libc address 洩露(ASLR 繞過材料)
- 惡意 JSON 導致立即 crash
- 模型名稱命令注入(獲勝漏洞):在 Python backend 中,模型名稱直接用於 shell 命令構建,允許遠端代碼執行
- 競賽結果統計
- AI 類別總共 10 次提交
- 4 個目標被攻擊(無 Ollama、無 pgvector)
- 總獎金 $180,000
- 成功率 80%
- 碰撞情況異常多(通常不見)
- 其他團隊發現
- Redis Lua sandbox escape via use-after-free(Waze Research)
- NVIDIA Container Toolkit:三行代碼透過 LD_preload 繞過 hook 達成 host 入侵(Waze Research)
- Chroma 漏洞(Sina,未公開細節)
- NVIDIA 內部自發現 22+ CVE
結論
結論“AI 推理系統因開發早期、backend 眾多且檔案解析複雜,存在大量常見漏洞,隨著企業部署增加已成為高價值攻擊面,應重視 Fuzzing 等漏洞挖掘方法。”
完整解析
詳細Pwn2Own Berlin 2025 首次設立 AI 類別,反映 AI 基礎設施成為真正的攻擊面。Fuzzing Labs 團隊在競賽前期進行了系統的目標評估。他們訂定了包括代碼複雜度、攻擊面暴露度、本地可運行性、代碼品質和歷史漏洞紀錄等標準,使用一週時間讓 30 人團隊廣泛探索六個目標。最終選定 Ollama 和 NVIDIA Triton 為主要攻擊目標。
Ollama 是廣泛採用的本地推理伺服器,支援 GeoGuf 模型檔案格式。團隊在競賽前已發現七個漏洞,包括因未淨化 IO 讀取導致的 Zip bomb DOS 攻擊、Authorization header 在重導向時洩露的 token 盜竊漏洞,以及涉及堆緩衝溢出的記憶體問題。然而,在競賽開始前兩週,Ollama 倉庫發生大規模更新(200-300 個 commit),修復了這些漏洞,導致團隊多週研究無法提交。
轉向 NVIDIA Triton 後,團隊發現這是更優目標。Triton 作為新項目(僅 10K GitHub star)、支援多個後端(Python、PyTorch、TensorFlow RT 等)、暴露 HTTP 和 GRPC 介面,並允許動態加載模型。在模糊測試過程中,他們發現了多個漏洞:Libc 地址洩露、惡意 JSON 導致的 DOS,最終找到了決勝漏洞——模型名稱命令注入。該漏洞運作原理簡單:攻擊者在 JSON 模型配置的模型名稱字段中注入 shell 命令,Triton 將其直接用於構建系統命令,通過 Python backend 經由 HTTP 遠端執行。該漏洞利用極快,五秒內即可達成完整 RCE,雖然簡單但穩定可靠。
競賽結果顯示 AI 基礎設施安全脆弱,AI 類別十次提交中僅四個目標被成功利用(無 Ollama、無 pgvector)。Triton 成為最多被攻擊目標,但碰撞異常頻繁——這因為 NVIDIA 安全團隊在得知目標被列入競賽後,主動投入工程師半職挖掘漏洞,最終發現超過 20 個 CVE。其他安全研究團隊則發現了更深層的漏洞:Waze Research 發現 Redis 中透過 Lua use-after-free 的沙箱逃逸,以及 NVIDIA Container Toolkit 中透過 LD_preload 繞過 hook 實現完整 host 入侵的三行代碼漏洞。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

