安全與隱私 · Clash 技術部落格

Clash Party rule-providers 指令注入風險怎麼處理?

Clash Party v2.0.3 修復了惡意 rule-providers 設定可能執行指令的問題。本文限定觸發條件,並說明立即隔離、官方升級、無 PoC 驗證、疑似受影響後的證據保留與安全回復。

  • Clash Party
  • v2.0.3
  • rule-providers
  • 指令注入
  • 安全更新
本文目錄

先確認這次風險的觸發範圍

Clash Party v2.0.3 的官方發布說明明確修復了“惡意 rule-providers 設定可能執行任意指令”的安全問題。對應提交 588aaa6 說明,舊版 convertMrsRuleset 會把 rule-providers.behavior 和規則集路徑拼接到 shell 指令。

behavior 來自執行中的設定,而設定可能由使用者訂閱的 YAML 提供。惡意或遭竄改的訂閱可以寫入異常 behavior;修復提交還指出,Windows 上帶有內嵌雙引號的規則集路徑也能破壞舊指令的引號邊界。

使用者之後在資源檢視器中開啟對應的 MRS 規則集時,舊版實作可能讓作業系統 shell 解析這些值,並以 Clash Party 目前使用者的權限執行指令。

修復把 shell 字串執行改為 execFile 參數陣列,並把 behavior 限制為 Mihomo 支援的 domain、ipcidr、classical。它修的是 Clash Party 的規則集轉換路徑,不是 Mihomo rule-providers 格式本身,也不是所有 Clash 用戶端的通用漏洞。

上游沒有公佈受影響的起始版本、CVE、GHSA、嚴重度或實際遭利用的結論。僅看到舊版本或未知訂閱,不能斷言裝置已經被利用;但實際版本低於 v2.0.3、設定來源不可信且開啟過對應 MRS 資源時,應立即依本文隔離並升級。

適用範圍速查

目前情況能得出的結論下一步
實際執行 Clash Party v2.0.3 或更新版本包含上游這項修復繼續確認設定來源與實際版本
版本低於 v2.0.3,且用過來源不明的訂閱無法證明已包含這項修復,應視為可能受影響停止開啟資源並升級
只使用 Mihomo 核心或其他用戶端不等於受此 Clash Party 實作影響按實際用戶端證據判斷
出現未知處理程式、警示或設定被改需要升級為安全事件斷網、保留證據並輪換認證資訊
沒有明顯彈窗或異常不能證明舊路徑安全仍按版本與來源完成確認

立即隔離可疑 Profile 與規則集查看器

如果還不能確認版本,先關閉 Clash Party 的規則集資源檢視器,不再點選可疑 rule-provider。暫停可疑 Profile 的自動更新與使用,切換到自己儲存並驗證過來源的設定;無法安全切換時,完整退出 Clash Party。

不要在可疑設定中修改 behavior 後繼續試,也不要把整份訂閱上傳到線上檢測站。訂閱 URL 可能包含 token,規則集位址、節點認證資訊和指令碼內容也可能洩露帳戶或網路結構。

若系統已經出現未知指令視窗、陌生處理程式、安全軟體警示、異常外連或檔案被改動,立即斷開裝置網路,並轉到後文的事件回應步驟。此時只升級應用不能證明已經執行的指令被撤銷。

形成可還原的隔離狀態

  1. 關閉資源檢視器

    不要再開啟未知 MRS 規則集,也不要使用任何所謂線上漏洞檢測頁。

  2. 停用可疑設定

    暫停 Profile 自動更新和使用;需要聯網時,只切換到來源明確且升級前已經驗證的設定。

  3. 儲存最小證據

    記錄 Clash Party 版本、Profile 名稱、訂閱來源、開啟資源的大致時間和第一條異常,不執行清理。

  4. 依症狀決定斷網

    發現未知處理程式、警示、外連或檔案變化時立即斷網;無入侵跡象時保持資源檢視器關閉並進入官方升級。

記錄實際版本、設定來源與現有證據

從 Clash Party 的“關於”或更新頁面讀取實際應用程式版本,並記錄作業系統與安裝架構。不要只看下載檔名、舊截圖或 Mihomo 核心版本;這項修復位於 Clash Party 主程式。

接著,在不開啟規則集內容的情況下,記錄可疑 Profile 是手動匯入、本機檔案還是遠端訂閱、最近一次更新時間,以及 rule-providers 中是否含有 MRS 類型的資源。

只需記錄 provider 名稱、type、behavior、format,以及已去識別化的來源網域或路徑;在 Windows 上還要留意路徑是否含有異常雙引號,不要複製節點密碼或訂閱 token。

保留 Clash Party 日誌、作業系統安全日誌和目前設定的唯讀副本。若沒有異常證據,不要把所有正常的 mihomo 子處理程式、規則下載或臨時檔案當成入侵;若出現明確警示,也不要先刪除檔案或重裝覆蓋時間線。

升級前記錄清單

  • Clash Party 實際版本、作業系統和 CPU 架構已經記錄
  • 可疑 Profile 的來源與最近更新時間已經記錄
  • 是否開啟過對應 MRS 規則集資源已經按時間線記錄
  • 公開副本已刪除訂閱 token、節點認證資訊、secret 與實際伺服器位址
  • 原始日誌與設定儲存在私有唯讀位置,沒有因清理被覆蓋

從官方 Release 升級到 v2.0.3

Clash Party v2.0.3 於 2026 年 9 月 20 日發布,官方發布說明和提交 588aaa6 都包含這項修復。最低目標是實際執行 v2.0.3;如果官方以後提供更新穩定版,應確認它仍包含該提交。

從 mihomo-party-org/clash-party 官方 Release 選擇與系統和架構匹配的安裝套件。Windows 需要區分 x64、ia32 與 ARM64,macOS 需要區分 Intel 與 Apple Silicon,Linux 還要選擇目前發行版使用的 DEB、RPM 或 PACMAN 格式。

升級前完整退出舊程式並保留目前設定備份。不要從搜尋廣告、雲端硬碟或聊天附件取得同名安裝套件,也不要為了保留舊外掛程式而覆蓋 v2.0.3 的單個程式檔案。

安裝完成後重新開啟“關於”頁面確認實際版本。更新 Mihomo 核心、重新整理訂閱或只替換規則集都不能替代 Clash Party 主程式升級。

完成官方升級

  1. 確認系統與架構

    依目前裝置選擇官方 v2.0.3 資產,不憑檔名猜測另一種架構。

  2. 保留私有備份

    儲存設定與可信 Profile 的副本;可疑設定只作為唯讀證據,不直接恢復到新環境。

  3. 完整退出舊程式

    確認系統匣處理程式和 Clash Party 主程式已經退出,再使用官方安裝套件升級。

  4. 讀取實際版本

    重新啟動後從應用內確認版本不低於 v2.0.3,並記錄升級完成時間。

重新取得可信訂閱並檢查 rule-providers

升級完成後,不要立刻重新啟用原來的可疑 Profile。若遠端訂閱可能被篡改或來源無法確認,應聯絡服務提供方確認官方位址,並讓舊訂閱 token 失效後重新簽發;token 輪替應在可信裝置上完成。

檢查新設定中的 rule-providers。Mihomo 文件列出 domain、ipcidr 與 classical 三種一般 behavior,但 format: mrs 只支援 domain 與 ipcidr;classical 可用於其他受支援的格式,不應與 MRS 搭配。

凡是含有拼接符號、指令片段,或 format/behavior 組合不符規範的內容,都不應繼續載入。另請確認 provider URL 的網域、路徑、更新來源與預期格式。

只從來源明確的新設定中恢復節點與規則,不把可疑 YAML、快取的 MRS 檔案或未知指令碼原樣複製回來。需要對比時,在離線唯讀副本中查看文字差異,不點選資源檢視器觸發轉換。

rule-providers 確認邊界

檢查項正常邊界異常時處理
一般 behaviordomain、ipcidr 或 classical停用該 Profile,不自行猜值修補
format: mrs只能與 domain 或 ipcidr 搭配不要使用 classical + mrs;請聯絡提供者修正
Windows 路徑不含內嵌雙引號等異常字元保留脫敏證據並停止開啟該資源
provider 來源服務方或專案明確公佈的位址重新簽發訂閱並確認網域
MRS 快取由可信設定重新下載刪除前先保留可疑副本的證據雜湊與時間
訂閱 token僅在私有設定與用戶端中使用從可信裝置撤銷並重新簽發

不執行 PoC 驗證 v2.0.3 與實際連線

安全驗收第一步是確認 Clash Party 的實際版本不低於 v2.0.3。第二步只匯入來源明確、format/behavior 組合合法且路徑正常的 Profile,並確認規則集清單能正常載入。沒有必要刻意構造惡意值來證明過濾機制有效。

在可信的 Profile 中開啟一個已知 MRS 資源,確認它使用 domain 或 ipcidr,而且資源檢視器能顯示規則;同時確認應用程式沒有啟動非預期的命令列直譯器或未知子處理程序。接著固定一個已知可用節點,分別驗證訂閱更新、規則命中與一次實際 HTTPS 請求。

最後完整退出並重新啟動 Clash Party,再次確認版本與 Profile。版本正確、規則資源正常和實際請求成功三項都成立,才能證明升級沒有只停留在安裝介面。

v2.0.3 安全更新驗收清單

  • 實際執行的 Clash Party 版本不低於 v2.0.3
  • 只還原來源明確、format/behavior 組合合法且路徑正常的 Profile
  • 可信 MRS 資源可以查看,沒有執行任何 PoC 或未知指令碼
  • 沒有出現意外指令解譯器、未知子處理程式或新的安全警示
  • 訂閱更新、規則命中與實際 HTTPS 請求均已完成
  • 重啟後版本和可信 Profile 仍保持正確

懷疑指令已執行時依安全事件處理

如果在開啟規則資源前後出現未知指令視窗、陌生處理程式、異常外連、系統安全警示、啟動項或檔案被改動,就不要把這次操作當成普通用戶端升級。斷開網路並保持裝置現狀,記錄時間線、處理程式、連線、警示與檔案路徑。

使用作業系統或組織批准的安全工具完成離線或完整掃描。訂閱 token、節點認證資訊、WebDAV、GitHub Token、瀏覽器會話或其他可能被目前使用者權限讀取的認證資訊,應從另一台可信裝置撤銷並重新簽發。

升級 v2.0.3 只能封堵舊轉換路徑,不能刪除已經執行的程式或恢復洩露的認證資訊。無法確認系統完整性時,應從官方媒體重裝系統和用戶端,只恢復已驗證的乾淨資料,不把舊應用目錄整體複製回去。

疑似受影響時的最低動作

  • 裝置已經斷網,Clash Party 與可疑 Profile 不再繼續執行
  • 版本、設定來源、資源開啟時間、警示和異常連線已經記錄
  • 原始日誌和設定已保留,公開副本已完成脫敏
  • 可信安全工具已經完成完整掃描
  • 可能暴露的 token 與雲端認證資訊已在可信裝置上輪替
  • 無法確認完整性時沒有直接恢復舊應用目錄

升級不相容時回復功能,不降回風險版本

如果 v2.0.3 在目前裝置上出現安裝、啟動或外掛程式相容問題,不要為了恢復功能降回含舊轉換路徑的版本。先完整退出 Clash Party,保持可疑 Profile 停用,並使用已驗證的其他維護中用戶端或系統代理方案恢復必要聯網。

需要繼續使用 Clash Party 時,只保留可信設定的離線備份,關注官方後續穩定版和相關 issue。新版本可正常啟動後,再逐項恢復系統代理、TUN、訂閱更新與規則資源檢視,不要一次複製整個舊資料目錄。

如果問題只發生在某個第三方規則集或訂閱,應讓提供者修復設定,而不是放寬 behavior 或重新啟用舊版 shell 執行。向上游意見回饋時提供系統、架構、版本、第一條錯誤和脫敏重現步驟,不附帶訂閱 token 或可執行 payload。

安裝後版本仍低於 v2.0.3

停止使用舊實例,檢查是否啟動了另一份可攜版或舊安裝目錄。

新版本無法啟動

保留日誌並使用維護中的替代用戶端,不恢復舊轉換路徑。

可信規則集無法查看

先確認 behavior 與格式,向規則提供者或 Clash Party 提交脫敏證據。

代理可用但出現未知處理程式或警示

依安全事件處理,不能用聯網正常排除指令執行。

以後把訂閱與規則集當作不可信輸入

這次修復說明訂閱不只是節點清單,它還能向用戶端提供 rule-providers 等結構化欄位。長期維護時應記錄訂閱提供者、rule-provider 網域、behavior、最近驗證時間和目前 Clash Party 版本。

保持應用自動更新或定期檢視官方 Release;訂閱網域、簽發方式或內容結構發生變化時,先離線比較,再放回常用 Profile。對於已經停止維護或來源無法說明的規則集,刪除使用關係比繼續依賴用戶端過濾更可靠。

官方 Release 與修復提交是本次結論的事實邊界。後續若上游發布 GHSA、CVE、受影響版本範圍或新的緩解措施,應以新的官方說明更新判斷,不從二手標題推斷嚴重度或受影響規模。

長期維護記錄

記錄項用途復核時機
Clash Party 版本確認是否包含安全修復每次應用程式升級後
Profile 與訂閱來源識別不可信設定入口訂閱位址或提供者變化時
rule-providers 與 behavior限制規則集類型和轉換範圍每次設定結構變化後
官方 Release 與提交避免把二手報告當維護者結論出現新警示或穩定版時

參考資料