LangChain、LangGraph 漏洞,讓廣泛使用的 AI 框架暴露檔案、機密與資料庫

這類框架事件不是邊緣案例,而是信任模型的壓力測試。我們設計代理系統時,假設協調層終將失效,再以工程邊界讓失敗保持小範圍、可觀察、可復原。

NOR-TIC閱讀約 7 分鐘
  • 實作教學
  • AI 框架安全
  • 多代理系統
文章摘要與背景

技術背景:

營運教訓很清楚:語言驅動的系統取得工具存取後,邊界品質決定業務風險。應把協調框架視為高權限基礎設施,而非方便開發的輔助層。

本文章節3
深色網格上,發光伺服器方塊以細資料路徑連接,搭配隔離的保險庫節點與分區儲存層

團隊把 LangChain 或 LangGraph 接進正式流程,不只是在選框架,更是在分配執行期間的權限。事件暴露檔案路徑、機密與資料庫可達範圍,因為快速原型階段的協調層常繼承廣泛權限。內部助理成為關鍵業務系統前,這份信任卻很少重新設計。

實務轉變很簡單:不只思考模型安全,還要在框架邊界強制落實基礎設施安全。代理造成損害不需要惡意,只需要一條能到達本應隔離資源的執行路徑。在我們的部署裡,最高風險時刻就是從「提示實驗」轉成「接上工具的流程」。

把那一刻當成正式架構檢查點,不是為了衝刺方便而略過。

01失敗模式

框架漏洞為何比模型缺陷擴散更快

傳統應用程式漏洞

多數失敗連到已知層,例如驗證、輸入檢查或查詢處理。清楚服務邊界與既有控制,通常限制影響範圍。團隊多半知道先修哪裡、先看哪些日誌。

代理協調漏洞

失敗同時經由指令路由、工具呼叫、記憶狀態與連接器權限傳播。協調層成為語言與行動間的決策中介。若權限依角色或容器整包授予,一個漏洞就可能在同一事件鏈暴露檔案、機密與資料庫。

3

暴露的資源類別

執行邊界薄弱時,主機檔案、執行或設定機密,以及資料庫連接資料都可能受影響。

4 層

邊界模型

指令、執行、權限與觀察邊界,必須一起設計,才能避免連鎖失敗。

4

觀察到的設計錯誤

工作區存取過廣、機密處理走捷徑、查詢路徑不受限,以及把追蹤誤當真正隔離。

任務層級區隔

必要轉變

權限應對應特定流程,而非整個應用容器或廣泛代理角色。

多數團隊過度投資提示,卻低估權限結構。指令品質提高,底層授權仍粗糙,形成安靜的危險。加入記憶、檢索與行動工具時,框架往往早已能碰到超出業務意圖的資源。

我們採四邊界方法,因為它迫使設計明確:指令邊界定義模型可要求什麼;執行邊界定義框架能跑什麼;權限邊界定義執行失誤時仍能接觸什麼;觀察邊界決定異常能否及早被發現與限制。邊界完整性比單一防護更重要。

少一層,控制就可能只是裝飾。

下次發布前先做這件事

對實際運行環境做 60 分鐘影響範圍稽核,不是看架構圖。列出掛載路徑、環境變數、有效憑證、可達資料庫與對外網路目標,再移除一條具體流程不需要的部分。這個練習減少的實際暴露,往往比再加一張監測儀表板更多。

02設計修正

  1. 步驟 1

    階段 1:提示實驗

    團隊快速驗證體驗,常以寬鬆預設降低設定摩擦。

  2. 步驟 2

    階段 2:工具擴展

    加入檔案存取、檢索與記憶;協調成為中心,悄悄累積權限。

  3. 步驟 3

    階段 3:系統連接

    嚴格查詢邊界尚未定義,就接上資料庫與內部 API,增加營運風險。

  4. 步驟 4

    階段 4:事件觸發

    框架漏洞或路由錯誤揭露真實權限範圍,暴露超出原意的資源。

  5. 步驟 5

    階段 5:治理升級

    成熟團隊把任務限定執行環境、窄動作與可稽核隔離,納入基本架構。

錯誤 1:預設存取整個工作區

開發時掛載廣泛目錄看似有效率,卻破壞隔離。環境檔、建置產物與內部匯出,會經由從未為敏感處理設計的路徑變得可達。每條流程只限核准目錄,機密則實際存放在該執行環境以外。

錯誤 2:機密處理走捷徑

硬編碼權杖與廣泛可用的環境變數,形成多個間接外洩管道。詳細日誌、例外追蹤與工具錯誤,即使沒有明確外傳邏輯也能露出憑證。改用限定範圍的機密仲介,依流程輪替憑證,避免一處入侵解鎖相鄰系統。

錯誤 3:資料庫連接器沒有查詢邊界

原始或限制鬆散的資料庫存取,會把協調缺陷變成業務事件。用唯讀檢視表、參數化動作與資料列層級控制,取代廣泛連接器。問題不是代理有沒有濫用意圖,而是失敗時是否仍可能濫用。

錯誤 4:把可觀察性當成保護

追蹤有助重建,不是預防。記得再完美的漏洞利用,仍是漏洞利用。量測必須搭配可強制執行的隔離,在敏感資產被碰到前,阻擋或限制異常行為。

代理框架的最小可用控制層

營運韌性從限制協調程序執行時能碰到什麼開始。我們把框架執行環境的安全狀態當成正式安全紀錄,與部署設定一起追蹤。

  1. 為每條流程維護可供機器讀取的掛載檔案與機密清單。
  2. 只開放窄工具:一個核准目錄、一個核准檢視表、一個核准對外佇列。
  3. 每條任務路徑使用獨立憑證,不共享應用權杖。
  4. 以不可變稽核紀錄與異常門檻,記錄敏感存取決策。
  5. 正式使用前,把入門範本當成安全輸入審查。

目標:流程與權限對應涵蓋率達 100%

競爭優勢正從最大連接能力,轉向最低必要信任。

NOR-TIC 安全架構團隊
發布任何新代理流程前,在設計審查使用這張矩陣。
邊界核心問題失敗訊號立即控制
指令模型可以要求什麼?不可信輸入改寫允許動作限制工具描述,清理檢索脈絡
執行框架可以執行什麼?非預期工具呼叫或狀態路由工具呼叫允許清單與強制執行政策
權限失敗時仍能接觸什麼?可存取無關檔案、機密或資料綱要任務限定憑證、分區執行環境與最小權限
觀察能快速發現異常行為嗎?太晚發現敏感存取稽核軌跡、告警門檻與事件處理手冊

從語言輸入到受控執行

安全代理管線的每次轉換,都縮小權限,而非擴大權限。

使用者/輸入
指令過濾
協調執行環境
窄範圍工具閘道
限定資料存取
稽核與告警層
連結關係
  • 使用者/輸入 → 指令過濾
  • 指令過濾 → 協調執行環境
  • 協調執行環境 → 窄範圍工具閘道
  • 窄範圍工具閘道 → 限定資料存取
  • 限定資料存取 → 稽核與告警層

03NOR-TIC 的觀點

事件背後的市場訊號很清楚:買方從輸出品質問題,轉向可接觸範圍問題。不只問代理能產生什麼,也問它能碰到什麼。這會改變採購、架構審查與框架路線圖。安全預設不再是可選修飾,而是核心產品需求。

對打造者,下一步成熟是把治理納入工程。像記錄 API 一樣記錄流程權限,把邊界決策放進版本控制,像追蹤資料綱要遷移一樣嚴格追蹤執行存取變更。若部署能呼叫第三方身分篩查 API,或讀取正式財務匯出,該權限就必須明確、有理由,並持續驗證。

現在就縮窮信任,能力才可以擴大,而不一起放大系統性風險。

回到頂端 ↑