安全与隐私 · 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 与提交避免把二手报告当维护者结论出现新告警或稳定版时

参考资料