Learning Goals

Gain an…

  1. Ability to run and configure a real fuzzer to find bugs in smart contracts
  2. Understanding of the benefits and utility of a randomized testing tool.
  3. Understanding of the limitations of Echidna and an understanding of the limitations of randomized testing.

Suggested Academic Readings:

  1. Echidna: Effective, Usable, and Fast Fuzzing for Smart Contracts
  2. Randoop: Feedback-Directed Random Testing for Java
  3. Feedback-directed Random Test Generation

Resources:

  1. Echidna Config
    1. You might need seqLen and testLimit
  2. Ragnarok Online Invasion Vulnerability
  3. Compiling with multiple solidity versions

Setup:

  1. Download the development environment and benchmark set: