2026年9月23日,基于Git的点对点、本地优先代码协作栈Radicle在官方博客发布漏洞披露公告。公告措辞直接:网络协议中被发现两个严重漏洞,迄今发布的所有Radicle版本都受影响,建议用户在修复版本发布前停止使用私有仓库。Radicle定位为GitHub式集中托管的去中心化替代,代码同步走节点间的网络协议而非中心服务器。
第一个漏洞是节点之间的网络流量既没有加密也没有认证。公告解释,签名引用机制仍然能检测出传输路径上的攻击者篡改对象的行为,因此主要威胁是信息泄露,也就是路径上的攻击者读取传输中的对象。对公开仓库来说信息泄露危害有限,但传输加密对私有仓库至关重要。该漏洞由安全研究员Konstantinos Maninakis于2026年6月24日报告,他本人也发表了详细分析文章。
握手认证失效:伪造白名单节点直接拉走私有库
第二个漏洞出在连接握手的对等认证上:攻击者可以连上你的节点并冒充一个不属于自己的节点身份。Radicle的私有仓库只与白名单内的节点身份共享,因此攻击者只要伪造一个白名单身份,就能不在网络路径上的情况下直接拉取整个私有仓库。该漏洞由研究者cryptocode于2026年8月12日报告。
公告指出,第二个漏洞单独看比听起来更难利用:要冒充白名单身份得先知道一个,而白名单并不公开。但两个漏洞叠加起来杀伤力陡增——路径上的攻击者能同时看到连接两端的节点身份,而这两端通常都在白名单里,攻击者一边读取交换的数据,一边用看到的身份按需把整个仓库拉走。官方对威胁的结论是:真正的威胁是任何处于你的节点与其同步节点之间路径上的人,没有任何设置或白名单能防住他们。
破坏性升级在所难免:先披露后修复,凭据必须轮换
修复方案的代价很高。公告说明,由于协议缺乏版本协商能力,而修复在链路上与旧版本不兼容,无法实现向后兼容的缓解,因此修复版本将是破坏性更新并提升主版本号,相关工作已经在推进。官方选择在安全更新可用之前就公开披露,理由是用户今天就可以据此行动,而之后发布的任何修复都无法撤销已经发生的暴露。
官方给出的处置清单很具体:停止通过网络使用私有仓库;用rad ls命令加参数列出全部私有仓库,再逐个用rad block阻断其共享策略,而不是用取消共享的命令,因为后者在默认策略为允许时会让节点继续提供服务;停止节点可以直接用node stop。公告同时要求用户把所有曾经通过网络传给其他节点的私有仓库视为已经泄露,如果其中包含未加密的凭据、密牌或令牌必须立即轮换。对于试图用Tor、I2P或其他覆盖网络与VPN补救的用户,公告明确泼了冷水:这些手段能隐藏流量、缩小攻击面,但挡不住节点冒充,有针对性的攻击仍可能导出私有仓库内容。