Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
LibFuzzer serves as an in-process, coverage-guided engine for evolutionary fuzzing. By being linked directly with the library under examination, it injects fuzzed inputs through a designated entry point, or target function, allowing it to monitor the code paths that are executed while creating variations of the input data to enhance code coverage. The coverage data is obtained through LLVM’s SanitizerCoverage instrumentation, ensuring that users have detailed insights into the testing process. Notably, LibFuzzer continues to receive support, with critical bugs addressed as they arise. To begin utilizing LibFuzzer with a library, one must first create a fuzz target—this function receives a byte array and interacts with the API being tested in a meaningful way. Importantly, this fuzz target operates independently of LibFuzzer, which facilitates its use alongside other fuzzing tools such as AFL or Radamsa, thereby providing versatility in testing strategies. Furthermore, the ability to leverage multiple fuzzing engines can lead to more robust testing outcomes and clearer insights into the library's vulnerabilities.
Description
Fuzz testing, commonly referred to as fuzzing, is a technique used in software testing that aims to discover implementation errors by injecting malformed or semi-malformed data in an automated way. For example, consider a scenario involving an integer variable within a program that captures a user's selection among three questions; the user's choice can be represented by the integers 0, 1, or 2, resulting in three distinct cases. Since integers are typically stored as fixed-size variables, a failure to implement the default switch case securely could lead to program crashes and various traditional security vulnerabilities. Fuzzing serves as an automated method for uncovering software implementation issues, enabling the identification of bugs when they occur. A fuzzer is a specialized tool designed to automatically inject semi-random data into the program stack, aiding in the detection of anomalies. The process of generating this data involves the use of generators, while the identification of vulnerabilities often depends on debugging tools that can analyze the program's behavior under the influence of the injected data. These generators typically utilize a mixture of established static fuzzing vectors to enhance the testing process, ultimately contributing to more robust software development practices.
API Access
Has API
API Access
Has API
Integrations
Atheris
C
C++
CI Fuzz
ClusterFuzz
Fuzzbuzz
Google ClusterFuzz
Jazzer
Integrations
Atheris
C
C++
CI Fuzz
ClusterFuzz
Fuzzbuzz
Google ClusterFuzz
Jazzer
Pricing Details
Free
Free Trial
Free Version
Pricing Details
No price information available.
Free Trial
Free Version
Deployment
Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook
Deployment
Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook
Customer Support
Business Hours
Live Rep (24/7)
Online Support
Customer Support
Business Hours
Live Rep (24/7)
Online Support
Types of Training
Training Docs
Webinars
Live Training (Online)
In Person
Types of Training
Training Docs
Webinars
Live Training (Online)
In Person
Vendor Details
Company Name
LLVM Project
Founded
2003
Website
llvm.org/docs/LibFuzzer.html
Vendor Details
Company Name
OWASP
Country
United States
Website
owasp.org/www-community/Fuzzing