关于 Clash Verge Rev 项目中关于 CVD 的情况梳理与边缘影响

在当前时间(日期),有关 issue 被关闭,同时项目方移除了部分评论(内容上不可确定),在审慎阅读了有关代码以及大部分言论后,我们对此事做一次完整总结,以尝试还原全貌,此次总结主要是基于现有内容进行分析,加之篇幅长度限制难免疏漏,欢迎各位补充与纠正。我们仅尝试还原事件全貌,无意发表任何评论。

事件脉络与冲突节点

时间:6 月 2 日 凌晨
事件节点:功能合并

贡献者 wonfen 合并了 commit 2cb9c13,引入 CVD 协议。涉及 44 个文件,净增约 1900 行代码,在 Rust 后端新建了独立的 cvd 模块。同时,同步更新了 13 种语言的本地化字符串,并发布了面向用户的介绍文档与面向服务商的集成文档。

时间:6 月 2 日 上午
事件节点:社区质疑

用户 ojibk 在 GitHub 提交了 Issue #7187,指出 CVD 工作原理中存在收集硬件指纹的嫌疑,对用户隐私构成严重威胁。

时间:6 月 2 日 09:09
事件节点:冲突升级

协作者 Dragon1573 迅速关闭了该 Issue 并标记为 "Invalid"(无效/超出范围),试图压制争议。

时间:6 月 2 日 11:00
事件节点:内部分歧

另一核心维护者 Tunglies 介入,公开表态:“对隐私收集不感兴趣,这由其他贡献者私自上传。我尝试交涉下。”随后重新打开该 Issue,并执行了 commit fa27d3e,彻底回滚了 CVD 相关的全部代码。

时间:6 月 3 日 - 6 月 4 日
事件节点:生态反击

内核项目 mihomo 核心开发者 wwqgtxx 加入论战,并在 mihomo 项目中提交了基于标准 age 协议的配置文件加密功能,以此作为 CVD 的替代方案,同时在官方推荐列表中移除了数个涉事或关联客户端。

时间:6 月 4 日 中午
事件节点:事件定格

wonfen 将其辩护言论置顶,并删除了部分反对者的评论,最终关闭并锁定了 Issue #7187 的讨论。



隐私争议

在 Issue #7187 中,双方就“是否收集了机器指纹”展开了激烈的技术辩论:
・社区部分人员观点:CVD 的设计要求提取主板 UUID、网卡 MAC 哈希等硬件特征。在代理客户端这类对隐私极其敏感的工具中,收集此类硬件指纹是不可接受的,且一旦泄露将导致用户身份与物理设备的精确关联。
- wonfen 的辩护:在实际的代码实现中,CVD 并没有直接提取硬件指纹,而是使用系统随机数生成了 X25519 密钥对。公钥通过 X-CVD-Pub 请求头发送,私钥则保存在系统钥匙串(Keyring)中,且在删除配置文件(Profile)时会自动销毁。他认为这只是一种“设备槽位限制”,而非“隐私收集”。
- 技术反驳(kmod-midori / BeiyanYunyi):即使目前的代码仅使用了随机数密钥,由于该密钥被设计为“不可导出”,其本质依然是利用系统钥匙串来强行锚定单台物理设备。此外,在主流桌面平台上,系统钥匙串并非不可攻破,攻击者或审查者只需通过简单的 Hook 即可捞出私钥。这种设计“防君子不防小人”,不仅无法真正提高审查成本,反而给用户制造了安全的假象。


关联性内容:age 加密

作为对 CVD 的回应,上游内核项目 mihomo 迅速合并了由 wwqgtxx 提交的代码,引入了基于 RFC 9180(age-encryption)标准的配置文件解密功能。
mihomo 团队强调,密钥应该由用户自行生成,且必须允许自由导入和导出。用户可以使用标准工具在多个设备间同步同一个私钥。这与 CVD “限制密钥导出、锁定设备槽位”的设计有着本质的区别。


GitHub - clash-verge-rev/clash-verge-rev Issue #7187
GitHub - clash-verge-rev/clash-verge-rev commit 2cb9c13
GitHub - clash-verge-rev/clash-verge-rev commit fa27d3e
GitHub - MetaCubeX/mihomo commit 358fa5e
GitHub - MetaCubeX/Meta-Docs commit da03412

🌸 在花频道 · 备用频道 · 投稿通道
 
 
Back to Top