funafl

Prototype of FunAFL based on AFLplusplus tag v4.31c

https://github.com/fa1c4/funafl

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 (10.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Prototype of FunAFL based on AFLplusplus tag v4.31c

Basic Info
  • Host: GitHub
  • Owner: fa1c4
  • License: apache-2.0
  • Language: C
  • Default Branch: main
  • Size: 4.55 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Prototype of FunAFL based on American Fuzzy Lop plus plus (AFL++)

FunAFL based on AFL++ version: v4.31c

Release version: 4.31c

GitHub version: 4.31c

Repository: https://github.com/AFLplusplus/AFLplusplus

Building and installing AFL++

prepare the environment and build the fuzzer

dependencies: llvm-15 clang-15

```shell

install dependencies before compile the FunAFL

./dependenciesinstall.sh --install ./dependenciesinstall.sh --alt

compile fuzzer

make clean time make -j source-only

afl-fuzz and supporting tools

LLVM basic mode, LLVM mode, LLVM LTO mode, gcc_mode should be built successfully

and ignore Nyx build error

```

Static analysis

run the IDAPro scripts static/acg_extract.py and static/loc2bbs_funtions.py in IDAPro to complete static analysis

version tested: IDAPro=7.7, Python=3.8

Running evaluation

FuzzBench

copy the integration/fuzzbench to FuzzBench fuzzbench/fuzzers/funafl then run the evaluation of funafl and completed static analysis and put the results data + *_cg.pkl for dynamic updating + *_bb2attributes.json for seed score calculation + *_loc2addr.json to fuzzbench/funzzers/funafl/aicfg ```shell git clone https://github.com/google/fuzzbench cd fuzzbench/fuzzers mkdir funafl cp /path/to/funafl/integration/fuzzbench/* ./funafl

cd ../ && make install-dependencies make presubmit

require python3 environment

source .venv/bin/activate

PYTHONPATH=. python3 experiment/runexperiment.py \ --experiment-config experconfig.yaml \ --benchmarks zlibzlibuncompress_fuzzer \ --experiment-name funexp \ --fuzzers funafl ```

Owner

  • Name: fa1c4
  • Login: fa1c4
  • Kind: user
  • Location: Hefei Anhui
  • Company: University of Science and Technology of China, USTC

Cyberspace Security graduate student, learner of CTF binary, interested in system security.

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
  - security
license: AGPL-3.0-or-later

GitHub Events

Total
  • Push event: 22
Last Year
  • Push event: 22

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
custom_mutators/rust/example_lain_post_process/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
  • @babel/code-frame 7.18.6 development
  • @babel/helper-validator-identifier 7.19.1 development
  • @babel/highlight 7.18.6 development
  • @types/node 14.18.36 development
  • ansi-styles 3.2.1 development
  • argparse 1.0.10 development
  • balanced-match 1.0.2 development
  • brace-expansion 1.1.11 development
  • builtin-modules 1.1.1 development
  • chalk 2.4.2 development
  • color-convert 1.9.3 development
  • color-name 1.1.3 development
  • commander 2.20.3 development
  • concat-map 0.0.1 development
  • diff 4.0.2 development
  • escape-string-regexp 1.0.5 development
  • esprima 4.0.1 development
  • fs.realpath 1.0.0 development
  • function-bind 1.1.1 development
  • get-caller-file 1.0.3 development
  • glob 7.2.3 development
  • has 1.0.3 development
  • has-flag 3.0.0 development
  • inflight 1.0.6 development
  • inherits 2.0.4 development
  • is-core-module 2.11.0 development
  • js-tokens 4.0.0 development
  • js-yaml 3.14.1 development
  • minimatch 3.1.2 development
  • minimist 1.2.7 development
  • mkdirp 0.5.6 development
  • mock-require 3.0.3 development
  • normalize-path 2.1.1 development
  • once 1.4.0 development
  • path-is-absolute 1.0.1 development
  • path-parse 1.0.7 development
  • remove-trailing-separator 1.1.0 development
  • resolve 1.22.1 development
  • semver 5.7.1 development
  • sprintf-js 1.0.3 development
  • supports-color 5.5.0 development
  • supports-preserve-symlinks-flag 1.0.0 development
  • tslib 1.14.1 development
  • tslint 6.1.3 development
  • tsutils 2.29.0 development
  • typescript 4.9.5 development
  • typescript-tslint-plugin 0.5.5 development
  • vscode-jsonrpc 4.0.0 development
  • vscode-languageserver 5.2.1 development
  • vscode-languageserver-protocol 3.14.1 development
  • vscode-languageserver-types 3.14.0 development
  • vscode-uri 1.0.8 development
  • wrappy 1.0.2 development
  • @types/frida-gum 16.5.1
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