crytic / medusa

Parallelized, coverage-guided, mutational Solidity smart contract fuzzing, powered by go-ethereum
https://www.trailofbits.com/
GNU Affero General Public License v3.0
273 stars 33 forks source link

improvements to random address generation #367

Open 0xalpharush opened 4 weeks ago

0xalpharush commented 4 weeks ago

https://github.com/crytic/echidna/blob/55a80914de235ebe06e237e0d03799fb01b231c9/lib/Echidna/ABI.hs#L358-L368 Instead of using random bytes we should generate from the an address pool like Echidna does above and also use the value set. The mutator can introduce more randomness but the initial sequences generated will probably fair better and create more interesting sequences re-using a pool of addresses https://github.com/crytic/medusa/blob/6750032502ed64952435dc408be3d8a1a107eb5c/fuzzing/valuegeneration/generator_random.go#L46-L52