返回首頁

GitHub Repo

Langflow 1.12.6 修補工具探索路徑,列出 MCP 工具不再執行儲存的元件程式碼

Langflow 於 10 月 13 日發布 1.12.6,修補 MCP 工具清單與 A2A agent card 產生輸入結構時執行元件程式碼的問題。修補已附實機重現與回歸測試,公開流程部署者仍須檢查自訂元件及匿名存取設定。

Photo by Syohei Arai(talk) · CC BY-SA 3.0 · Image source
zh-Hant

Langflow 於 10 月 13 日發布 1.12.6,納入一項涉及代理工具探索的修補:產生流程輸入結構時,不再實例化元件並執行其儲存的程式碼。修補於 10 月 8 日合併,這次正式版本發布才是近兩天的新進展。版本說明

問題出在共用的 json_schema_from_flow 路徑。MCP 的 tools/list 與 A2A agent card 都透過它取得輸入結構;舊實作建立流程圖時會實例化元件,連模組層級的程式碼也可能執行。維護者指出,匿名分享專案的工具清單請求會以專案擁有者身分處理,而公開工具呼叫已有的自訂程式碼檢查,沒有套用到清單路徑。修補分析

新實作設定 instantiate_components=False,從節點類型與已保存的模板取得輸入欄位。維護者報告,修補前匿名列出工具會寫入測試標記檔;修補後仍能回傳清單,卻不再寫檔。對 27 個內建起始專案、兩種模式的 54 次比較,也得到相同輸入結構。另有相容性變化:部分原本因程式碼求值失敗而消失的工具,現在會列出,錯誤延後至呼叫時呈現。驗證結果

這項改動對把流程接入 coding agent 的部署尤其相關。官方文件說明,Langflow 可將專案流程公開為 MCP 工具,客戶端再依名稱與描述選用;專案支援 API key、OAuth 或無驗證設定。因此,取得工具描述本身就是獨立的存取階段,工程上也需要檢查其副作用與權限。MCP 伺服器文件

部署者接下來應驗證升級後的工具清單、輸入欄位與實際呼叫是否一致。公開證據確認的是特定路徑會觸發既存元件程式碼,不能據此推定匿名使用者能自行注入任意程式碼,也不能推定所有部署都受影響;是否允許自訂元件、流程內容與公開設定,仍是判斷影響範圍的關鍵。

來源

  1. Langflow 1.12.6 release
  2. Derive flow input schemas without running stored component code — PR #15660
  3. Use Langflow as an MCP server