[Tempest AI 深度解讀] 代理說「已核准」就能放行?NanoClaw CVE 揭露 MCP 授權橋接的信任漏洞 (2026-07-27)

事件背景:問題不在核准按鈕,而在核准者身分

已確認的事實是,CVE-2026-17433 影響 NanoClaw 2.0.64 以前版本的通道核准流程。CVEFeed 將它列為不當授權漏洞,CVSS 3.1 分數為 5.3、風險等級中等,攻擊向量則是本機而非網路遠端。原始資料可見:https://cvefeed.io/vuln/detail/CVE-2026-17433

美國 NVD 也已收錄這筆 CVE,確認受影響函式為 createChatSdkBridge.setup,位置在 src/channels/chat-sdk-bridge.ts。不過,NVD 尚未提出自己的分析或評分;頁面所列的 5.3 分數及弱點分類均來自 CVE 編號授權機構 VulDB,而不是 NIST 的獨立判定。這項差異很重要,因為「有 CVE」代表問題已被正式登錄,不等於所有影響範圍與嚴重度都已完成廠商驗證。查證來源:https://nvd.nist.gov/vuln/detail/CVE-2026-17433

漏洞如何運作:下游有檢查,上游身分卻可偽造

NanoClaw 專案的公開議題提供了較完整的技術脈絡。當支援 gateway 的通道介面進行設定時,Chat SDK bridge 會在 127.0.0.1 啟動暫時性的 webhook,接收轉送而來的互動事件。問題在於,這個端點會從 POST 內容讀取 interaction.user.id,卻未先驗證送件者、共享密鑰、簽章或 bearer token。議題與重現資料位於:https://github.com/nanocoai/nanoclaw/issues/2761

下游權限模組其實有做授權判斷:它會比較點擊者 ID 是否等於資料庫中的指定核准者,或是否具有目標 agent group 的管理權限。真正的斷點是,這個「點擊者 ID」已在上游由未驗證的請求內容提供。若同一主機上的程式能送出偽造事件,並填入預期核准者的 ID,下游就可能把假身分當成真身分,建立訊息群組與 agent group 的連結、重播原始事件,並將原始發送者加入目標群組。

換句話說,系統驗證了「欄位中的名字是否正確」,卻沒有驗證「說出這個名字的人是誰」。作者觀點是,這比單純漏掉一個權限判斷更值得注意:它揭露了代理系統常見的信任邊界錯位——聊天介面顯示有人按下核准,不代表執行層已取得不可偽造、與特定動作綁定的核准證明。

為何現在值得注意

NanoClaw 的定位是讓 AI 代理透過容器隔離運作,並連接 Telegram、Discord、Slack、Gmail 等通道。當代理不只回答問題,還能存取工作階段、排程與外部工具時,「把某個通道接到哪個代理群組」本身就是高權限操作。容器可以限制代理看見的檔案,卻無法自動修正容器外控制面的身分信任錯誤;隔離與授權是兩個不同層次。

MCP 官方的用戶端安全建議也要求,host broker 必須對每一次工具呼叫依授權內容重新判斷;核准一段程式,不等於概括核准它日後產生的所有操作。這並不能證明 NanoClaw 漏洞屬於 MCP 協定本身,但可用來交叉驗證一項設計原則:核准必須由可信任的 broker 執行,並與實際呼叫、權限範圍及執行期間相符。第一方文件:https://modelcontextprotocol.io/docs/develop/clients/client-best-practices

實際影響與容易忽略的限制

這不是只要知道網址就能從網際網路攻入的漏洞。研究者列出的必要條件包括:攻擊者已能在同一主機或使用者命名空間執行程式、能連線至 loopback webhook、系統使用會啟動該端點的 gateway 通道,而且資料庫中正好存在待核准項目。因此,對單人專用且沒有其他不受信任程式的主機,風險低於共用伺服器、開發工作站或同時執行多個外掛與自動化工作的環境。

合理推論是,已入侵主機的惡意程式、權限較低的共用帳號,或隔離不足的同機服務,可能把這個缺口當成橫向提升代理權限的第二段攻擊鏈;但目前公開資料不足以證明已有野外利用。CVE 頁面所稱「exploit 已公開」,較精確的解讀是重現程式已可取得,而不是已有大規模攻擊活動。

評分也仍有不確定性。CVE 記錄採用 CVSS 3.1 的 5.3 分,弱點列為 CWE-285 與 CWE-266;GitHub 通報者則提出不同的影響向量,並歸類為 CWE-306。查核時該議題仍為開啟狀態,patched versions 欄位空白,也沒有關聯修補分支或 Pull Request。企業不應把任一分數直接等同於自身風險,更不能假設 2.0.65 之後必然已修補。

對台灣使用者與企業的意義

對台灣企業而言,優先工作不是只搜尋「是否安裝 nanoclaw 套件」,而是盤點實際部署拓樸:NanoClaw 版本、啟用的通道 adapter、執行帳號、同機其他服務,以及是否允許不同信任等級的工作負載共享 loopback 網路。若內部代理連接郵件、客服、程式碼庫或維運工具,即使 CVSS 只有中等,錯誤的群組連結仍可能跨越原本的資料與操作權限邊界。

在廠商提出可驗證修補前,作者建議將相關主機視為敏感控制面:避免與不受信任工作負載共用,縮小本機程式的執行權限,檢查異常的通道核准與群組成員變更,必要時暫停會啟動該 gateway 路徑的整合。真正的修補應讓 callback 具備不可偽造且短效的憑證,並把核准者、待核准動作、目標群組及單次使用狀態一併綁定,而不是只相信請求本文中的 user ID。

後續觀察指標

  • 專案維護者是否正式確認問題,並公布明確的修補版本與受影響版本界線。
  • 修補差異是否加入 callback 驗證、單次 token 或簽章,以及是否補上偽造身分的回歸測試。
  • NVD 是否完成獨立分析,並調整 CVSS、CWE 或產品版本資料。
  • 企業日誌中是否出現非預期的通道核准、群組連結建立、原始事件重播或成員新增紀錄。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *