Integrated Fuzzing for Ethereum Network Layers
<aside>
Our Vision: Creating a safer Ethereum p2p network through comprehensive security testing
</aside>
⚠️Why This Matters
Ethereum's pnetwork architecture creates blind spots between the Consensus Layer (LibP2P) and Execution Layer (devp2p) that current tools can't adequately test. No secure Ethereum P2P, no safe Ethereum protocol.
Our Innovation
We're developing the first unified fuzzing framework that tests cross-layer interactions with state-aware packet mutation across complete peer lifecycles.
Key Deliverables
-
Open-Source Toolkit Supporting 3+ major Ethereum clients with plug-and-play functionality
-
Security Publications, Academic researc,h and vulnerability advisories to benefit the entire ecosystem
-
Client PatchesDirect collaboration with development teams to implement security fixes
"Safer P2P network, Better Ethereum"
Project Introduction
- Why it matters
- After Ethereum’s shift to Proof-of-Stake, two separate networking stacks keep the chain alive: LibP2P for the Consensus Layer (CL) and devp2p for the Execution Layer (EL). Existing fuzzing efforts cover only one side at a time, leaving protocol “blind spots” that attackers can exploit.
- What will we do
- Build the first unified, state-aware fuzzing framework that targets both LibP2P (CL) and devp2p (EL) in one workflow, systematically mutating packet sequences across the full peer life-cycle to expose subtle logic and implementation flaws.
- Concrete outcomes
- Open-source toolkit with plug-and-play support for ≥ 3 mainstream CL & EL clients and an optional CI pipeline.
- Academic publications, vulnerability advisories, and ready-to-merge patches that harden the Ethereum network layer.
- Early proof of traction
- Our 2024 Academic-Grant project delivered a time-series EL fuzzer, one patent filing, and a working prototype adopted by core-dev testers, establishing the engineering base we now extend to CL.
Code base
Our project's GitHub is as follows:
https://github.com/AgnopraxLab/D2PFuzz
Bug We found
https://github.com/ethereum/go-ethereum/issues/31471
https://github.com/paradigmxyz/reth/issues/15255