diff --git a/docs/wiki/testing/fuzzing.md b/docs/wiki/testing/fuzzing.md new file mode 100644 index 00000000..69377a83 --- /dev/null +++ b/docs/wiki/testing/fuzzing.md @@ -0,0 +1,40 @@ +# Fuzzing Ethereum's devp2p Protocol + + + +The Ethereum network, a cornerstone of decentralized applications, is a prime target for potential security breaches due to its widespread adoption. Ensuring the maximum security of the network and node interactions is crucial to prevent significant problems. The devp2p protocols, responsible for facilitating communication between Ethereum nodes, are a critical area of focus to enhance network security. Fuzzing, a robust testing technique, can be employed to identify vulnerabilities and potential issues in the Ethereum network's devp2p protocols using the Go programming language. + +Securing the Ethereum network is paramount to maintain its integrity and protect against potential attacks. Vulnerabilities or bugs in the devp2p protocols could lead to disruptive issues or even compromise the entire network. To mitigate this, Ethereum contributors have developed various tools, including fuzzers. + + +Fuzzer programs provide invalid, unexpected, or random data as inputs to a computer program, monitoring for exceptions such as crashes, failing built-in code assertions, or potential memory leaks. By leveraging fuzzers, we can simulate diverse scenarios, identify unexpected behaviors, and uncover vulnerabilities that may not be apparent through traditional testing. + +By harnessing the power of fuzzing and developing fuzzers in Golang to interact with Geth's devp2p protocols, we can bolster the security of the Ethereum network. Targeted fuzzing enables the Ethereum community to proactively address potential threats, ensuring the robustness and longevity of the Ethereum ecosystem. + + +### Here is a list of different fuzzers made by Ethereum contributors: + +https://github.com/MariusVanDerWijden/tx-fuzz + +https://github.com/MariusVanDerWijden/FuzzyVM + +https://github.com/holiman/goevmlab/ + +https://github.com/infosecual/nosy + +https://github.com/ethereum/c-kzg-4844/tree/main/fuzz + +https://github.com/jtraglia/kzg-fuzz + +https://github.com/sigp/beacon-fuzz + +https://github.com/infosecual/wormtongue + + +### Resources + +* [Devp2p Specification](https://github.com/ethereum/devp2p) +* [Official Go implementation of the Ethereum protocol](https://github.com/ethereum/go-ethereum) +* https://github.com/MariusVanDerWijden/FuzzyVM +* https://github.com/MariusVanDerWijden/tx-fuzz +* https://github.com/MariusVanDerWijden/merge-fuzz diff --git a/wordlist.txt b/wordlist.txt index dcea1c3c..a7552419 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -133,6 +133,7 @@ cryptoeconomically cryptoeconomics cryptographic cryptographically +Cryptography Cryptopedia cryptopunks cryptosystem