GitHub Repo
Transformers 5.22.2 強化聊天模板沙箱,限制物件屬性存取與輸入型別
Hugging Face 於 11 月 6 日發布 Transformers 5.22.2,收錄 Jinja 聊天模板沙箱強化與輸入清理。更新提高 Jinja 最低版本要求,自訂模板與多模態訊息流程應驗證相容性。

Hugging Face 於 11 月 6 日發布 Transformers 5.22.2,將聊天模板的 Jinja 沙箱強化納入正式修補版。對從模型儲存庫載入模板的推論服務而言,這次更新涉及生成前的資料處理邊界,值得與模型權重、推論核心一併檢查。版本說明
聊天模板會把角色、訊息內容與控制標記組成模型使用的 token 序列,因此它直接參與每次請求的前處理。官方文件指出,不同模型可能使用不同格式,錯誤的控制標記會損害表現;工程團隊通常需要沿用模型對應的模板,也因此必須管理模板執行環境。聊天模板文件
維護者在修補說明中表示,沙箱內可接觸的 dict 物件,可能觸發 CPython 的陣列溢位問題。此次改用僅提供少量方法的字典介面,並限制 namespace 儲存以下底線開頭的屬性,縮小模板可接觸的內部機制。這是維護者對修補動機的描述,公開說明未提供完整受影響環境矩陣。修補提案
另一項變更是先清理模板可見的資料,包括對話、工具結構、文件與額外參數。一般容器會遞迴轉換,NumPy 純量、dataclass 與 Pydantic 模型也有對應處理;其他物件則轉為型別名稱占位文字,避免模板沿著影像、陣列等物件的方法存取額外能力。同時,jinja2 最低要求由 3.1.0 提高至 3.1.6。程式碼差異
依這些變更判斷,升級驗證應涵蓋自訂物件欄位、多模態內容及模板渲染結果,並檢查鎖定的依賴版本。Jinja 官方也提醒,沙箱仍須搭配例外處理及 CPU、記憶體限制;本次更新不能視為所有模板風險皆已消除。後續應關注相容性回報與更完整的安全公告。Jinja 安全說明