你还在用聊天软件裸奔?这个1.2万星的开源项目,把最后的隐私漏洞堵上了

说个扎心的事。
上周一个做安全的哥们突然问我:“你知道你用的聊天软件里,服务器存了谁的手机号、谁在几点跟谁聊过天吗?”
我愣了一下。说实话,我真没想过这个问题。
他接着说了一句话,直接让我后背发凉:“你加密了消息内容,但你的社交图谱——你跟谁聊天、什么频率、几点在线——服务器看得一清二楚。这些元数据比聊天内容值钱多了。”
操。
然后他就甩给我这个项目的地址:
https://github.com/simplex-chat/simplex-chat
我看完项目文档,沉默了很久。
不是加密不够,是“身份”本身就是漏洞
SimpleX 这个项目,现在 12.6k Star,用纯 Haskell 写的——对,你没看错,Haskell。这在即时通讯领域本身就挺离谱的。

但更离谱的是它的设计思路。
市面上所有主流聊天工具——Signal、WhatsApp、Telegram——都在解决一个共同问题:“怎么加密消息?”。Signal的双棘轮协议牛不牛?牛。端到端加密强不强?强。
但有个盲区。
你注册账号的那一刻,服务器就永久绑定了你的手机号、邮箱或者用户名。这意味着:就算消息内容加密了,服务器依然知道“张三在凌晨2点给李四发了一条消息”。你的社交关系网,全裸的。
SimpleX 干了件什么事?
它把“用户标识”这个核心概念直接砍掉了。没有手机号,没有邮箱,没有用户名,没有任何永久ID。
怎么做到的?
它用了一种叫“单向连接队列”的架构。你添加一个联系人时,系统不会在中央服务器建立一个“用户A-用户B”的绑定关系。而是通过一个临时的、一次性的连接请求,双方各自生成独立的队列地址。服务器只负责转发加密的流量,但它不知道这个队列属于谁,也不知道两个队列之间有什么关系。
说得再直白一点:服务器看到的只是一堆匿名邮筒之间在互相扔加密包裹。谁扔的?不知道。扔给谁的?也不知道。

Trail of Bits 审计过,这才是让我服气的地方

说实话,现在冒出来一堆“隐私聊天软件”,99%都是扯淡。你仔细看他们的协议设计,不是留后门就是在元数据处理上玩文字游戏。
但 SimpleX 被 Trail of Bits——业界公认的顶级安全审计公司——审过了,2022年11月出的报告。安全圈对 Trail of Bits 的敬畏几乎是刻在骨子里的,他们审过 PyTorch、审过各大公链,查出来的漏洞能让你怀疑人生。
而且 Privacy Guides(隐私指南社区)、Whonix(匿名操作系统项目)、Kuketz-Blog(德国知名安全博客)都把它列入了推荐名单。
这几个名字摆在这里,懂的都懂。不是花钱买的那种软广,是真正的技术社区背过书的。

三层加密 + 双棘轮,但这个“多余”的第三层才是灵魂
技术上它的加密方案是这样的:
端到端双棘轮加密——这是标配,Signal 同款协议,保证消息内容只有双方能解开。但 SimpleX 还在外面又套了一层传输层加密(TLS),然后再加一层应用层加密。
你仔细品品这个设计。
为什么要在端到端加密之外再多套两层?因为端到端加密只能保护消息内容,保护不了“谁在给谁发消息”这个事实本身。外层加密把整个信道都罩住,服务器看到的只是两个匿名端点之间的加密流量交换,连“这是一条聊天消息”都判断不出来。
而且,消息发送不是直接“A到B”,而是“A的队列→服务器→B的队列”。服务器转发了消息,但它根本不知道 A 和 B 是谁,也不知道这两个队列之间是什么关系。每个用户可以有多个队列,互相独立,进一步打乱了流量模式。
这种设计哲学用一个词概括:信息最小化。服务器只知道它绝对必须知道的——一个匿名队列要转发一条加密数据到另一个匿名队列。仅此而已。
这玩意儿能用在什么地方?
讲真,不是每个人都用得上这种极致的隐私保护。你如果只是在群里发发猫图、聊聊晚饭吃啥,Signal 足够了。
但如果你属于这几类人——
一、做安全的,或者在你公司负责敏感数据。你老板要是在微信上跟你讨论核心业务数据,你慌不慌?你说“没事我们用了端到端加密”,但你老板的手机号、你的手机号、消息频率、通话时长,全在服务器日志里。
二、记者、律师、医生这类有保密义务的职业。在某些情况下,泄露“你跟谁聊过天”本身就可能构成严重的伦理甚至法律问题。
三、纯技术好奇。SimpleX 的协议设计文档写得非常翔实,Haskell 的实现代码也是开源可审计的,对研究隐私通讯的人来说是一个教科书级别的案例。
用我那个做安全的朋友的话说:“你越懂底层协议,越会觉得 SimpleX 的设计让你睡不着觉——不是吓的,是兴奋的。”
命令行、桌面、iOS、安卓全端都有,而且还在狂迭代
很多人吐槽隐私工具难用,这倒是真的。之前有些匿名通讯工具,搭建环境就得半天,界面丑得像上世纪的产物。
SimpleX 这点做得挺上道。iOS 在 App Store 直接下载,安卓除了 Google Play 还有独立 APK 和 F-Droid 渠道,桌面端和命令行也都有。iOS 的 TestFlight 预览版提前 1-2 周推送新功能,不过只限 1 万人,想尝鲜的得趁早。
我特意去看了看它的 issues 列表,1138 个 open issues,活跃度相当高。团队在持续跟社区互动,每次更新都会把协议变更和新增功能写得清清楚楚。

如果你感兴趣,项目页面整理了很多资料:
官网:https://simplex.chat
设计哲学(为什么做 SimpleX):
https://github.com/simplex-chat/simplex-chat/blob/stable/docs/WHY.md安全审计报告和社区评价都在 README 里标清楚了,红迪社区 r/SimpleXChat 也有不少技术讨论。
写到最后我想说点走心的。
我们这行,天天跟代码、服务器、协议打交道。但很多人对“隐私”的理解还停留在“我又没干坏事,怕什么”。这话本身就逻辑不通——隐私不是用来隐藏罪恶的,隐私是人的基本尊严。你拉窗帘不是为了藏尸体,是因为你不想活在别人的注视下。
SimpleX 做的事很简单:把你的窗帘还给你。
你仔细想想,我们已经多久没有真正的私密对话了?
觉得有用就转发给那个还在群里裸聊的朋友。点个在看,让更多搞技术的人知道:隐私不是奢侈品,是底线。
夜雨聆风