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
  1. agroce commented at 5:52 pm on July 29, 2021: contributor
    MarcoFalke 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.
  2. DrahtBot added the label Docs on Jul 29, 2021
  3. 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 :)
  4. practicalswift changes_requested
  5. practicalswift commented at 10:08 am on July 30, 2021: contributor

    Tested 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.

  6. MarcoFalke commented at 10:53 am on July 30, 2021: member
    Concept ACK will test after #22585 (review)
  7. agroce commented at 2:19 pm on July 30, 2021: contributor
    What 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.
  8. jonatack commented at 2:20 pm on July 30, 2021: member
    Concept ACK. I might test with Debian.
  9. practicalswift commented at 8:26 pm on August 5, 2021: contributor
    Tested ACK 4f9784fc2d51843ebc05e81c31a508bee5b7e370
  10. MarcoFalke commented at 8:03 am on August 6, 2021: member
  11. agroce commented at 11:19 am on August 6, 2021: contributor
    Will squash in the AM
  12. fuzz: add guide to fuzzing with Eclipser v1.x 6e1150ea3b
  13. agroce force-pushed on Aug 6, 2021
  14. agroce commented at 3:54 pm on August 6, 2021: contributor
    squashed & ready to go
  15. practicalswift commented at 6:18 pm on August 15, 2021: contributor
    ACK 6e1150ea3b82d1ab557d4b74aa652b8d974876aa
  16. laanwj merged this on Oct 1, 2021
  17. laanwj closed this on Oct 1, 2021

  18. sidhujag referenced this in commit 2116c4a9f4 on Oct 1, 2021
  19. DrahtBot locked this on Oct 30, 2022

github-metadata-mirror

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-12-23 03:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me