Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
Fuzzing serves as an effective method for identifying software bugs. Essentially, it involves generating numerous randomly crafted inputs for the software to process in order to observe the outcomes. When a program crashes, it usually indicates that there is a problem. Despite being a widely recognized approach, it is often surprisingly straightforward to uncover bugs, including those with potential security risks, in commonly used software. Memory access errors, especially prevalent in programs developed in C/C++, tend to be the most frequently identified issues during fuzzing. While the specifics may vary, the underlying problem is typically that the software accesses incorrect memory locations. Modern Linux or BSD systems come equipped with a variety of fundamental tools designed for file display and parsing; however, most of these tools are ill-equipped to handle untrusted inputs in their present forms. Conversely, we now possess advanced tools that empower developers to detect and investigate these vulnerabilities more effectively. These innovations not only enhance security but also contribute to the overall stability of software systems.
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.
API Access
Has API
API Access
Has API
Integrations
C
C++
Atheris
ClusterFuzz
Fuzzbuzz
Google ClusterFuzz
Jazzer
Integrations
C
C++
Atheris
ClusterFuzz
Fuzzbuzz
Google ClusterFuzz
Jazzer
Pricing Details
Free
Free Trial
Free Version
Pricing Details
Free
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
Fuzzing Project
Website
fuzzing-project.org
Vendor Details
Company Name
LLVM Project
Founded
2003
Website
llvm.org/docs/LibFuzzer.html