Security
Radicle's Core Protocol Flaw Leaves Private Code Repositories Exposed in Plaintext
The peer-to-peer git platform disclosed critical vulnerabilities that strip encryption from all private repository traffic, forcing teams to abandon clearnet operations immediately.
InfoQ
Radicle, a decentralized code collaboration platform, has revealed two critical weaknesses in its underlying network protocol that completely eliminate privacy protections across all current releases. The flaws allow attackers positioned on the network path to intercept private repository contents unencrypted and masquerade as trusted nodes.
How the Protocol Breaks Down#
Despite implementing a Noise Protocol Framework handshake during initial connection setup—a cryptographically sound process where peers exchange keys to establish encrypted communication—radicle-node immediately discards the resulting cipher keys after negotiation completes. All traffic that follows, including repository metadata, network routing information, and Git object data, flows across the network in plaintext.
Engineer Kostis Maninakis discovered that the protocol performs its Noise handshake correctly over raw TCP, but the framing layer that sends actual data bypasses encryption altogether. Wire traffic analysis shows Git packfile content and protocol headers transmitted without any encryption or authentication protection.
Authentication Spoofing Layer#
Beyond the missing encryption, a second defect exists in how nodes verify peer identity. Because connection authentication lacks proper validation, an attacker can impersonate an allow-listed peer by forging its Node ID. When combined with eavesdropping on plaintext traffic, this enables an on-path attacker to capture legitimate node identifiers, assume their identity, and directly request private repositories from seed nodes.
While Git's content-addressed architecture and cryptographic signatures prevent attackers from actually modifying repository data undetected, the complete absence of transport-layer confidentiality means all repository contents remain readable.
Immediate Mitigation Required#
Project teams should treat any private repositories synced over public networks as compromised and immediately rotate cryptographic secrets and credentials stored in affected repos. Until patched releases arrive, operations must move to isolated environments—either private overlay networks using WireGuard tunnels or SSH port forwarding:
ssh -N -L 8776:127.0.0.1:8776 seed-node.internal.infra
rad node connect 127.0.0.1:8776

