分析 CVE-2026-39861:Claude Code 的沙箱逃逸

漏洞的本質

CVE-2026-39861 描述了一種透過符號連結(symlink)實現的沙箱逃逸。在典型的沙箱環境中,AI 代理被限制在特定目錄下。然而,透過建立或操控指向該目錄之外檔案的符號連結,攻擊者或惡意的 AI 代理可能繞過這些限制。

如果工具未能正確驗證這些符號連結的路徑解析,可能會不小心允許 AI 讀取或寫入位於受限區域之外的檔案,從而實際上「逃離」沙箱。這是一種在處理檔案系統操作的工具中常見的漏洞類型,但當它與能自主執行指令和編寫程式碼的 AI 代理結合時,危險性尤為突出。

對 AI 代理的安全影響

此漏洞凸顯了一個更廣泛的安全挑戰:效用與安全之間的平衡。為了讓 AI 代理有效運作,它們需要存取本機檔案系統以讀取、寫入檔案,並執行測試。然而,賦予此代理系統存取權亦等同於提供了一個潛在的攻擊向量。

正如社群中所討論的,該漏洞的存在暗示了 AI 模型無法自行發現自身缺陷的局限。具有諷刺意味的是,同樣的模型能在其他專案中找出 CVE,卻未能辨識出自身基礎設施中的關鍵安全漏洞。

對工具生態系統的啟示

CVE-2026-39861 事件提醒我們以下幾項關鍵技術要點:

  • 路徑驗證: 工具必須實施嚴格的路徑解析與正規化,以確保任何檔案操作都發生在預期的邊界內。
  • 符號連結的風險: 符號連結是常見的安全漏洞來源。任何提供受限環境的工具必須明確處理或停用符號連結的追蹤,以防止目錄遍歷攻擊。
  • 「Agentic」 風險: 隨著我們朝向能自主執行任務的代理發展,安全邊界也在轉變。我們不再僅僅防範外部網路攻擊,而是要保護系統免受工具本身的威脅。

此事件凸顯了在近期急於將 AI 整合至開發工作流程時,傳統安全稽核與人工監督的重要性。雖然 AI 能夠找出錯誤,但它仍需接受與其他軟體專案相同層級的嚴格安全測試,否則就像是一個 FileNotFoundException。

Sources