Oasis Security 揭露了 NVIDIA NemoClaw 的一項弱點,該弱點可能允許受攻擊者控制的網頁,在未經驗證的情況下接管服務 AI 代理的本地 Ollama 實例,並在模型本身植入隱藏指令。

此發現已在發布前分享給 The Hacker News,報告指出 Oasis Security 事先已將其報告給 NVIDIA 的產品安全事件應變團隊 (PSIRT)。此研究目前沒有 CVE 識別碼。截至 2026 年 8 月 25 日,尚未有任何利用此漏洞的報告。

Oasis Security 的研究主管 Elad Luz 告訴 The Hacker News,NemoClaw v0.0.35 已修復了 macOS 和 Linux 上的問題。根據 Luz 的說法,Windows 和 WSL 路徑尚未有修補程式,其中 v0.0.34 新增了 Windows 安裝程式,但帶有警告。

NemoClaw 是 NVIDIA 用於在其 OpenShell 沙盒中運行 OpenClaw 等代理的開源參考堆疊,而 Ollama 是其支援的本地推理後端之一。

報告描述 NemoClaw 使用 OLLAMA_HOST=0.0.0.0:11434 啟動 Ollama,將模型伺服器綁定到每個網路介面,並表示由此產生的 API 存取允許攻擊者修改模型的聊天範本,以便將隱藏指令應用於之後的每次對話。

Oasis Security 在報告中表示:「沙盒保護終端,但接管代理就等於接管其存取權限和工具。」

NVIDIA 自家的 Ollama 設定文件和目前的原始碼,將該綁定放在一個平台路徑上。NemoClaw 對 Ollama 的處理方式因平台而異。

Ollama 自家的 NemoClaw 整合頁面也建議在 WSL2 或容器內運行時將 OLLAMA_HOST 設定為 0.0.0.0,而綁定到 0.0.0.0 先前已被確定為會將 Ollama 實例暴露在本地機器之外的變更。

埠 11434 上的 API 沒有驗證機制,並依賴兩個中間件層來阻止瀏覽器發起的請求。當綁定位址不是迴環位址時,Host 標頭檢查會被完全跳過。然後,跨來源資源共用 (CORS) 層會將請求視為同源請求並允許它,因為 Origin 和 Host 標頭都帶有攻擊者自己的網域。對於攻擊者在埠 11434 上提供的網頁,這種情況同樣適用。

網域名稱系統 (DNS) 重綁定填補了這個漏洞,攻擊者的網域首先解析到他們自己的伺服器,然後解析到 127.0.0.1,而瀏覽器則繼續將請求視為同源請求。

Luz 表示,完整的攻擊鏈已在 macOS 上使用 Firefox 針對易受攻擊的 NemoClaw 版本進行了測試。驗證 Host 和 Origin 標頭是針對這類攻擊的標準修補方法。

針對 Ollama API 的 DNS 重綁定本身已有文件記錄。Ollama 在 2024 年 3 月 14 日的 v0.1.29 版本中發布了修補程式,NCC Group 在下個月將該公告發布為 CVE-2024-28224。該公告建議在伺服器端驗證 Host 標頭,只允許一組授權值。

根據 Luz 的說法,Ollama 在 2024 年的披露後引入了該驗證。

他表示:「但只要綁定到非迴環位址,Ollama 就會跳過該驗證,而 0.0.0.0 正是 NemoClaw 的設定方式。」

在 API 可達的情況下,報告中的載荷透過 /api/create 端點寫入了一個修改過的 Go 範本。該範本控制結構化訊息陣列在模型處理前如何渲染成純文字,而中毒的版本會在推理時將攻擊者控制的文字附加到每個系統訊息中。

報告指出,以這種方式植入的指令會在之後的對話中持續存在,並且能抵抗代理提供自己的系統提示。

Oasis Security 表示:「客戶無法偵測或阻止這種情況——範本是 API 消費者無法看到的模型層級屬性。」

The Hacker News 在 8 月 25 日審查了 NemoClaw 的儲存庫,提交版本為 commit 17f0ca3b,發現本地 Ollama 代理拒絕啟動,如果後端未綁定到迴環位址,這是 v0.0.106 (8 月 10 日) 中引入的預設設定。代理會以專用的狀態碼退出並列印:

「拒絕啟動:可透過非迴環介面存取的 Ollama 精靈會完全繞過代理的令牌檢查。請在 Ollama systemd 單位上設定 OLLAMA_HOST=127.0.0.1:${port} 或設定 NEMOCLAW_OLLAMA_PROXY_SKIP_BIND_PROBE=1 以覆寫 (不建議)。」

可以透過設定 NEMOCLAW_OLLAMA_PROXY_SKIP_BIND_PROBE=1 來關閉該檢查,並且在無法運行綁定檢查的主機上,它不會失敗關閉。

該檢查在代理本身內部運行。NemoClaw 不會在 WSL 路徑上啟動該代理,而 Windows 主機配置是其中之一。因此,v0.0.106 的預設設定不會觸及設定了 0.0.0.0 綁定的平台路徑。

相同的審查發現在儲存庫中沒有任何聊天範本的完整性檢查,NemoClaw 只查詢 Ollama 的 /api/show 端點來獲取模型的原生上下文長度和其聲明的工具呼叫能力。

NVIDIA 的文件指示 Windows 主機路徑上的操作員不要將埠 11434 暴露給區域網路或網際網路。該指南處理的是來自網路的入站存取。重綁定鏈不需要它,因為發出請求的瀏覽器已經在主機上運行,並在 127.0.0.1 上存取精靈。

將模型的聊天範本中毒,以便在推理過程中運行指令,先前已有文件記錄為中毒聊天範本。Oasis Security 的研究人員在本月早些時候記錄了針對 Paperclip 的相同技術,並在二月份使用類似的瀏覽器到 localhost 路徑劫持了本地 OpenClaw 代理。