What is LibFuzzer?

LibFuzzer is an in-process engine that employs coverage-guided techniques for evolutionary fuzzing. By integrating directly with the library being tested, it injects generated fuzzed inputs into a specific entry point or target function, allowing it to track executed code paths while modifying the input data to improve code coverage. The coverage information is gathered through LLVM’s SanitizerCoverage instrumentation, which provides users with comprehensive insights into the testing process. Importantly, LibFuzzer is continuously maintained, with critical bugs being resolved as they are identified. To use LibFuzzer with a particular library, the first step is to develop a fuzz target; this function takes a byte array and interacts meaningfully with the API under scrutiny. Notably, this fuzz target functions independently of LibFuzzer, making it compatible with other fuzzing tools like AFL or Radamsa, which adds flexibility to testing approaches. Moreover, combining various fuzzing engines can yield more thorough testing results and deeper understanding of the library's security flaws, ultimately enhancing the overall quality of the code. The ongoing evolution of fuzzing techniques ensures that developers are better equipped to identify and address potential vulnerabilities effectively.

Pricing

Price Starts At:
Free
Free Version:
Free Version available.

Integrations

Offers API?:
Yes, LibFuzzer provides an API

Screenshots and Video

LibFuzzer Screenshot 1

Company Facts

Company Name:
LLVM Project
Date Founded:
2003
Company Website:
llvm.org/docs/LibFuzzer.html

Product Details

Deployment
Windows
Linux
Training Options
Documentation Hub
Support
Web-Based Support

Product Details

Target Company Sizes
Individual
1-10
11-50
51-200
201-500
501-1000
1001-5000
5001-10000
10001+
Target Organization Types
Mid Size Business
Small Business
Enterprise
Freelance
Nonprofit
Government
Startup
Supported Languages
English

LibFuzzer Categories and Features