libfuzzer
sharpfuzz
libfuzzer | sharpfuzz | |
---|---|---|
1 | 1 | |
196 | 351 | |
2.0% | - | |
4.8 | 6.5 | |
about 1 month ago | 2 months ago | |
C++ | C# | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libfuzzer
-
[release] Fazi - a drop-in replacement for libfuzzer
Evaluate usage in Rust targets similar to https://github.com/rust-fuzz/libfuzzer (this is possible, just need to look at how this uses libfuzzer)
sharpfuzz
-
When do you consider your unit tests be "enough"?
Because of the above I've generally been using tools like Stryker.NET and FsCheck to augment my testing suite. I'm still doing unit testing to find the more obvious "I haven't had my coffee, let's make sure I'm doing what I think I'm doing" bugs. I'm just using things like mutation testing, property testing, fuzzing, etc. to find the deeper issues in my code. There's a ton of libraries out there, including one that I've built for myself to help with testing but FsCheck and Stryker are just beautiful. And if you're interested in fuzzing, SharpFuzz is a great option. But that one isn't quite as easy of an on ramp compared to the other two that I mentioned.
What are some alternatives?
wtf - wtf is a distributed, code-coverage guided, customizable, cross-platform snapshot-based fuzzer designed for attacking user and / or kernel-mode targets running on Microsoft Windows and Linux user-mode (experimental!).
Stryker.NET - Mutation testing for .NET core and .NET framework!
fazi - drop-in replacement for libfuzzer
FsCheck - Random Testing for .NET
Sloth - Sloth 🦥 is a coverage guided fuzzing framework for fuzzing Android Native libraries that makes use of libFuzzer and QEMU user-mode emulation
AFLplusplus - The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!
bolero - property testing and verification front-end for Rust
LibAFL - Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...
ManuFuzzer - Binary code-coverage fuzzer for macOS, based on libFuzzer and LLVM
afl.rs - 🐇 Fuzzing Rust code with American Fuzzy Lop
Fuzzing101 - An step by step fuzzing tutorial. A GitHub Security Lab initiative