Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
Atheris is a Python fuzzing engine guided by coverage, designed to test both Python code and native extensions developed for CPython. It is built on the foundation of libFuzzer, providing an effective method for identifying additional bugs when fuzzing native code. Atheris is compatible with Linux (both 32- and 64-bit) and Mac OS X, supporting Python versions ranging from 3.6 to 3.10. Featuring an integrated libFuzzer, it is well-suited for fuzzing Python applications, but when targeting native extensions, users may need to compile from source to ensure compatibility between the libFuzzer version in Atheris and their Clang installation. Since Atheris depends on libFuzzer, which is a component of Clang, users of Apple Clang will need to install a different version of LLVM, as the default does not include libFuzzer. The implementation of Atheris as a coverage-guided, mutation-based fuzzer (LibFuzzer) simplifies the setup process by eliminating the need for input grammar definition. However, this approach can complicate the generation of inputs for code that processes intricate data structures. Consequently, while Atheris offers ease of use in many scenarios, it may face challenges when dealing with more complex parsing requirements.
Description
AFL-Unicorn provides the capability to fuzz any binary that can be emulated using the Unicorn Engine, allowing you to target specific code segments for testing. If you can emulate the desired code with the Unicorn Engine, you can effectively use AFL-Unicorn for fuzzing purposes. The Unicorn Mode incorporates block-edge instrumentation similar to what AFL's QEMU mode employs, enabling AFL to gather block coverage information from the emulated code snippets to drive its input generation process. The key to this functionality lies in the careful setup of a Unicorn-based test harness, which is responsible for loading the target code, initializing the state, and incorporating data mutated by AFL from its disk storage. After establishing these parameters, the test harness emulates the binary code of the target, and upon encountering a crash or error, triggers a signal to indicate the issue. While this framework has primarily been tested on Ubuntu 16.04 LTS, it is designed to be compatible with any operating system that can run both AFL and Unicorn without issues. With this setup, developers can enhance their fuzzing efforts and improve their binary analysis workflows significantly.
API Access
Has API
Yes
API Access
Has API
No
Integrations
Google OSS-Fuzz
No
LibFuzzer
No
Python
No
Pricing Details
Free
Free Trial
No
Free Version
Yes
Pricing Details
Free
Free Trial
No
Free Version
Yes
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
No
Mac
Yes
Linux
Yes
Chromebook
No
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
Yes
Windows
Yes
Mac
Yes
Linux
Yes
Chromebook
No
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Vendor Details
Company Name
Website
github.com/google/atheris
Vendor Details
Company Name
Battelle
Website
github.com/Battelle/afl-unicorn