fuzz: add guide to fuzzing with Eclipser v1.x #22585
pull agroce wants to merge 1 commits into bitcoin:master from agroce:patch-2 changing 1 files +67 −0-
agroce commented at 5:52 pm on July 29, 2021: contributorMarcoFalke and practicalswift here’s an Eclipser guide, reconstructed from their documentation and my docker history getting it up and running. It might be good if someone confirmed it actually works for them in a fresh ubuntu 20.04.
-
DrahtBot added the label Docs on Jul 29, 2021
-
in doc/fuzzing.md:286 in d899d36a14 outdated
280+$ git clone https://github.com/SoftSec-KAIST/Eclipser.git 281+$ cd Eclipser 282+$ git checkout v1.x 283+$ make 284+$ cd .. 285+$ ./configure --enable-fuzz
practicalswift commented at 8:44 am on July 30, 2021:I think./autogen.sh
is required before./configure
since this is a fresh checkout :)practicalswift changes_requestedpracticalswift commented at 10:08 am on July 30, 2021: contributorTested ACK d899d36a146822c0d6e90755f343ddc45904f84f modulo missing
./autogen.sh
:)Thanks for doing this: Eclipser is a very nice and interesting fuzzer, and the addition of a symbolic execution inspired fuzzer to the Bitcoin Core “fuzzing ensemble” is awesome :)
Recommended reading for other reviewers: “What Makes Eclipser Special?” (Trail of Bits) and the Eclipser paper.
This quote from the blog post referenced above describes why “the more the merrier” typically holds when it comes to choosing fuzzers:
The research literature and practical wisdom of fuzzer use repeatedly show that, even when a fuzzer is good enough to “beat” other fuzzers (and thus get a paper published at ICSE), it will always have instances where it performs worse than an “old,” “outdated” fuzzer. In fuzzing, diversity is not just helpful, it’s essential, if you really want the best chance to find every last bug. No fuzzer will be best for all programs under test, or for all bugs in a given real-world program.
MarcoFalke commented at 10:53 am on July 30, 2021: memberConcept ACK will test after #22585 (review)agroce commented at 2:19 pm on July 30, 2021: contributorWhat I’d really like is to get tool-based ensemble fuzzing up and running, but my experiments right now are showing the tools may be not-ready-for-prime-time. The DeepState ensembler (sort of) works right now, but porting doesn’t seem like a good approach.jonatack commented at 2:20 pm on July 30, 2021: memberConcept ACK. I might test with Debian.practicalswift commented at 8:26 pm on August 5, 2021: contributorTested ACK 4f9784fc2d51843ebc05e81c31a508bee5b7e370MarcoFalke commented at 8:03 am on August 6, 2021: memberPlease squash your commits according to https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#squashing-commitsagroce commented at 11:19 am on August 6, 2021: contributorWill squash in the AMfuzz: add guide to fuzzing with Eclipser v1.x 6e1150ea3bagroce force-pushed on Aug 6, 2021agroce commented at 3:54 pm on August 6, 2021: contributorsquashed & ready to gopracticalswift commented at 6:18 pm on August 15, 2021: contributorACK 6e1150ea3b82d1ab557d4b74aa652b8d974876aalaanwj merged this on Oct 1, 2021laanwj closed this on Oct 1, 2021
sidhujag referenced this in commit 2116c4a9f4 on Oct 1, 2021DrahtBot locked this on Oct 30, 2022
agroce practicalswift MarcoFalke jonatackLabels
Docs
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-21 18:12 UTC
More mirrored repositories can be found on mirror.b10c.me