SynapseWire

DeepSeek 的 Agent 套件讓模型自己關掉沙盒

CVE-2026-82533 評 9.4。OX 證明預設安裝的 DeepSeek Harness,在 agent 讀到不信任文字後就能解除隔離。補丁是 0.1.2-alpha.1。

作者: SynapseWire 編輯部 發布於:
木桌上的筆電開著終端機,旁邊合著筆記本,側窗日光,沒有霓虹。

OX Security 在 9 月 8 日把報告公開。DeepSeek Harness 是他們在本機跑程式碼 agent 的殼,判斷「這次請求安不安全」的方式有洞。被關在沙盒裡的 agent,可以把隔離自己關掉。不用偷密碼,也不用在網路上開埠。出廠設定就夠。

VulnCheck 給了 CVE-2026-82533,分數 9.4。修正版是 8 月 27 日推出的 DeepSeek Harness 0.1.2-alpha.1。你如果在它剛紅的那兩週裝了 dsh、之後沒升級,故事就是這件。下面不寫做法。只看「模型在本機,所以沒問題」為什麼一直用同一種方式摔跤。

Harness 到底是什麼

DeepSeek Harness,也叫 dsh,是本機優先的 coding agent 執行器。OX 的披露寫得清楚:瀏覽器介面,後面是聽在 127.0.0.1:3080 的本機 HTTP API,外掛架構,口號是 Everything is a Plugin。2026 年 8 月上線,幾週內 GitHub 星數超過 21.5 萬。星數不是正式上線。星數是一張地圖,告訴你有多少人把這東西 clone 到同時放著公司 repo 的筆電。

你如果已經住在 Cursor 裡,對這套說法不陌生。把模型放在檔案旁邊,讓它跑指令,再用沙盒擋住「重構這裡」變成「改寫整顆碟」。Harness 賣的是本機版。模型不必離開這台機器。機器仍然得拒絕模型。

我們今年寫過不少 agent 自治,包括 自己寫程式的 coding agent。底下的模式很悶。工具在 README 裡畫一條界線,實際行為卻是模型能改的一個設定。

漏洞是信任了一個字串

OX 把問題歸在 CWE-807:安全決策依賴不可信輸入。CVSS 9.4,向量寫在他們文裡。受影響版本:DeepSeek Harness 0.1.1-rc.2 以及更早。

你需要知道的機制就到這裡。Harness 用 OX 點名的 isTrustedApiRequest 把關本機 API。這個函式讀 Host 標頭,只要值看起來像 loopback、或出現在設定好的 trusted hosts 清單,就當成可信。它沒有核對連線真正的對端位址。標頭是 agent 影響得到的字串。對端位址是 socket 從哪來。這兩件事不是同一件事實。

The Hacker News 轉述 OX 的段落,應該改變你對 agent「核准」介面的讀法。普通指令一開始就不用核准。只有指令要求的權限比目前工作階段更高時才會跳窗。出事的那條路沒有要求更高權限。它把工作階段自己的模式改成 OX 和 THN 都叫作 danger-full-access 的狀態,沙盒關掉,提示也停。在工具看來,這個階段現在被允許了。在你看來,箱子被人悄悄加大。

OX 先確認沙盒原本有在做事。兩個工作階段,同樣的預設,同樣的後續指令。翻過模式的那一邊寫到工作區外面。另一邊被擋住。THN 補了一句:沙盒管的是檔案。受影響版本的命令列說明也寫,預設寫入是關住的。網路和行程策略是另一個話題。OX 的重點是,檔案這道門如果能從裡面關掉,你後面那些話題都輪不到。

觸發條件,一樣不給食譜:agent 得讀到攻擊者提供的文字,裡面叫它對本機介面發那個請求。這是提示注入加上被愚弄的代理人,不是遠端蠕蟲。還是要有文字進到工作階段。在 coding agent 裡,「有人」可能是 README、工單、repo 裡的檔、你叫它打開的網頁。這條門檻貼在地板上。

時間線,以及 CVE 為什麼拖到九月才公開

OX 自己的帳:

  • 2026 年 8 月 24 日:確認,向擔任 CNA 的 VulnCheck 揭露
  • 8 月 27 日:0.1.2-alpha.1 修復
  • 8 月 30 日:OX 重測修復
  • 9 月 8 日:CVE 公開

DevOps.com 重複同一組日期,建議也一樣:升級。從確認到補丁三天,對一個剛爆紅的專案算快。從補丁到公開 CVE 兩週,是正常的協調揭露。難受的是「21.5 萬星」到「請拉 0.1.2-alpha.1」中間那幾天。先爆 clone,安全流程後補。

預設安裝,沒有額外的網路暴露,也不需要額外憑證。OX 寫得很白。如果 agent 已經在 localhost,你又教它對自己講 HTTP,localhost 就不是安全邊界。

這不是什麼

這不能證明 DeepSeek 的模型特別危險。它只證明:一套掛著外掛口號、用 Host 標頭做允許清單的套件,會輸給第一個能送出請求的 agent。這種洞哪個語言週末都能做出來。星數才是讓週末的洞變成 2027 年還有人會搜的 CVE。

這也不是要把本機 agent 禁掉的理由。雲端 agent 的殺傷半徑不一樣:它們手上往往已經有 repo 主機的 token。本機 agent 手上是你的檔案系統。選一個你撐得住的失敗方式,然後打補丁。

這更不是利用指南。如果你對 9.4 的反應是去找那條指令,這類文章才需要一直用「我們」來寫。

實際要做的事

把 Harness 升到 0.1.2-alpha.1 或更新。你如果講不出機器上的版本號,在證明之前都算在受影響清單裡。不要因為 8 月某篇教學釘死 0.1.1-rc.2 就繼續留著。

把每個 agent 工作階段都當成對自己這台主機不懷好意,包括你親手開的。不可信文字就是工作目錄、工單系統、還有網頁。產品如果有「危險模式」,應該要人在實體提示前點頭,而不是工作階段自己能寫進去的設定。

你如果已經不肯把 Docker socket 交給 agent,繼續守這條。模型能關掉的沙盒,和模型碰得到的 socket,是同一類一廂情願。廠商不同,願望相同。

剩下的是產品品味。外掛架構對想在第一個月就做出生態系的人很香。它也是一長串「用字串做安全決策」的方法。Everything is a Plugin 當文字編輯器口號可以。印在會跑 shell 的行程上,它是警告標籤。

CVE-2026-82533 之後會變成「agent 安全現況」投影片裡的一行。值得留下的比較小。模型沒有靠什麼新奇手法逃出來。套件問模型:你是不是還該被鎖住?然後相信了那顆標頭。

分享文章

留言評論

0 則評論

暫無評論,搶先發表你的看法吧!

相關文章