Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: BazzAFL
  • License: apache-2.0
  • Language: C
  • Default Branch: main
  • Size: 6.93 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed about 3 years ago
Metadata Files
Readme Changelog Contributing Funding License Citation

README.md

BazzAFL-based on AFL++

GitHub version: v1.0

This is developed based on AFLplusplus (4.01c), thanks to its amazing maintainers and community!

Getting started

Prerequisite

Firstly, Please follow the instructions of building afl++ (please refer to README_aflpp)

We have tested on a machine with Ubuntu 16.04/18.04/20.04 LLVM 13.0.0

We recommend running BazzAFL on Ubuntu 16.04/20.04 - LLVM >= 11 (recommend pre-built LLVM 13.0.0) - LLVM 14 is not supported after testing, so we recommend LLVM 13 pre-built version - GLib–2.0 (source:glib2.0)

Build

bash git clone https://github.com/BazzAFL/BazzAFL.git cd BazzAFL make

Usage

First you need to compile the target program you want to fuzz with afl-clang-fast or afl-clang-fast++.

bash export CC=/path/to/BazzAFL/afl-clang-fast export CXX=/path/to/BazzAFL/afl-clang-fast++ If something goes wrong, make sure your clang and LLVM >= 11 and GLib-2.0 has been installed correctly

bash clang --version llvm-config --version

Then compile and build the target program
For example bash cd testbazz unzip -q libtiff-3.9.7.zip cd libtiff-Release-v3-9-7 ./autogen.sh && ./configure --disable-shared make -j cp tools/tiffsplit ../tiffsplit/ or

bash cd testbazz tar -xvf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure --disable-shared make -j cp frontend/lame ../tiffsplit/

If you want to try BazzAFL on a new program, 1. Compile the new program from source code using BazzAFL/afl-clang-fast or BazzAFL/afl-clang-fast++ 2. After compiling, do not forget to unset CC/CXX 3. Prepare appropriate input files

Running BazzAFL

bash cd testbazz/tiffsplit bash prepare.sh ./afl-fuzz -i in_tif -z 4 -o out ./tiffsplit @@ # set AFL_NO_UI=1 is recommended or bash cd testbazz/lame bash prepare.sh ./afl-fuzz -i in_wav -z 4 -o out ./lame @@ /dev/null # set AFL_NO_UI=1 is recommended # -z --switch of BazzAFL # 0 = original AFL++ without any of BazzAFL's optimization on # 4 = all three components of BazzAFL are on

PS:In order to improve the efficiency of BazzAFL, the Explore mode is used by default when using the -z option to prevent the total energy of the seed groups too small

Analyze

  • You can always view the process of BazzAFL in the plot_data(by aflpp) and mb_record log files, and also observe the generation of the subseeds in the subseeds folder(replaced subseed will be deleted and free at the end of fuzzing in case sth uncertain happens)

Owner

  • Login: BazzAFL
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - given-names: Marc
    family-names: Heuse
    email: mh@mh-sec.de
  - given-names: Heiko
    family-names: Eißfeldt
    email: heiko.eissfeldt@hexco.de
  - given-names: Andrea
    family-names: Fioraldi
    email: andreafioraldi@gmail.com
  - given-names: Dominik
    family-names: Maier
    email: mail@dmnk.co
title: "AFL++"
version: 4.00c
type: software
date-released: 2022-01-26
url: "https://github.com/AFLplusplus/AFLplusplus"
keywords:
  - fuzzing
  - fuzzer
  - fuzz-testing
  - instrumentation
  - afl-fuzz
  - qemu
  - llvm
  - unicorn-emulator
  - securiy
license: AGPL-3.0-or-later

GitHub Events

Total
  • Issues event: 2
  • Public event: 1
Last Year
  • Issues event: 2
  • Public event: 1

Dependencies

custom_mutators/libafl_base/Cargo.toml cargo
custom_mutators/rust/Cargo.toml cargo
custom_mutators/rust/custom_mutator/Cargo.toml cargo
custom_mutators/rust/custom_mutator-sys/Cargo.toml cargo
custom_mutators/rust/example/Cargo.toml cargo
custom_mutators/rust/example_lain/Cargo.toml cargo
unicorn_mode/samples/speedtest/rust/Cargo.toml cargo
Dockerfile docker
  • ubuntu 22.04 build
frida_mode/many-linux/Dockerfile docker
  • fridadotre/manylinux-x86_64 latest build
frida_mode/ub1804/Dockerfile docker
  • ubuntu xenial build
frida_mode/ts/package-lock.json npm
  • tsc 2.0.3 development
frida_mode/ts/package.json npm
  • @types/node ^14.14.2 development
  • tslint ^6.1.3 development
  • typescript ^4.0.3 development
  • typescript-tslint-plugin ^0.5.5 development
  • @types/frida-gum ^16.2.0