觀點 · 資訊分享
sentence-transformers 被列 9.3 分漏洞:trust_remote_code=False 擋不住本機資料夾裡的程式
熱門的 Python 嵌入模型套件 sentence-transformers 被公開 CVE-2026-68770:只要模型路徑在本機存在,「不信任遠端程式」的開關就失效。官方在 5.6.0 先加警告,6.0 起才會強制要求。
- 發布
- 2026-08-01
- 篇幅
- 約 5 分鐘 · 2,113 字
- 結構
- 8 節 + 3 題常見問題
- 標籤

一句話看懂:常見的 Python 嵌入模型套件 sentence-transformers 被公開 CVE-2026-68770:載入「本機模型資料夾」時,就算你設了不信任遠端程式的開關,資料夾裡的 Python 程式仍會被執行。

先用白話講:trust_remote_code 是什麼?
你在網路上下載一個 AI 模型,它常常不只是一個「資料檔」,還附帶一些 Python 程式,負責告訴程式怎麼讀它、怎麼算。這就像你收到一個包裹,裡面除了商品,還附了一張「請照這張紙上的步驟操作」的說明。
如果那張說明被人動過手腳,你照做就中招。所以載入模型的函式庫通常有個安全開關,叫 trust_remote_code:預設是 False,意思是「我不信任包裹附的程式,不要執行」。只有你明確改成 True,才會執行。
這次的問題是:這個開關在某個情況下沒有擋住。
發生什麼事
7 月 31 日,sentence-transformers(一個很多人拿來做文字嵌入、向量搜尋的套件)的 CVE-2026-68770 公開。GitHub 的公告把它標為 Critical,分數 9.3:
- 漏洞在哪:載入模型時,套件有一段判斷「這個程式能不能信任」的檢查,其中有個條件是「只要這個路徑在本機檔案系統上存在,就算通過」,而且完全不看
trust_remote_code是False - 會怎樣:如果模型資料夾裡放了
modeling_*.py這類 Python 檔,並用modules.json指向它,那麼用SentenceTransformer(路徑, trust_remote_code=False)載入時,這些程式會在載入的當下被執行 - 前提:攻擊者要能控制或影響磁碟上那個模型資料夾的內容
官方怎麼處理?
這裡有個細節要看清楚。GitHub 公告寫受影響版本是 5.6.0 之前、修補版本是 5.6.0。但看 5.6.0 的發行說明(2026 年 6 月 16 日發布,比 CVE 公開還早):
- 專案一直以來把任何本機模型資料夾視為隱含可信,和
transformers不同 - 5.6.0 開始,載入本機自訂程式時會發出
FutureWarning(警告) - 官方預告:從 6.0 起,才會像
transformers一樣,必須設trust_remote_code=True才能載入本機自訂程式
也就是說,5.6.0 只是加警告,並沒有擋下來。用 5.6.0 時看到警告,就是提醒你「這個資料夾的程式會被執行」。
風險有多大?
| 你的狀況 | 風險 |
|---|---|
| 只載入自己訓練、自己管理的資料夾 | 低,別人沒機會改你的檔案 |
| 載入別人傳給你、或從不明來源抓下來的資料夾 | 高,等於執行對方給的程式 |
| 在共用伺服器上,多人都能寫入模型資料夾 | 中到高,要看誰有寫入權限 |
評分向量寫的是「網路攻擊、不需權限」,但描述的前提卻是攻擊者要能影響模型資料夾,這兩者讀起來有落差。實際風險取決於你的模型資料夾從哪裡來。
給開發者的技術細節
- 檢查版本:
pip show sentence-transformers,低於 5.6.0 的先升級;升級後看到FutureWarning,就表示那個資料夾含有會被執行的自訂程式 - 不要把「設了
trust_remote_code=False」當成對本機資料夾的保護 - 模型資料夾的來源:下載後先看資料夾裡有沒有
.py檔與modules.json指向的自訂模組 - 6.0 之後的行為(必須設
True才能載入自訂程式)是 5.6.0 發行說明的預告;我沒有確認 6.0 的實際內容,升版前請讀官方的遷移說明
我的看法
玩本地 AI 的人,下載別人整理好的模型資料夾是很常見的做法。這則提醒我的是:模型不只是資料,它常常還帶著程式。我們習慣說「模型檔」,但一個資料夾裡有 .py 檔的時候,它其實就是一個小型的程式專案。
我會建議的做法很簡單:只從有名的來源下載;下載後先掃一眼資料夾裡有沒有 .py;在自己的 NAS 或伺服器上,把模型資料夾設成唯讀;不要在跑著重要服務的同一台機器上,隨便載入不明來源的模型。
名詞小辭典
- sentence-transformers:把句子變成一串數字(向量)的 Python 套件,常用於語意搜尋與 RAG。
- trust_remote_code:載入模型時,決定要不要執行模型附帶的自訂程式的開關。
- FutureWarning:Python 的警告類型,提醒「以後行為會改變」,但這次還不會擋下。
- CVE:全球通用的資安漏洞編號。