Format all tomls with taplo fmt (#2436)

Co-authored-by: Dominik Maier <domenukk@gmail.com>
This commit is contained in:
Mrmaxmeier 2024-07-26 10:03:10 +02:00 committed by GitHub
parent 76e1b4cb1e
commit afbdc02c54
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
119 changed files with 2381 additions and 1394 deletions

View File

@ -6,11 +6,17 @@ edition = "2021"
[dependencies]
pyo3 = { version = "0.18.3", features = ["extension-module"] }
pyo3-log = "0.8.1"
libafl_sugar = { path = "../../libafl_sugar", version = "0.13.2", features = ["python"] }
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", features = ["python"] }
libafl_sugar = { path = "../../libafl_sugar", version = "0.13.2", features = [
"python",
] }
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", features = [
"python",
] }
[target.'cfg(target_os = "linux")'.dependencies]
libafl_qemu = { path = "../../libafl_qemu", version = "0.13.2", features = ["python"] }
libafl_qemu = { path = "../../libafl_qemu", version = "0.13.2", features = [
"python",
] }
[build-dependencies]
pyo3-build-config = { version = "0.17" }

View File

@ -1,7 +1,10 @@
[package]
name = "baby_fuzzer"
version = "0.10.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,10 @@
[package]
name = "baby_fuzzer_gramatron"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -21,4 +24,6 @@ debug = true
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
postcard = { version = "1.0", features = ["alloc"], default-features = false } # no_std compatible serde serialization format
postcard = { version = "1.0", features = [
"alloc",
], default-features = false } # no_std compatible serde serialization format

View File

@ -1,7 +1,10 @@
[package]
name = "baby_fuzzer_grimoire"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,11 @@
[package]
name = "baby_fuzzer_minimizing"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Addison Crump <research@addisoncrump.info>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
"Addison Crump <research@addisoncrump.info>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,11 @@
[package]
name = "baby_fuzzer_multi"
version = "0.10.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Addison Crump <me@addisoncrump.info>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
"Addison Crump <me@addisoncrump.info>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,10 @@
[package]
name = "baby_fuzzer_nautilus"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -27,7 +27,12 @@ cc = "1.0"
[dependencies]
libafl = { path = "../../../libafl" }
libafl_bolts = { path = "../../../libafl_bolts" }
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog", "pointer_maps"] }
libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
"sancov_cmplog",
"pointer_maps",
] }
mimalloc = { version = "*", default-features = false }
libafl_cc = { path = "../../../libafl_cc/" }

View File

@ -2,7 +2,9 @@
[env]
FUZZER_NAME = 'fuzzer_sd'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release" }
PROFILE_DIR = { value = "release" }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'

View File

@ -1,7 +1,10 @@
[package]
name = "baby_fuzzer_tokens"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,10 @@
[package]
name = "baby_fuzzer_unicode"
version = "0.10.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,10 @@
[package]
name = "baby_fuzzer_with_forkexecutor"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,10 @@
[package]
name = "baby_no_std"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[profile.dev]
@ -21,4 +24,3 @@ static-alloc = "0.2.3"
[target.'cfg(unix)'.dependencies]
libc = "0.2"

View File

@ -2,7 +2,9 @@
FUZZER_NAME = "fuzzer"
PROJECT_DIR = { script = ["pwd"] }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"
@ -13,7 +15,14 @@ echo "Cargo-make not integrated yet on this"
# Fuzzer
[tasks.build]
command = "cargo"
args = ["build", "--profile", "${PROFILE}", "-Zbuild-std=core,alloc", "--target", "x86_64-unknown-linux-gnu"]
args = [
"build",
"--profile",
"${PROFILE}",
"-Zbuild-std=core,alloc",
"--target",
"x86_64-unknown-linux-gnu",
]
# Test
[tasks.test]

View File

@ -26,7 +26,11 @@ nix = { version = "0.29", features = ["signal"] }
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_cc = { path = "../../../libafl_cc/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "pointer_maps"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
"pointer_maps",
] }
env_logger = "0.11"
[lib]

View File

@ -1,9 +1,13 @@
# Variables
[env]
FUZZER_NAME = 'fuzzer_libafl_cc'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'

View File

@ -18,11 +18,22 @@ opt-level = 3
debug = true
[dependencies]
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression", "llmp_bind_public", "frida_cli" ] } #, "llmp_small_maps", "llmp_debug"]}
libafl = { path = "../../../libafl/", features = [
"std",
"llmp_compression",
"llmp_bind_public",
"frida_cli",
] } #, "llmp_small_maps", "llmp_debug"]}
libafl_bolts = { path = "../../../libafl_bolts/" }
frida-gum = { version = "0.13.6", features = [ "auto-download", "event-sink", "invocation-listener"] }
frida-gum = { version = "0.13.6", features = [
"auto-download",
"event-sink",
"invocation-listener",
] }
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_cmplog",
] }
libc = "0.2"
libloading = "0.7"
num-traits = "0.2"

View File

@ -1,8 +1,12 @@
# Variables
[env]
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -15,12 +15,23 @@ opt-level = 3
debug = true
[dependencies]
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression",
"llmp_bind_public", "frida_cli", "errors_backtrace" ] } #, "llmp_small_maps", "llmp_debug"]}
libafl = { path = "../../../libafl/", features = [
"std",
"llmp_compression",
"llmp_bind_public",
"frida_cli",
"errors_backtrace",
] } #, "llmp_small_maps", "llmp_debug"]}
libafl_bolts = { path = "../../../libafl_bolts/" }
frida-gum = { version = "0.13.6", features = ["auto-download", "event-sink", "invocation-listener"] }
frida-gum = { version = "0.13.6", features = [
"auto-download",
"event-sink",
"invocation-listener",
] }
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_cmplog",
] }
libloading = "0.7"
mimalloc = { version = "*", default-features = false }
dlmalloc = { version = "0.2.6", features = ["global"] }

View File

@ -1,9 +1,13 @@
# Variables
[env]
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
FUZZER_NAME = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "frida_gdiplus", mapping = { "linux" = "frida_gdiplus", "macos" = "frida_gdiplus", "windows" = "frida_gdiplus.exe" } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -1,7 +1,10 @@
[package]
name = "frida_fuzzer"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -15,12 +18,23 @@ opt-level = 3
debug = true
[dependencies]
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression",
"llmp_bind_public", "frida_cli", "errors_backtrace" ] } #, "llmp_small_maps", "llmp_debug"]}
libafl = { path = "../../../libafl/", features = [
"std",
"llmp_compression",
"llmp_bind_public",
"frida_cli",
"errors_backtrace",
] } #, "llmp_small_maps", "llmp_debug"]}
libafl_bolts = { path = "../../../libafl_bolts/" }
frida-gum = { version = "0.13.6", features = ["auto-download", "event-sink", "invocation-listener"] }
frida-gum = { version = "0.13.6", features = [
"auto-download",
"event-sink",
"invocation-listener",
] }
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_cmplog",
] }
libloading = "0.7"
mimalloc = { version = "*", default-features = false }
color-backtrace = "0.5"

View File

@ -1,9 +1,13 @@
# Variables
[env]
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
FUZZER_NAME = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "frida_fuzzer", mapping = { "linux" = "frida_fuzzer", "macos" = "frida_fuzzer", "windows" = "frida_fuzzer.exe" } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -1,7 +1,10 @@
[package]
name = "fuzzbench"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -27,7 +30,11 @@ which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"sancov_cmplog",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["default"] }

View File

@ -1,9 +1,13 @@
[env]
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
FUZZER_NAME = "fuzzer"
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -1,7 +1,10 @@
[package]
name = "fuzzbench_ctx"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -27,7 +30,12 @@ which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer", "sancov_ctx"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"sancov_cmplog",
"libfuzzer",
"sancov_ctx",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["default"] }

View File

@ -1,9 +1,13 @@
[env]
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
FUZZER_NAME = "fuzzer"
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -1,7 +1,10 @@
[package]
name = "fuzzbench_fork_qemu"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -22,7 +25,10 @@ strip = true
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_qemu = { path = "../../../libafl_qemu/", features = ["x86_64", "usermode"] }
libafl_qemu = { path = "../../../libafl_qemu/", features = [
"x86_64",
"usermode",
] }
clap = { version = "4.5", features = ["default"] }
nix = { version = "0.29", features = ["fs"] }

View File

@ -3,7 +3,9 @@
FUZZER_NAME = 'libpng_harness'
PROJECT_DIR = { script = ["pwd"] }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"
@ -67,7 +69,18 @@ windows_alias = "unsupported"
[tasks.run_unix]
command = "cargo"
args = ["run", "--profile", "${PROFILE_DIR}", "./${FUZZER_NAME}", "--", "--libafl-in", "../libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
args = [
"run",
"--profile",
"${PROFILE_DIR}",
"./${FUZZER_NAME}",
"--",
"--libafl-in",
"../libfuzzer_libpng/corpus",
"--libafl-out",
"./out",
"./${FUZZER_NAME}",
]
dependencies = ["harness", "fuzzer"]
# Run the fuzzer

View File

@ -1,7 +1,10 @@
[package]
name = "fuzzbench_forkserver"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[profile.release]

View File

@ -1,7 +1,10 @@
[package]
name = "fuzzbench_forkserver_cmplog"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[profile.release]

View File

@ -1,7 +1,10 @@
[package]
name = "fuzzbench_qemu"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -22,8 +25,10 @@ strip = true
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_qemu = { path = "../../../libafl_qemu/", features = ["x86_64", "usermode"] }
libafl_qemu = { path = "../../../libafl_qemu/", features = [
"x86_64",
"usermode",
] }
clap = { version = "4.5", features = ["default"] }
nix = { version = "0.29", features = ["fs"] }

View File

@ -3,7 +3,9 @@
FUZZER_NAME = 'libpng_harness'
PROJECT_DIR = { script = ["pwd"] }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"
@ -67,7 +69,18 @@ windows_alias = "unsupported"
[tasks.run_unix]
command = "cargo"
args = ["run", "--profile", "${PROFILE}", "./${FUZZER_NAME}", "--", "--libafl-in", "../../libpng/libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
args = [
"run",
"--profile",
"${PROFILE}",
"./${FUZZER_NAME}",
"--",
"--libafl-in",
"../../libpng/libfuzzer_libpng/corpus",
"--libafl-out",
"./out",
"./${FUZZER_NAME}",
]
dependencies = ["harness", "fuzzer"]
# Run the fuzzer

View File

@ -1,7 +1,10 @@
[package]
name = "fuzzbench_text"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -22,7 +25,11 @@ which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"sancov_cmplog",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["default"] }

View File

@ -1,9 +1,13 @@
[env]
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
FUZZER_NAME = "fuzzer"
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_libpng"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -24,7 +27,11 @@ which = "6.0"
libafl = { path = "../../../libafl/", features = ["default"] }
# libafl = { path = "../../../libafl/", features = ["default"] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
"sancov_cmplog",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
mimalloc = { version = "*", default-features = false }

View File

@ -2,9 +2,13 @@
[env]
FUZZER_NAME = 'fuzzer_libpng'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
@ -104,7 +108,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cxx", "cc"]
# Crashing Harness
@ -115,7 +128,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}_crash", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}_crash",
"-lm",
"-lz",
]
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
# Run the fuzzer
@ -150,7 +172,6 @@ sleep 0.2
dependencies = ["fuzzer_crash"]
# Test
[tasks.test]
linux_alias = "test_unix"

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_libpng_accounting"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -19,9 +22,21 @@ cc = { version = "1.0", features = ["parallel"] }
which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/", features = ["std", "derive", "llmp_compression", "introspection"] }
libafl_bolts = { path = "../../../libafl_bolts/", features = ["std", "derive", "llmp_compression"] }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
libafl = { path = "../../../libafl/", features = [
"std",
"derive",
"llmp_compression",
"introspection",
] }
libafl_bolts = { path = "../../../libafl_bolts/", features = [
"std",
"derive",
"llmp_compression",
] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["derive"] }

View File

@ -1,8 +1,12 @@
# Variables
[env]
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
FUZZER_NAME = 'fuzzer_libpng_accounting'
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
@ -72,7 +76,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cxx", "cc"]
# Run the fuzzer

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_libpng_launcher_centralized"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -19,9 +22,23 @@ cc = { version = "1.0", features = ["parallel"] }
which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/", features = ["std", "derive", "rand_trait", "fork", "prelude", "gzip", "regex", "scalability_introspection"] }
libafl_bolts = { path = "../../../libafl_bolts/", features = ["errors_backtrace"] }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
libafl = { path = "../../../libafl/", features = [
"std",
"derive",
"rand_trait",
"fork",
"prelude",
"gzip",
"regex",
"scalability_introspection",
] }
libafl_bolts = { path = "../../../libafl_bolts/", features = [
"errors_backtrace",
] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["derive"] }

View File

@ -1,9 +1,13 @@
# Variables
[env]
FUZZER_NAME = 'fuzzer_libpng_launcher'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
@ -72,7 +76,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cxx", "cc"]
# Run the fuzzer

View File

@ -1,7 +1,11 @@
[package]
name = "libfuzzer_libpng_cmin"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Addison Crump <research@addisoncrump.info>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
"Addison Crump <research@addisoncrump.info>",
]
edition = "2021"
[features]
@ -25,7 +29,11 @@ env_logger = "0.10"
libafl = { path = "../../../libafl/", features = ["default", "cmin"] }
# libafl = { path = "../../../libafl/", features = ["default"] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
"sancov_cmplog",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
mimalloc = { version = "*", default-features = false }

View File

@ -2,9 +2,13 @@
[env]
FUZZER_NAME = 'fuzzer_libpng'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
@ -104,7 +108,17 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz", "-lz3"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
"-lz3",
]
dependencies = ["lib", "cxx", "cc"]
# Crashing Harness
@ -115,7 +129,17 @@ windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}_crash", "-lm", "-lz", "-lz3"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}_crash",
"-lm",
"-lz",
"-lz3",
]
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
# Run the fuzzer
@ -150,7 +174,6 @@ sleep 0.2
dependencies = ["fuzzer_crash"]
# Test
[tasks.test]
linux_alias = "test_unix"

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_libpng_launcher"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -19,9 +22,17 @@ cc = { version = "1.0", features = ["parallel"] }
which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/", features = ["std", "derive", "llmp_compression", "introspection"] }
libafl = { path = "../../../libafl/", features = [
"std",
"derive",
"llmp_compression",
"introspection",
] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["derive"] }

View File

@ -1,9 +1,13 @@
# Variables
[env]
FUZZER_NAME = 'fuzzer_libpng_launcher'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
LIBAFL_LIBTOOL = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_libtool'
@ -73,7 +77,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cxx", "cc"]
# Run the fuzzer

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_libpng_launcher_norestart"
version = "0.9.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -21,8 +24,13 @@ which = "6.0"
[dependencies]
env_logger = "0.10"
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/", features = ["errors_backtrace"] }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
libafl_bolts = { path = "../../../libafl_bolts/", features = [
"errors_backtrace",
] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["derive"] }

View File

@ -1,9 +1,13 @@
# Variables
[env]
FUZZER_NAME = 'fuzzer_libpng_launcher'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
@ -62,7 +66,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cc"]
# Run the fuzzer

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_libpng_tcp_manager"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -24,7 +27,11 @@ which = "6.0"
libafl = { path = "../../../libafl/", features = ["default", "tcp_manager"] }
# libafl = { path = "../../../libafl/", features = ["default"] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
"sancov_cmplog",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
mimalloc = { version = "*", default-features = false }

View File

@ -2,9 +2,13 @@
[env]
FUZZER_NAME = 'fuzzer_libpng'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
@ -104,7 +108,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cxx", "cc"]
# Crashing Harness
@ -115,7 +128,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}_crash", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}_crash",
"-lm",
"-lz",
]
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
# Run the fuzzer
@ -150,7 +172,6 @@ sleep 0.2
dependencies = ["fuzzer_crash"]
# Test
[tasks.test]
linux_alias = "test_unix"

View File

@ -3,10 +3,19 @@ name = "cargo_fuzz_test"
edition = "2021"
version = "0.0.0"
description = "test"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
repository = "https://github.com/AFLplusplus/LibAFL/"
keywords = ["fuzzing", "testing", "compiler"]
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,10 @@
[package]
name = "dynamic_analysis"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -29,7 +32,12 @@ env_logger = "0.11"
once_cell = "1.19"
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer", "function-logging"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"sancov_cmplog",
"libfuzzer",
"function-logging",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["default"] }

View File

@ -1,9 +1,13 @@
[env]
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
FUZZER_NAME = "fuzzer"
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"
@ -38,7 +42,16 @@ windows_alias = "unsupported"
[tasks.fuzz_o_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["--libafl-no-link", "-O3","-I", "./Little-CMS/include", "-c", "cms_transform_fuzzer.cc", "-o", "cms_transform_fuzzer.o"]
args = [
"--libafl-no-link",
"-O3",
"-I",
"./Little-CMS/include",
"-c",
"cms_transform_fuzzer.cc",
"-o",
"cms_transform_fuzzer.o",
]
dependencies = ["cc", "cxx"]
# Fuzzer
@ -49,7 +62,15 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["--libafl", "cms_transform_fuzzer.o", "./Little-CMS/src/.libs/liblcms2.a", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"--libafl",
"cms_transform_fuzzer.o",
"./Little-CMS/src/.libs/liblcms2.a",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["cc", "cxx", "fuzz_o"]
# Run

View File

@ -6,8 +6,17 @@ edition = "2021"
[dependencies]
clap = { version = "4.5", features = ["derive", "env"] }
env_logger = "0.11.3"
libafl = { path = "../../../libafl", features = ["std", "derive", "track_hit_feedbacks", "clap", "errors_backtrace"]}
libafl_bolts = { path = "../../../libafl_bolts", features = ["std", "errors_backtrace"]}
libafl = { path = "../../../libafl", features = [
"std",
"derive",
"track_hit_feedbacks",
"clap",
"errors_backtrace",
] }
libafl_bolts = { path = "../../../libafl_bolts", features = [
"std",
"errors_backtrace",
] }
libafl_targets = { path = "../../../libafl_targets" }
memmap2 = "0.9.4"
nix = { version = "0.29", features = ["fs"] }

View File

@ -1,11 +1,17 @@
[env]
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
FUZZER_NAME = 'libafl-fuzz'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
LLVM_CONFIG = {value = "llvm-config-18", condition = {env_not_set = ["LLVM_CONFIG"] }}
LLVM_CONFIG = { value = "llvm-config-18", condition = { env_not_set = [
"LLVM_CONFIG",
] } }
AFL_VERSION = "db23931e7c1727ddac8691a6241c97b2203ec6fc"
AFL_DIR_NAME= {value = "./AFLplusplus-${AFL_VERSION}"}
AFL_CC_PATH= {value = "${AFL_DIR_NAME}/afl-clang-fast"}

View File

@ -1,7 +1,10 @@
[package]
name = "libafl_atheris"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -21,7 +24,12 @@ which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["pointer_maps", "sancov_cmplog", "libfuzzer", "sancov_8bit"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"pointer_maps",
"sancov_cmplog",
"libfuzzer",
"sancov_8bit",
] }
clap = { version = "4.5", features = ["default"] }
[lib]

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_libmozjpeg"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -17,7 +20,11 @@ debug = true
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_value_profile", "libfuzzer"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_edges",
"sancov_value_profile",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
mimalloc = { version = "*", default-features = false }

View File

@ -1,9 +1,13 @@
# Variables
[env]
FUZZER_NAME = 'fuzzer_mozjpeg'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
@ -71,7 +75,17 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/mozjpeg-4.0.3/libjpeg.a", "${PROJECT_DIR}/mozjpeg-4.0.3/libturbojpeg.a", "-I", "${PROJECT_DIR}/mozjpeg-4.0.3/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/harness.cc",
"${PROJECT_DIR}/mozjpeg-4.0.3/libjpeg.a",
"${PROJECT_DIR}/mozjpeg-4.0.3/libturbojpeg.a",
"-I",
"${PROJECT_DIR}/mozjpeg-4.0.3/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cxx", "cc"]
# Run the fuzzer

View File

@ -16,7 +16,10 @@ debug = true
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["libfuzzer", "sancov_pcguard_edges"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"libfuzzer",
"sancov_pcguard_edges",
] }
libafl_cc = { path = "../../../libafl_cc/" }
[build-dependencies]

View File

@ -1,9 +1,13 @@
# Variables
[env]
FUZZER_NAME = 'libfuzzer_windows_asan'
CARGO_TARGET_DIR = { value = "./target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "./target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -1,7 +1,10 @@
[package]
name = "nautilus_sync"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -22,7 +25,10 @@ debug = true
[dependencies]
libafl = { path = "../../../libafl/", features = ["default", "nautilus"] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }
clap = { version = "4.5", features = ["derive"] }

View File

@ -1,9 +1,13 @@
# Variables
[env]
FUZZER_NAME = 'fuzzer_libpng_nautilus'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
@ -73,7 +77,16 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
args = ["${PROJECT_DIR}/../../libpng/libfuzzer_libpng/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
args = [
"${PROJECT_DIR}/../../libpng/libfuzzer_libpng/harness.cc",
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
"-I",
"${PROJECT_DIR}/libpng-1.6.37/",
"-o",
"${FUZZER_NAME}",
"-lm",
"-lz",
]
dependencies = ["lib", "cxx", "cc"]
# Run the fuzzer

View File

@ -1,7 +1,10 @@
[package]
name = "push_harness"
version = "0.10.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,10 @@
[package]
name = "push_stage_harness"
version = "0.10.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]

View File

@ -1,7 +1,11 @@
[package]
name = "libfuzzer_libpng_launcher_centralized_multi_machine"
version = "0.12.0"
authors = ["Romain Malmain <romain.malmain@pm.me>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Romain Malmain <romain.malmain@pm.me>",
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -20,9 +24,34 @@ which = "6.0"
[dependencies]
# no llmp compression for now, better perfs.
libafl = { path = "../../../libafl", default-features = false, features = ["std", "derive", "llmp_small_maps", "llmp_broker_timeouts", "rand_trait", "fork", "prelude", "gzip", "regex", "serdeany_autoreg", "tui_monitor", "std", "derive", "rand_trait", "fork", "prelude", "gzip", "regex", "scalability_introspection", "multi_machine", "errors_backtrace"] }
libafl = { path = "../../../libafl", default-features = false, features = [
"std",
"derive",
"llmp_small_maps",
"llmp_broker_timeouts",
"rand_trait",
"fork",
"prelude",
"gzip",
"regex",
"serdeany_autoreg",
"tui_monitor",
"std",
"derive",
"rand_trait",
"fork",
"prelude",
"gzip",
"regex",
"scalability_introspection",
"multi_machine",
"errors_backtrace",
] }
libafl_bolts = { path = "../../../libafl_bolts", features = ["xxh3"] }
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
] }
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc" }
clap = { version = "4.5", features = ["derive"] }

View File

@ -1,7 +1,11 @@
[env]
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = { value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
[tasks.unsupported]
script_runner = "@shell"

View File

@ -1,7 +1,10 @@
[package]
name = "tutorial"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -21,9 +24,17 @@ which = "6.0"
[dependencies]
libafl = { path = "../../../libafl/", features = ["default", "rand_trait"] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib
lain = { version = "0.5", features = ["serde_support"], git = "https://github.com/AFLplusplus/lain.git", rev = "208e927bcf411f62f8a1f51ac2d9f9423a1ec5d3" } # We're using a lain fork compatible with libafl's rand version
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_hitcounts",
"libfuzzer",
"sancov_cmplog",
] }
serde = { version = "1.0", default-features = false, features = [
"alloc",
] } # serialization lib
lain = { version = "0.5", features = [
"serde_support",
], git = "https://github.com/AFLplusplus/lain.git", rev = "208e927bcf411f62f8a1f51ac2d9f9423a1ec5d3" } # We're using a lain fork compatible with libafl's rand version
# TODO Include it only when building cc
libafl_cc = { path = "../../../libafl_cc/" }

View File

@ -1,7 +1,11 @@
[package]
name = "qemu_cmin"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "WorksButNotTested"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
"WorksButNotTested",
]
edition = "2021"
[profile.release]
@ -22,7 +26,14 @@ mips = ["libafl_qemu/mips"]
ppc = ["libafl_qemu/ppc", "be"]
[build-dependencies]
vergen = { version = "8.2.1", features = ["build", "cargo", "git", "gitcl", "rustc", "si"] }
vergen = { version = "8.2.1", features = [
"build",
"cargo",
"git",
"gitcl",
"rustc",
"si",
] }
[dependencies]
clap = { version = "4.5", features = ["derive", "string"] }

View File

@ -1,6 +1,8 @@
[env]
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
CROSS_CC = "x86_64-linux-gnu-gcc"
CROSS_CXX = "x86_64-linux-gnu-g++"
CROSS_CFLAGS = ""
@ -109,7 +111,9 @@ windows_alias = "unsupported"
[tasks.zlib_unix_wget]
dependencies = ["deps_dir"]
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13" ] }
condition = { files_not_exist = [
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13",
] }
script_runner = "@shell"
# NOTE: There's no specific reason we're using an old version of zlib,
# but newer versions get moved to fossils/ after a while.
@ -148,7 +152,9 @@ windows_alias = "unsupported"
[tasks.libpng_unix_wget]
dependencies = ["deps_dir"]
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37" ] }
condition = { files_not_exist = [
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37",
] }
script_runner = "@shell"
script = '''
wget \
@ -193,8 +199,10 @@ args = [
"build",
"--profile",
"${PROFILE}",
"--features", "${FEATURE}",
"--target-dir", "${TARGET_DIR}"
"--features",
"${FEATURE}",
"--target-dir",
"${TARGET_DIR}",
]
[tasks.fuzzer]
@ -235,8 +243,10 @@ windows_alias = "unsupported"
[tasks.run_unix]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_cmin-${CARGO_MAKE_PROFILE}"
args = [
"--output", "./output",
"--input", "./corpus",
"--output",
"./output",
"--input",
"./corpus",
"--verbose",
"--",
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
@ -252,10 +262,7 @@ windows_alias = "unsupported"
dependencies = ["lightweight"]
# Tidy up after we've run our tests so we don't hog all the disk space
command = "cargo"
args = [
"make",
"clean",
]
args = ["make", "clean"]
[tasks.test_full]
linux_alias = "test_unix_full"
@ -266,10 +273,7 @@ windows_alias = "unsupported"
dependencies = ["all"]
# Tidy up after we've run our tests so we don't hog all the disk space
command = "cargo"
args = [
"make",
"clean",
]
args = ["make", "clean"]
[tasks.clean]
linux_alias = "clean_unix"
@ -287,64 +291,30 @@ cargo clean
[tasks.arm]
command = "cargo"
args = [
"make",
"-p", "arm",
"run",
]
args = ["make", "-p", "arm", "run"]
[tasks.aarch64]
command = "cargo"
args = [
"make",
"-p", "aarch64",
"run",
]
args = ["make", "-p", "aarch64", "run"]
[tasks.x86_64]
command = "cargo"
args = [
"make",
"-p", "x86_64",
"run",
]
args = ["make", "-p", "x86_64", "run"]
[tasks.i386]
command = "cargo"
args = [
"make",
"-p", "i386",
"run",
]
args = ["make", "-p", "i386", "run"]
[tasks.mips]
command = "cargo"
args = [
"make",
"-p", "mips",
"run",
]
args = ["make", "-p", "mips", "run"]
[tasks.ppc]
command = "cargo"
args = [
"make",
"-p", "ppc",
"run",
]
args = ["make", "-p", "ppc", "run"]
[tasks.all]
dependencies = [
"arm",
"aarch64",
"x86_64",
"i386",
"mips",
"ppc"
]
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]
[tasks.lightweight]
dependencies = [
"arm",
"x86_64",
]
dependencies = ["arm", "x86_64"]

View File

@ -1,7 +1,11 @@
[package]
name = "qemu_coverage"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "WorksButNotTested"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
"WorksButNotTested",
]
edition = "2021"
[profile.release]
@ -22,7 +26,14 @@ mips = ["libafl_qemu/mips"]
ppc = ["libafl_qemu/ppc", "be"]
[build-dependencies]
vergen = { version = "8.2.1", features = ["build", "cargo", "git", "gitcl", "rustc", "si"] }
vergen = { version = "8.2.1", features = [
"build",
"cargo",
"git",
"gitcl",
"rustc",
"si",
] }
[dependencies]
clap = { version = "4.5", features = ["derive", "string"] }

View File

@ -1,6 +1,8 @@
[env]
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
CROSS_CC = "x86_64-linux-gnu-gcc"
CROSS_CXX = "x86_64-linux-gnu-g++"
CROSS_CFLAGS = ""
@ -109,7 +111,9 @@ windows_alias = "unsupported"
[tasks.zlib_unix_wget]
dependencies = ["deps_dir"]
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13" ] }
condition = { files_not_exist = [
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13",
] }
script_runner = "@shell"
# NOTE: There's no specific reason we're using an old version of zlib,
# but newer versions get moved to fossils/ after a while.
@ -148,7 +152,9 @@ windows_alias = "unsupported"
[tasks.libpng_unix_wget]
dependencies = ["deps_dir"]
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37" ] }
condition = { files_not_exist = [
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37",
] }
script_runner = "@shell"
script = '''
wget \
@ -193,8 +199,10 @@ args = [
"build",
"--profile",
"${PROFILE}",
"--features", "${FEATURE}",
"--target-dir", "${TARGET_DIR}"
"--features",
"${FEATURE}",
"--target-dir",
"${TARGET_DIR}",
]
[tasks.fuzzer]
@ -235,8 +243,10 @@ windows_alias = "unsupported"
[tasks.run_unix]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_coverage-${CARGO_MAKE_PROFILE}"
args = [
"--coverage-path", "${TARGET_DIR}/drcov.log",
"--input-dir", "./corpus",
"--coverage-path",
"${TARGET_DIR}/drcov.log",
"--input-dir",
"./corpus",
"--",
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
]
@ -251,10 +261,7 @@ windows_alias = "unsupported"
dependencies = ["lightweight"]
# Tidy up after we've run our tests so we don't hog all the disk space
command = "cargo"
args = [
"make",
"clean",
]
args = ["make", "clean"]
[tasks.test_full]
linux_alias = "test_unix_full"
@ -265,10 +272,7 @@ windows_alias = "unsupported"
dependencies = ["all"]
# Tidy up after we've run our tests so we don't hog all the disk space
command = "cargo"
args = [
"make",
"clean",
]
args = ["make", "clean"]
[tasks.clean]
linux_alias = "clean_unix"
@ -286,64 +290,30 @@ cargo clean
[tasks.arm]
command = "cargo"
args = [
"make",
"-p", "arm",
"run",
]
args = ["make", "-p", "arm", "run"]
[tasks.aarch64]
command = "cargo"
args = [
"make",
"-p", "aarch64",
"run",
]
args = ["make", "-p", "aarch64", "run"]
[tasks.x86_64]
command = "cargo"
args = [
"make",
"-p", "x86_64",
"run",
]
args = ["make", "-p", "x86_64", "run"]
[tasks.i386]
command = "cargo"
args = [
"make",
"-p", "i386",
"run",
]
args = ["make", "-p", "i386", "run"]
[tasks.mips]
command = "cargo"
args = [
"make",
"-p", "mips",
"run",
]
args = ["make", "-p", "mips", "run"]
[tasks.ppc]
command = "cargo"
args = [
"make",
"-p", "ppc",
"run",
]
args = ["make", "-p", "ppc", "run"]
[tasks.all]
dependencies = [
"arm",
"aarch64",
"x86_64",
"i386",
"mips",
"ppc"
]
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]
[tasks.lightweight]
dependencies = [
"arm",
"x86_64",
]
dependencies = ["arm", "x86_64"]

View File

@ -1,7 +1,10 @@
[package]
name = "qemu_launcher"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
@ -33,12 +36,21 @@ opt-level = 3
debug = true
[build-dependencies]
vergen = { version = "8.2", features = ["build", "cargo", "git", "gitcl", "rustc", "si"] }
vergen = { version = "8.2", features = [
"build",
"cargo",
"git",
"gitcl",
"rustc",
"si",
] }
[dependencies]
clap = { version = "4.3", features = ["derive", "string"] }
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/", features = ["errors_backtrace"] }
libafl_bolts = { path = "../../../libafl_bolts/", features = [
"errors_backtrace",
] }
libafl_qemu = { path = "../../../libafl_qemu/", features = ["usermode"] }
log = { version = "0.4.20" }
nix = { version = "0.29", features = ["fs"] }

View File

@ -1,6 +1,8 @@
[env]
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
PROFILE_DIR = { value = "release", condition = { env_not_set = [
"PROFILE_DIR",
] } }
CROSS_CC = "x86_64-linux-gnu-gcc"
CROSS_CXX = "x86_64-linux-gnu-g++"
CROSS_CFLAGS = ""
@ -101,7 +103,9 @@ windows_alias = "unsupported"
[tasks.zlib_unix_wget]
dependencies = ["deps_dir"]
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13" ] }
condition = { files_not_exist = [
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13",
] }
script_runner = "@shell"
# NOTE: There's no specific reason we're using an old version of zlib,
# but newer versions get moved to fossils/ after a while.
@ -140,7 +144,9 @@ windows_alias = "unsupported"
[tasks.libpng_unix_wget]
dependencies = ["deps_dir"]
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37" ] }
condition = { files_not_exist = [
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37",
] }
script_runner = "@shell"
script = '''
wget \
@ -186,8 +192,10 @@ args = [
"build",
"--profile",
"${PROFILE}",
"--features", "${FEATURE}",
"--target-dir", "${TARGET_DIR}"
"--features",
"${FEATURE}",
"--target-dir",
"${TARGET_DIR}",
]
[tasks.fuzzer]
@ -228,13 +236,20 @@ windows_alias = "unsupported"
[tasks.debug_unix]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
args = [
"--input", "./corpus",
"--output", "${TARGET_DIR}/output/",
"--log", "${TARGET_DIR}/output/log.txt",
"--cores", "0-7",
"--asan-cores", "0-3",
"--cmplog-cores", "2-5",
"--iterations", "100000",
"--input",
"./corpus",
"--output",
"${TARGET_DIR}/output/",
"--log",
"${TARGET_DIR}/output/log.txt",
"--cores",
"0-7",
"--asan-cores",
"0-3",
"--cmplog-cores",
"2-5",
"--iterations",
"100000",
"--verbose",
"--",
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
@ -249,13 +264,20 @@ windows_alias = "unsupported"
[tasks.run_unix]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
args = [
"--input", "./corpus",
"--output", "${TARGET_DIR}/output/",
"--log", "${TARGET_DIR}/output/log.txt",
"--cores", "0-7",
"--asan-cores", "0-3",
"--cmplog-cores", "2-5",
"--iterations", "1000000",
"--input",
"./corpus",
"--output",
"${TARGET_DIR}/output/",
"--log",
"${TARGET_DIR}/output/log.txt",
"--cores",
"0-7",
"--asan-cores",
"0-3",
"--cmplog-cores",
"2-5",
"--iterations",
"1000000",
"--tui",
"--",
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
@ -270,10 +292,14 @@ windows_alias = "unsupported"
[tasks.single_unix]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
args = [
"--input", "./corpus",
"--output", "${TARGET_DIR}/output/",
"--log", "${TARGET_DIR}/output/log.txt",
"--cores", "0",
"--input",
"./corpus",
"--output",
"${TARGET_DIR}/output/",
"--log",
"${TARGET_DIR}/output/log.txt",
"--cores",
"0",
"--",
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
]
@ -287,11 +313,16 @@ windows_alias = "unsupported"
[tasks.asan_unix]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
args = [
"--input", "./corpus",
"--output", "${TARGET_DIR}/output/",
"--log", "${TARGET_DIR}/output/log.txt",
"--cores", "0",
"--asan-cores", "0",
"--input",
"./corpus",
"--output",
"${TARGET_DIR}/output/",
"--log",
"${TARGET_DIR}/output/log.txt",
"--cores",
"0",
"--asan-cores",
"0",
"--",
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
]
@ -305,11 +336,16 @@ windows_alias = "unsupported"
[tasks.asan_guest_unix]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
args = [
"--input", "./corpus",
"--output", "${TARGET_DIR}/output/",
"--log", "${TARGET_DIR}/output/log.txt",
"--cores", "0",
"--asan-guest-cores", "0",
"--input",
"./corpus",
"--output",
"${TARGET_DIR}/output/",
"--log",
"${TARGET_DIR}/output/log.txt",
"--cores",
"0",
"--asan-guest-cores",
"0",
"--",
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
]
@ -358,58 +394,27 @@ cargo clean
[tasks.arm]
command = "cargo"
args = [
"make",
"-p", "arm",
"run",
]
args = ["make", "-p", "arm", "run"]
[tasks.aarch64]
command = "cargo"
args = [
"make",
"-p", "aarch64",
"run",
]
args = ["make", "-p", "aarch64", "run"]
[tasks.x86_64]
command = "cargo"
args = [
"make",
"-p", "x86_64",
"run",
]
args = ["make", "-p", "x86_64", "run"]
[tasks.i386]
command = "cargo"
args = [
"make",
"-p", "i386",
"run",
]
args = ["make", "-p", "i386", "run"]
[tasks.mips]
command = "cargo"
args = [
"make",
"-p", "mips",
"run",
]
args = ["make", "-p", "mips", "run"]
[tasks.ppc]
command = "cargo"
args = [
"make",
"-p", "ppc",
"run",
]
args = ["make", "-p", "ppc", "run"]
[tasks.all]
dependencies = [
"arm",
"aarch64",
"x86_64",
"i386",
"mips",
"ppc"
]
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]

View File

@ -33,12 +33,7 @@ mysql_send_query = {param = 1}
# We do not need this as we watch the SYS_execve syscall, this is just an
# example.
[cmd]
tokens = [
"'\"FUZZ\"'",
"\";FUZZ;\"",
"';FUZZ;'",
"$(FUZZ)",
]
tokens = ["'\"FUZZ\"'", "\";FUZZ;\"", "';FUZZ;'", "$(FUZZ)"]
matches = ["'\"FUZZ\"'"]
[cmd.functions]

View File

@ -1,14 +1,18 @@
[package]
name = "qemu_systemmode"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
[features]
default = ["std", "classic"]
std = []
classic = [] # The classic way to interact with LibAFL QEMU, with direct calls to QEMU's functions
classic = [
] # The classic way to interact with LibAFL QEMU, with direct calls to QEMU's functions
breakpoint = [] # Uses the command system, with breakpoints
sync_exit = [] # Uses the command system, with sync exit.
@ -23,8 +27,14 @@ codegen-units = 1
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_qemu = { path = "../../../libafl_qemu/", features = ["arm", "systemmode"] }
libafl_qemu_sys = { path = "../../../libafl_qemu/libafl_qemu_sys", features = ["arm", "systemmode"] }
libafl_qemu = { path = "../../../libafl_qemu/", features = [
"arm",
"systemmode",
] }
libafl_qemu_sys = { path = "../../../libafl_qemu/libafl_qemu_sys", features = [
"arm",
"systemmode",
] }
env_logger = "*"
[build-dependencies]

View File

@ -1,5 +1,4 @@
env_scripts = [
'''
env_scripts = ['''
#!@duckscript
profile = get_env PROFILE
@ -8,8 +7,7 @@ if eq ${profile} "dev"
else
set_env PROFILE_DIR ${profile}
end
''',
'''
''', '''
#!@duckscript
runs_on_ci = get_env RUN_ON_CI
@ -18,8 +16,7 @@ if ${runs_on_ci}
set_env TARGET_DIR ${cargo_target_dir}
set_env KERNEL ${cargo_target_dir}/example.elf
end
'''
]
''']
[env]
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
@ -51,13 +48,17 @@ args = [
"-ffreestanding",
"-nostartfiles",
"-lgcc",
"-T", "${CARGO_MAKE_WORKING_DIRECTORY}/example/mps2_m3.ld",
"-T",
"${CARGO_MAKE_WORKING_DIRECTORY}/example/mps2_m3.ld",
"-mcpu=cortex-m3",
"${CARGO_MAKE_WORKING_DIRECTORY}/example/main.c",
"${CARGO_MAKE_WORKING_DIRECTORY}/example/startup.c",
"-D", "${TARGET_DEFINE}",
"-I", "${TARGET_DIR}/${PROFILE_DIR}/include",
"-o", "${TARGET_DIR}/example.elf",
"-D",
"${TARGET_DEFINE}",
"-I",
"${TARGET_DIR}/${PROFILE_DIR}/include",
"-o",
"${TARGET_DIR}/example.elf",
]
[tasks.build_fuzzer]
@ -68,22 +69,30 @@ args = [
"--profile",
"${PROFILE}",
"--no-default-features",
"--features", "std,${FEATURE}",
"--target-dir", "${TARGET_DIR}",
"--features",
"std,${FEATURE}",
"--target-dir",
"${TARGET_DIR}",
]
dependencies = ["image"]
[tasks.run_fuzzer]
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_systemmode"
args = [
"-icount", "shift=auto,align=off,sleep=off",
"-machine", "mps2-an385",
"-monitor", "null",
"-kernel", "${TARGET_DIR}/example.elf",
"-serial", "null",
"-icount",
"shift=auto,align=off,sleep=off",
"-machine",
"mps2-an385",
"-monitor",
"null",
"-kernel",
"${TARGET_DIR}/example.elf",
"-serial",
"null",
"-nographic",
"-snapshot",
"-drive", "if=none,format=qcow2,file=${TARGET_DIR}/dummy.qcow2",
"-drive",
"if=none,format=qcow2,file=${TARGET_DIR}/dummy.qcow2",
"-S",
]
dependencies = ["target"]
@ -109,59 +118,55 @@ fi
command = "cargo"
args = [
"make",
"-e", "FEATURE=classic",
"-e", "TARGET_DEFINE=TARGET_CLASSIC",
"-e",
"FEATURE=classic",
"-e",
"TARGET_DEFINE=TARGET_CLASSIC",
"build_fuzzer",
]
[tasks.test_classic]
command = "cargo"
args = [
"make",
"-e", "FEATURE=classic",
"test_fuzzer",
]
args = ["make", "-e", "FEATURE=classic", "test_fuzzer"]
[tasks.build_breakpoint]
command = "cargo"
args = [
"make",
"-e", "FEATURE=breakpoint",
"-e", "TARGET_DEFINE=TARGET_BREAKPOINT",
"-e",
"FEATURE=breakpoint",
"-e",
"TARGET_DEFINE=TARGET_BREAKPOINT",
"build_fuzzer",
]
[tasks.test_breakpoint]
command = "cargo"
args = [
"make",
"-e", "FEATURE=breakpoint",
"test_fuzzer",
]
args = ["make", "-e", "FEATURE=breakpoint", "test_fuzzer"]
[tasks.build_sync_exit]
command = "cargo"
args = [
"make",
"-e", "FEATURE=sync_exit",
"-e", "TARGET_DEFINE=TARGET_SYNC_EXIT",
"-e",
"FEATURE=sync_exit",
"-e",
"TARGET_DEFINE=TARGET_SYNC_EXIT",
"build_fuzzer",
]
[tasks.test_sync_exit]
command = "cargo"
args = [
"make",
"-e", "FEATURE=sync_exit",
"test_fuzzer",
]
args = ["make", "-e", "FEATURE=sync_exit", "test_fuzzer"]
[tasks.classic]
command = "cargo"
args = [
"make",
"-e", "FEATURE=classic",
"-e", "TARGET_DEFINE=TARGET_CLASSIC",
"-e",
"FEATURE=classic",
"-e",
"TARGET_DEFINE=TARGET_CLASSIC",
"run_fuzzer",
]
@ -169,8 +174,10 @@ args = [
command = "cargo"
args = [
"make",
"-e", "FEATURE=breakpoint",
"-e", "TARGET_DEFINE=TARGET_BREAKPOINT",
"-e",
"FEATURE=breakpoint",
"-e",
"TARGET_DEFINE=TARGET_BREAKPOINT",
"run_fuzzer",
]
@ -178,8 +185,10 @@ args = [
command = "cargo"
args = [
"make",
"-e", "FEATURE=sync_exit",
"-e", "TARGET_DEFINE=TARGET_SYNC_EXIT",
"-e",
"FEATURE=sync_exit",
"-e",
"TARGET_DEFINE=TARGET_SYNC_EXIT",
"run_fuzzer",
]

View File

@ -1,7 +1,10 @@
[package]
name = "libfuzzer_stb_image"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
build = "build.rs"
@ -18,7 +21,12 @@ debug = true
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_cmplog", "libfuzzer", "libfuzzer_no_link_main"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_edges",
"sancov_cmplog",
"libfuzzer",
"libfuzzer_no_link_main",
] }
mimalloc = { version = "*", default-features = false }
[build-dependencies]

View File

@ -2,7 +2,9 @@
[env]
FUZZER_NAME = 'libfuzzer_stb_image'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release" }
PROFILE_DIR = { value = "release" }
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc', mapping = { "windows" = '.\\target\\${PROFILE_DIR}\\libafl_cc.exe' } }

View File

@ -1,7 +1,9 @@
# Variables
[env]
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release" }
PROFILE_DIR = { value = "release" }
FUZZER_NAME = 'libfuzzer_stb_image_concolic'

View File

@ -1,7 +1,11 @@
[package]
name = "libfuzzer_stb_image_concolic"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Julius Hohnerlein"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
"Julius Hohnerlein",
]
edition = "2021"
build = "build.rs"
@ -18,7 +22,11 @@ debug = true
[dependencies]
libafl = { path = "../../../../libafl/", features = ["concolic_mutation"] }
libafl_bolts = { path = "../../../../libafl_bolts/" }
libafl_targets = { path = "../../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_cmplog", "libfuzzer"] }
libafl_targets = { path = "../../../../libafl_targets/", features = [
"sancov_pcguard_edges",
"sancov_cmplog",
"libfuzzer",
] }
clap = { version = "4.0", features = ["derive"] }
mimalloc = { version = "*", default-features = false }

View File

@ -1,10 +1,19 @@
[package]
name = "libfuzzer_stb_image_sugar"
version = "0.13.0"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
edition = "2021"
build = "build.rs"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
[features]
default = ["std"]
@ -19,7 +28,11 @@ debug = true
[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_cmplog", "libfuzzer"] }
libafl_targets = { path = "../../../libafl_targets/", features = [
"sancov_pcguard_edges",
"sancov_cmplog",
"libfuzzer",
] }
libafl_sugar = { path = "../../../libafl_sugar/" }
mimalloc = { version = "*", default-features = false }

View File

@ -2,7 +2,9 @@
[env]
FUZZER_NAME = 'libfuzzer_stb_image_sugar'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
"CARGO_TARGET_DIR",
] } }
PROFILE = { value = "release" }
PROFILE_DIR = { value = "release" }
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc", mapping = { "windows" = '.\\target\\${PROFILE_DIR}\\libafl_cc.exe' } }

View File

@ -1,7 +1,10 @@
[package]
name = "libafl"
version = "0.13.2"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
description = "Slot your own fuzzers together and extend their features using Rust"
documentation = "https://docs.rs/libafl"
repository = "https://github.com/AFLplusplus/LibAFL/"
@ -9,7 +12,13 @@ readme = "../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
edition = "2021"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
[package.metadata.docs.rs]
features = ["document-features"]
@ -17,14 +26,40 @@ all-features = true
rustc-args = ["--cfg", "docsrs"]
[features]
default = ["std", "derive", "llmp_compression", "llmp_small_maps", "llmp_broker_timeouts", "rand_trait", "fork", "prelude", "gzip", "regex", "serdeany_autoreg", "tui_monitor", "libafl_bolts/xxh3"]
default = [
"std",
"derive",
"llmp_compression",
"llmp_small_maps",
"llmp_broker_timeouts",
"rand_trait",
"fork",
"prelude",
"gzip",
"regex",
"serdeany_autoreg",
"tui_monitor",
"libafl_bolts/xxh3",
]
document-features = ["dep:document-features"]
#! # Feature Flags
#! ### General Features
## Enables features that need rust's `std` lib to work, like print, env, ... support
std = ["serde_json", "serde_json/std", "nix", "serde/std", "bincode", "wait-timeout", "uuid", "backtrace", "serial_test", "libafl_bolts/std", "typed-builder"]
std = [
"serde_json",
"serde_json/std",
"nix",
"serde/std",
"bincode",
"wait-timeout",
"uuid",
"backtrace",
"serial_test",
"libafl_bolts/std",
"typed-builder",
]
## Tracks the Feedbacks and the Objectives that were interesting for a Testcase
track_hit_feedbacks = ["std"]
@ -77,7 +112,13 @@ casr = ["libcasr", "std", "regex"]
cmin = ["z3"]
## Enables the `PrometheusMonitor` which will monitor stats via UDP, for `Grafana` and others.
prometheus_monitor = ["std", "async-std", "prometheus-client", "tide", "futures"]
prometheus_monitor = [
"std",
"async-std",
"prometheus-client",
"tide",
"futures",
]
## Include a simple concolic mutator based on z3
concolic_mutation = ["z3"]
@ -94,7 +135,10 @@ multipart_inputs = ["arrayvec", "rand_trait"]
#! ## LibAFL-Bolts Features
## Provide the `#[derive(SerdeAny)]` macro.
derive = ["libafl_derive", "libafl_bolts/derive"] # provide `derive(SerdeAny) macro.
derive = [
"libafl_derive",
"libafl_bolts/derive",
] # provide `derive(SerdeAny) macro.
## Expose `libafl_bolts::cli` for easy commandline parsing of common fuzzer settings
cli = ["libafl_bolts/cli"]
@ -128,10 +172,19 @@ llmp_compression = ["libafl_bolts/llmp_compression"]
llmp_debug = ["std", "libafl_bolts/llmp_debug"]
## Reduces the initial map size for llmp
llmp_small_maps = ["libafl_bolts/llmp_small_maps"] # reduces initial map size for llmp
llmp_small_maps = [
"libafl_bolts/llmp_small_maps",
] # reduces initial map size for llmp
## Grammar mutator. Requires nightly.
nautilus = ["std", "serde_json/std", "pyo3", "rand_trait", "regex-syntax", "regex"]
nautilus = [
"std",
"serde_json/std",
"pyo3",
"rand_trait",
"regex-syntax",
"regex",
]
[build-dependencies]
rustversion = "1.0"
@ -142,15 +195,25 @@ serde_json = { version = "1.0", default-features = false, features = ["alloc"] }
bytecount = "0.6.3"
[dependencies]
libafl_bolts = { version = "0.13.2", path = "../libafl_bolts", default-features = false, features = ["alloc"] }
libafl_bolts = { version = "0.13.2", path = "../libafl_bolts", default-features = false, features = [
"alloc",
] }
libafl_derive = { version = "0.13.2", path = "../libafl_derive", optional = true }
rustversion = "1.0"
tuple_list = { version = "0.1.3" }
hashbrown = { version = "0.14", features = ["serde", "ahash"], default-features = false } # A faster hashmap, nostd compatible
hashbrown = { version = "0.14", features = [
"serde",
"ahash",
], default-features = false } # A faster hashmap, nostd compatible
num-traits = { version = "0.2", default-features = false }
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] } # serialization lib
postcard = { version = "1.0", features = ["alloc"], default-features = false } # no_std compatible serde serialization format
serde = { version = "1.0", default-features = false, features = [
"alloc",
"derive",
] } # serialization lib
postcard = { version = "1.0", features = [
"alloc",
], default-features = false } # no_std compatible serde serialization format
bincode = { version = "1.3", optional = true }
c2rust-bitfields = { version = "0.18", features = ["no_std"] }
ahash = { version = "0.8", default-features = false } # The hash function already used in hashbrown
@ -158,12 +221,16 @@ meminterval = { version = "0.4", features = ["serde"] }
backtrace = { version = "0.3", optional = true } # Used to get the stacktrace in StacktraceObserver
typed-builder = { version = "0.18", optional = true } # Implement the builder pattern at compiletime
serde_json = { version = "1.0", optional = true, default-features = false, features = ["alloc"] }
serde_json = { version = "1.0", optional = true, default-features = false, features = [
"alloc",
] }
nix = { version = "0.29", optional = true }
regex = { version = "1", optional = true }
uuid = { version = "1.8", optional = true, features = ["serde", "v4"] }
libm = "0.2"
ratatui = { version = "0.26", default-features = false, features = ['crossterm'], optional = true } # Commandline rendering, for TUI Monitor
ratatui = { version = "0.26", default-features = false, features = [
'crossterm',
], optional = true } # Commandline rendering, for TUI Monitor
crossterm = { version = "0.27", optional = true }
prometheus-client = { version = "0.22", optional = true } # For the prometheus monitor
@ -171,7 +238,15 @@ tide = { version = "0.16", optional = true }
async-std = { version = "1.12", features = ["attributes"], optional = true }
futures = { version = "0.3", optional = true }
log = { version = "0.4" }
tokio = { version = "1.38", optional = true, features = ["sync", "net", "rt", "io-util", "macros", "rt-multi-thread", "time"] } # used for TCP Event Manager and multi-machine
tokio = { version = "1.38", optional = true, features = [
"sync",
"net",
"rt",
"io-util",
"macros",
"rt-multi-thread",
"time",
] } # used for TCP Event Manager and multi-machine
enumflags2 = { version = "0.7", optional = true }
wait-timeout = { version = "0.2", optional = true } # used by CommandExecutor to wait for child process
@ -180,7 +255,9 @@ concat-idents = { version = "1.1.3", optional = true }
libcasr = { version = "2.7", optional = true }
bitvec = { version = "1.0", optional = true, features = ["serde"] } # used for string range storage
bitvec = { version = "1.0", optional = true, features = [
"serde",
] } # used for string range storage
arrayvec = { version = "0.7.4", optional = true, default-features = false } # used for fixed-len collects
@ -191,7 +268,9 @@ pyo3 = { version = "0.18.3", optional = true } # For nautilus
regex-syntax = { version = "0.8.3", optional = true } # For nautilus
# optional-dev deps (change when target.'cfg(accessible(::std))'.test-dependencies will be stable)
serial_test = { version = "3", optional = true, default-features = false, features = ["logging"] }
serial_test = { version = "3", optional = true, default-features = false, features = [
"logging",
] }
# Document all features of this crate (for `cargo doc`)
document-features = { version = "0.2", optional = true }
@ -203,7 +282,15 @@ libc = "0.2" # For (*nix) libc
z3 = { version = "0.12.0", optional = true } # for concolic mutation
[target.'cfg(windows)'.dependencies]
windows = { version = "0.51.1", features = ["Win32_Foundation", "Win32_System_Threading", "Win32_System_Diagnostics_Debug", "Win32_System_Kernel", "Win32_System_Memory", "Win32_Security", "Win32_System_SystemInformation"] }
windows = { version = "0.51.1", features = [
"Win32_Foundation",
"Win32_System_Threading",
"Win32_System_Diagnostics_Debug",
"Win32_System_Kernel",
"Win32_System_Memory",
"Win32_Security",
"Win32_System_SystemInformation",
] }
[target.'cfg(windows)'.build-dependencies]
windows = "0.51.1"

View File

@ -1,7 +1,10 @@
[package]
name = "libafl_bolts"
version = "0.13.2"
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
description = "Low-level bolts to create fuzzers and so much more"
documentation = "https://docs.rs/libafl"
repository = "https://github.com/AFLplusplus/LibAFL/"
@ -9,7 +12,13 @@ readme = "./README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
edition = "2021"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
rust-version = "1.70.0"
[package.metadata.docs.rs]
@ -17,14 +26,36 @@ features = ["document-features"]
all-features = true
[features]
default = ["std", "derive", "llmp_compression", "llmp_small_maps", "rand_trait", "prelude", "gzip", "serdeany_autoreg", "alloc", "xxh3"]
default = [
"std",
"derive",
"llmp_compression",
"llmp_small_maps",
"rand_trait",
"prelude",
"gzip",
"serdeany_autoreg",
"alloc",
"xxh3",
]
document-features = ["dep:document-features"]
#! # Feature Flags
#! ### General Features
## Enables features that need rust's `std` lib to work, like print, env, ... support
std = ["serde_json", "serde_json/std", "hostname", "nix", "serde/std", "uuid", "backtrace", "uds", "serial_test", "alloc"]
std = [
"serde_json",
"serde_json/std",
"hostname",
"nix",
"serde/std",
"uuid",
"backtrace",
"uds",
"serial_test",
"alloc",
]
## Enables all features that allocate in `no_std`
alloc = ["serde/alloc", "hashbrown", "postcard", "erased-serde/alloc", "ahash"]
@ -96,29 +127,49 @@ libafl_derive = { version = "0.13.2", optional = true, path = "../libafl_derive"
static_assertions = "1.1.0"
tuple_list = { version = "0.1.3" }
hashbrown = { version = "0.14", features = ["serde", "ahash"], default-features = false, optional = true } # A faster hashmap, nostd compatible
xxhash-rust = { version = "0.8.5", features = ["xxh3"], optional = true } # xxh3 hashing for rust
serde = { version = "1.0", default-features = false, features = ["derive"] } # serialization lib
hashbrown = { version = "0.14", features = [
"serde",
"ahash",
], default-features = false, optional = true } # A faster hashmap, nostd compatible
xxhash-rust = { version = "0.8.5", features = [
"xxh3",
], optional = true } # xxh3 hashing for rust
serde = { version = "1.0", default-features = false, features = [
"derive",
] } # serialization lib
erased-serde = { version = "0.4.5", default-features = false, optional = true } # erased serde
postcard = { version = "1.0", features = ["alloc"], default-features = false, optional = true } # no_std compatible serde serialization format
postcard = { version = "1.0", features = [
"alloc",
], default-features = false, optional = true } # no_std compatible serde serialization format
num_enum = { version = "0.7", default-features = false }
ahash = { version = "0.8", default-features = false, optional = true } # The hash function already used in hashbrown
backtrace = { version = "0.3", optional = true } # Used to get the stacktrace in StacktraceObserver
ctor = { optional = true, version = "0.2" }
serde_json = { version = "1.0", optional = true, default-features = false, features = ["alloc"] }
serde_json = { version = "1.0", optional = true, default-features = false, features = [
"alloc",
] }
miniz_oxide = { version = "0.7.1", optional = true }
hostname = { version = "^0.4", optional = true } # Is there really no gethostname in the stdlib?
rand_core = { version = "0.6", optional = true }
nix = { version = "0.29", default-features = false, optional = true, features = ["signal", "socket", "poll"] }
nix = { version = "0.29", default-features = false, optional = true, features = [
"signal",
"socket",
"poll",
] }
uuid = { version = "1.4", optional = true, features = ["serde", "v4"] }
clap = { version = "4.5", features = ["derive", "wrap_help"], optional = true } # CLI parsing, for libafl_bolts::cli / the `cli` feature
clap = { version = "4.5", features = [
"derive",
"wrap_help",
], optional = true } # CLI parsing, for libafl_bolts::cli / the `cli` feature
log = { version = "0.4" }
pyo3 = { version = "0.18", optional = true, features = ["serde", "macros"] }
# optional-dev deps (change when target.'cfg(accessible(::std))'.test-dependencies will be stable)
serial_test = { version = "3", optional = true, default-features = false, features = ["logging"] }
serial_test = { version = "3", optional = true, default-features = false, features = [
"logging",
] }
# Document all features of this crate (for `cargo doc`)
document-features = { version = "0.2", optional = true }
@ -128,7 +179,16 @@ libc = "0.2" # For (*nix) libc
uds = { version = "0.4", optional = true, default-features = false }
[target.'cfg(windows)'.dependencies]
windows = { version = "0.51.1", features = ["Win32_Foundation", "Win32_System_Threading", "Win32_System_Diagnostics_Debug", "Win32_System_Kernel", "Win32_System_Memory", "Win32_Security", "Win32_System_SystemInformation", "Win32_System_Console"] }
windows = { version = "0.51.1", features = [
"Win32_Foundation",
"Win32_System_Threading",
"Win32_System_Diagnostics_Debug",
"Win32_System_Kernel",
"Win32_System_Memory",
"Win32_Security",
"Win32_System_SystemInformation",
"Win32_System_Console",
] }
[target.'cfg(windows)'.build-dependencies]
windows = "0.51.1"

View File

@ -9,12 +9,28 @@ readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "compiler"]
edition = "2021"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
default = ["ddg-instr", "function-logging", "cmplog-routines", "autotokens", "coverage-accounting", "cmplog-instructions", "ctx", "dump-cfg", "profiling"]
default = [
"ddg-instr",
"function-logging",
"cmplog-routines",
"autotokens",
"coverage-accounting",
"cmplog-instructions",
"ctx",
"dump-cfg",
"profiling",
]
# llvm passes
ddg-instr = []
@ -35,4 +51,7 @@ which = "6.0"
glob = "0.3"
[dependencies]
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] } # serialization lib
serde = { version = "1.0", default-features = false, features = [
"alloc",
"derive",
] } # serialization lib

View File

@ -2,14 +2,24 @@
name = "symcc_libafl"
version = "0.13.2"
edition = "2021"
authors = ["Julius Hohnerlein <julihoh@users.noreply.github.com>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Julius Hohnerlein <julihoh@users.noreply.github.com>",
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
description = "Meta package for symcc_runtime"
documentation = "https://docs.rs/symcc_libafl"
repository = "https://github.com/AFLplusplus/LibAFL/"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -2,7 +2,11 @@
name = "symcc_runtime"
version = "0.13.2"
edition = "2021"
authors = ["Julius Hohnerlein <julihoh@users.noreply.github.com>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Julius Hohnerlein <julihoh@users.noreply.github.com>",
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
description = "Build Concolic Tracing tools based on SymCC in Rust"
documentation = "https://docs.rs/symcc_runtime"
repository = "https://github.com/AFLplusplus/LibAFL/"
@ -10,7 +14,13 @@ readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
build = "build.rs"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -25,8 +35,14 @@ no-cpp-runtime = []
unchecked_unwrap = "4"
ctor = "0.2"
libc = "0.2"
libafl = { path = "../../libafl", version = "0.13.2", default-features=false, features=["std", "serdeany_autoreg"] }
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", default-features=false, features=["std", "serdeany_autoreg"] }
libafl = { path = "../../libafl", version = "0.13.2", default-features = false, features = [
"std",
"serdeany_autoreg",
] }
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", default-features = false, features = [
"std",
"serdeany_autoreg",
] }
[build-dependencies]
cmake = "0.1"

View File

@ -9,7 +9,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
readme = "../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "libafl", "ldpreload"]
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -9,7 +9,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
readme = "../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "libafl", "symbolic", "symcc", "symqemu", "fuzzer"]
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
[lib]
crate-type = ["cdylib"]

View File

@ -9,7 +9,13 @@ readme = "../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing"]
edition = "2021"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
[lib]
proc-macro = true

View File

@ -14,13 +14,18 @@ categories = [
"emulators",
"embedded",
"os",
"no-std"
"no-std",
]
[package.metadata.docs.rs]
no-default-features = true # We can't use auto-download inside docs.rs (no internet)
all-features = false
features = ["cmplog", "serdeany_autoreg", "track_hit_feedbacks", "document-features"]
features = [
"cmplog",
"serdeany_autoreg",
"track_hit_feedbacks",
"document-features",
]
[features]
default = ["serdeany_autoreg", "auto-download"]
@ -57,7 +62,7 @@ libafl = { path = "../libafl", default-features = false, version = "0.13.2", fea
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
"std",
"derive",
"frida_cli"
"frida_cli",
] }
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = [
"std",
@ -101,7 +106,9 @@ winsafe = {version = "0.0.21", features = ["kernel"]}
[dev-dependencies]
serial_test = { version = "3", default-features = false, features = ["logging"] }
serial_test = { version = "3", default-features = false, features = [
"logging",
] }
clap = { version = "4.5", features = ["derive"] }
libloading = "0.8"
mimalloc = { version = "0.1", default-features = false }

View File

@ -9,12 +9,7 @@ keywords = ["fuzzing", "testing", "security"]
edition = "2021"
categories = ["development-tools::testing"]
include = [
"/src",
"/Cargo.toml",
"/build.rs",
"/runtime",
]
include = ["/src", "/Cargo.toml", "/build.rs", "/runtime"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -10,7 +10,10 @@ publish = false
default = ["fork"]
## Enables forking mode for the LibAFL launcher (instead of starting new processes)
fork = ["libafl/fork"]
track_hit_feedbacks = ["libafl/track_hit_feedbacks", "libafl_targets/track_hit_feedbacks"]
track_hit_feedbacks = [
"libafl/track_hit_feedbacks",
"libafl_targets/track_hit_feedbacks",
]
[profile.release]
lto = true
@ -29,9 +32,38 @@ name = "afl_libfuzzer_runtime" # historically, cargo-fuzz strips double-prefixes
crate-type = ["staticlib", "rlib"]
[dependencies]
libafl = { path = "../libafl", default-features = false, features = ["std", "derive", "llmp_compression", "rand_trait", "regex", "errors_backtrace", "serdeany_autoreg", "tui_monitor", "unicode"] }
libafl_bolts = { path = "../libafl_bolts", default-features = false, features = ["std", "derive", "llmp_compression", "rand_trait", "serdeany_autoreg", "errors_backtrace"] }
libafl_targets = { path = "../libafl_targets", features = ["sancov_8bit", "sancov_cmplog", "sancov_value_profile", "sancov_pcguard", "libfuzzer", "libfuzzer_oom", "libfuzzer_define_run_driver", "libfuzzer_interceptors", "sanitizers_flags", "whole_archive", "sanitizer_interfaces"] }
libafl = { path = "../libafl", default-features = false, features = [
"std",
"derive",
"llmp_compression",
"rand_trait",
"regex",
"errors_backtrace",
"serdeany_autoreg",
"tui_monitor",
"unicode",
] }
libafl_bolts = { path = "../libafl_bolts", default-features = false, features = [
"std",
"derive",
"llmp_compression",
"rand_trait",
"serdeany_autoreg",
"errors_backtrace",
] }
libafl_targets = { path = "../libafl_targets", features = [
"sancov_8bit",
"sancov_cmplog",
"sancov_value_profile",
"sancov_pcguard",
"libfuzzer",
"libfuzzer_oom",
"libfuzzer_define_run_driver",
"libfuzzer_interceptors",
"sanitizers_flags",
"whole_archive",
"sanitizer_interfaces",
] }
ahash = { version = "0.8.3", default-features = false }
libc = "0.2.1"

View File

@ -9,15 +9,32 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
readme = "../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[target.'cfg(target_os = "linux")'.dependencies]
libnyx = { git = "https://github.com/nyx-fuzz/libnyx.git", rev = "6833d236dfe785a8a23d8c8d79e74c99fa635004" }
libafl = { path = "../libafl", version = "0.13.2", features = ["std", "libafl_derive", "frida_cli" ]}
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", features = ["std", "libafl_derive", "frida_cli" ]}
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = ["std", "sancov_cmplog"] }
libafl = { path = "../libafl", version = "0.13.2", features = [
"std",
"libafl_derive",
"frida_cli",
] }
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", features = [
"std",
"libafl_derive",
"frida_cli",
] }
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = [
"std",
"sancov_cmplog",
] }
nix = { version = "0.29", features = ["fs"] }
typed-builder = "0.18"

View File

@ -9,16 +9,30 @@ readme = "../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "qemu", "instrumentation"]
edition = "2021"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
[package.metadata.docs.rs]
features = ["document-features", "default", "python", "x86_64", "usermode"]
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["fork", "build_libgasan", "build_libqasan", "serdeany_autoreg", "injections"]
default = [
"fork",
"build_libgasan",
"build_libqasan",
"serdeany_autoreg",
"injections",
]
document-features = ["dep:document-features"]
paranoid_debug = ["libafl_qemu_sys/paranoid_debug"] # Will perform as many checks as possible. The target will be greatly slowed down.
paranoid_debug = [
"libafl_qemu_sys/paranoid_debug",
] # Will perform as many checks as possible. The target will be greatly slowed down.
#! # Feature Flags
#! ### General Features
@ -39,7 +53,9 @@ x86_64 = ["libafl_qemu_sys/x86_64"]
i386 = ["libafl_qemu_sys/i386"] # build qemu for i386
arm = ["libafl_qemu_sys/arm"] # build qemu for arm
aarch64 = ["libafl_qemu_sys/aarch64"] # build qemu for aarch64
mips = ["libafl_qemu_sys/mips"] # build qemu for mips (el, use with the 'be' feature of mips be)
mips = [
"libafl_qemu_sys/mips",
] # build qemu for mips (el, use with the 'be' feature of mips be)
ppc = ["libafl_qemu_sys/ppc"] # build qemu for powerpc
hexagon = ["libafl_qemu_sys/hexagon"] # build qemu for hexagon
@ -56,7 +72,10 @@ systemmode = ["libafl_qemu_sys/systemmode"]
## Automatically register all `#[derive(SerdeAny)]` types at startup.
serdeany_autoreg = ["libafl_bolts/serdeany_autoreg"]
slirp = [ "systemmode", "libafl_qemu_sys/slirp" ] # build qemu with host libslirp (for user networking)
slirp = [
"systemmode",
"libafl_qemu_sys/slirp",
] # build qemu with host libslirp (for user networking)
# Requires the binary's build.rs to call `build_libafl_qemu`
shared = ["libafl_qemu_sys/shared"]
@ -66,13 +85,24 @@ shared = [ "libafl_qemu_sys/shared" ]
clippy = ["libafl_qemu_sys/clippy"]
[dependencies]
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = ["std", "derive", "regex"] }
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = ["std", "derive"] }
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = [
"std",
"derive",
"regex",
] }
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
"std",
"derive",
] }
libafl_targets = { path = "../libafl_targets", version = "0.13.2" }
libafl_qemu_sys = { path = "./libafl_qemu_sys", version = "0.13.2" }
serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib
hashbrown = { version = "0.14", features = ["serde"] } # A faster hashmap, nostd compatible
serde = { version = "1.0", default-features = false, features = [
"alloc",
] } # serialization lib
hashbrown = { version = "0.14", features = [
"serde",
] } # A faster hashmap, nostd compatible
num-traits = "0.2"
num-derive = "0.4"
num_enum = "0.7"

View File

@ -26,7 +26,8 @@ slirp = [] # build qemu with host libslirp (for user networking)
clippy = [] # special feature for clippy, don't use in normal projects§
paranoid_debug = [] # Will perform as many checks as possible. The target will be greatly slowed down.
paranoid_debug = [
] # Will perform as many checks as possible. The target will be greatly slowed down.
[dependencies]
bindgen = "0.69.4"

View File

@ -9,7 +9,13 @@ readme = "../../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "qemu", "instrumentation"]
edition = "2021"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
links = "qemu"
[package.metadata.docs.rs]
@ -33,12 +39,19 @@ systemmode = []
python = ["pyo3", "pyo3-build-config"]
slirp = [ "systemmode", "libafl_qemu_build/slirp" ] # build qemu with host libslirp (for user networking)
slirp = [
"systemmode",
"libafl_qemu_build/slirp",
] # build qemu with host libslirp (for user networking)
shared = ["libafl_qemu_build/shared"]
clippy = [ "libafl_qemu_build/clippy" ] # special feature for clippy, don't use in normal projects
clippy = [
"libafl_qemu_build/clippy",
] # special feature for clippy, don't use in normal projects
paranoid_debug = ["libafl_qemu_build/paranoid_debug"] # Will perform as many checks as possible. The target will be greatly slowed down.
paranoid_debug = [
"libafl_qemu_build/paranoid_debug",
] # Will perform as many checks as possible. The target will be greatly slowed down.
[dependencies]
paste = "1"

View File

@ -10,7 +10,13 @@ license = "MIT OR Apache-2.0"
keywords = ["fuzzing"]
edition = "2021"
build = "build.rs"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
[package.metadata.docs.rs]
all-features = true
@ -18,7 +24,9 @@ all-features = true
[features]
default = []
document-features = ["dep:document-features"]
clippy = [ "libafl_qemu/clippy" ] # special feature for clippy, don't use in normal projects
clippy = [
"libafl_qemu/clippy",
] # special feature for clippy, don't use in normal projects
#! # Feature Flags
#! ## General Features

View File

@ -46,18 +46,22 @@ sancov_8bit = []
sancov_ngram4 = ["coverage"]
sancov_ngram8 = ["coverage"]
sancov_ctx = ["coverage"]
sancov_cmplog = ["common"] # Defines cmp and __sanitizer_weak_hook functions. Use libfuzzer_interceptors to define interceptors (only compatible with Linux)
sancov_cmplog = [
"common",
] # Defines cmp and __sanitizer_weak_hook functions. Use libfuzzer_interceptors to define interceptors (only compatible with Linux)
sancov_pcguard = ["sancov_pcguard_hitcounts"]
sanitizer_interfaces = []
clippy = [] # Ignore compiler warnings during clippy
observers = ["meminterval", "ahash"]
common = [] # Compile common C code defining sanitizer options and cross-platform intrinsics
common = [
] # Compile common C code defining sanitizer options and cross-platform intrinsics
coverage = ["common"] # Compile C code definining coverage maps
cmplog = ["common"] # Compile C code defining cmp log maps
forkserver = ["common"] # Compile C code for forkserver support
windows_asan = ["common"] # Compile C code for ASAN on Windows
whole_archive = [] # use +whole-archive to ensure the presence of weak symbols
cmplog_extended_instrumentation = [] # support for aflpp cmplog map, we will remove this once aflpp and libafl cmplog shares the same LLVM passes.
cmplog_extended_instrumentation = [
] # support for aflpp cmplog map, we will remove this once aflpp and libafl cmplog shares the same LLVM passes.
function-logging = ["common"]
track_hit_feedbacks = ["libafl/track_hit_feedbacks"]
[build-dependencies]
@ -66,8 +70,10 @@ cc = { version = "1.0", features = ["parallel"] }
rustversion = "1.0"
[dependencies]
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = [] }
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [] }
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = [
] }
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
] }
libc = "0.2"
hashbrown = "0.14"
once_cell = "1.19"
@ -75,7 +81,9 @@ log = "0.4.20"
rustversion = "1.0"
rangemap = "1.3"
serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib
serde = { version = "1.0", default-features = false, features = [
"alloc",
] } # serialization lib
meminterval = { version = "0.4", features = ["serde"], optional = true }
ahash = { version = "0.8.3", default-features = false, optional = true }
# serde-big-array = "0.3.2"

View File

@ -2,9 +2,18 @@
name = "libafl_tinyinst"
version = "0.13.2"
edition = "2021"
authors = ["elbiazo <eric.l.biazo@gmail.com>", "Dongjia Zhang <tokazerkje@outlook.com>"]
authors = [
"elbiazo <eric.l.biazo@gmail.com>",
"Dongjia Zhang <tokazerkje@outlook.com>",
]
repository = "https://github.com/AFLplusplus/LibAFL/"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
description = "TinyInst backend for libafl"

View File

@ -1,5 +1,8 @@
[package]
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
authors = [
"Andrea Fioraldi <andreafioraldi@gmail.com>",
"Dominik Maier <domenukk@gmail.com>",
]
name = "deexit"
version = "0.13.2"
edition = "2021"
@ -9,7 +12,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
readme = "../../README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "libafl", "ldpreload"]
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -5,7 +5,13 @@ edition = "2021"
description = "DeSyscall: Hooks syscalls for reduces overhead during in-process fuzzing"
repository = "https://github.com/AFLplusplus/LibAFL/"
license = "MIT OR Apache-2.0"
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
categories = [
"development-tools::testing",
"emulators",
"embedded",
"os",
"no-std",
]
keywords = ["fuzzing", "libafl", "ldpreload"]
[dependencies]

Some files were not shown because too many files have changed in this diff Show More