Hacker News new | past | comments | ask | show | jobs | submit login
Using Clang LibFuzzer coverage-guided fuzzing engine with Nim (github.com/planetis-m)
72 points by planetis on June 5, 2021 | hide | past | favorite | 5 comments



Something similar using GCC would be very nice!


IIRC libfuzzer doesn't necessarily depend on clang. It is coverage-guided so if gcc could generate the instrumentation to emit the coverage data, it would probably just work.

Way back when AFL was around but libfuzzer didn't exist yet, I think AFL came with a modified gcc that did that instrumentation. Maybe now that's upstreamed?


gcc has had code coverage/gcov since before llvm/clang existed. My guess is that the format is different enough from clang's that libfuzzer may need some love to do dual formats (unless it already can - I have not checked).


Why?


Because libfuzzer is way better than gcc-based fuzzers. Also much easier to use. I usually get 20x more libfuzzer hits than with afl++ and friends. And there I usually have to use the llvm-based variant to keep compile times under 1hr. It compiles 20x faster.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: