Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Versioning unification, dependencies update, logging optimization #2560

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f3246e5
versioning unification
rmalmain Sep 25, 2024
4529929
Merge branch 'main' into crate_versioning_log_policy
rmalmain Sep 26, 2024
ccdcaa2
finish fuzzer port
rmalmain Sep 26, 2024
d7c23a6
fix windows api
rmalmain Sep 26, 2024
5bf851b
Merge branch 'main' into crate_versioning_log_policy
rmalmain Sep 26, 2024
c0b110c
Merge branch 'main' into crate_versioning_log_policy
rmalmain Sep 27, 2024
b6c35b8
fix windows tests
rmalmain Sep 28, 2024
41748a7
restore removed example webpage
rmalmain Sep 28, 2024
995b31d
port to latest vergen
rmalmain Sep 28, 2024
bd0b30f
forgot some versions
rmalmain Sep 28, 2024
cb6dfbc
fix fuzzer
rmalmain Sep 28, 2024
913acb8
Merge branch 'main' into crate_versioning_log_policy
rmalmain Sep 30, 2024
0c6b903
add missing dep
rmalmain Sep 30, 2024
c17c746
use workspace for common dependencies
rmalmain Sep 30, 2024
7246a8c
add members to workspace.
rmalmain Sep 30, 2024
f2672ac
fix
rmalmain Sep 30, 2024
274a209
port also libafl_qemu_{build,sys}
rmalmain Sep 30, 2024
e902e47
Merge branch 'main' into crate_versioning_log_policy
rmalmain Sep 30, 2024
c62e753
python bindings integration
rmalmain Sep 30, 2024
e269cd9
no libfuzzer runtime in workspace
rmalmain Sep 30, 2024
552dd27
clippy
rmalmain Sep 30, 2024
18e825f
fmt
rmalmain Sep 30, 2024
06ada21
clippy
rmalmain Sep 30, 2024
597674d
idk
tokatoka Sep 30, 2024
72e7fb2
no json
tokatoka Sep 30, 2024
7b517d2
Merge branch 'main' into crate_versioning_log_policy
tokatoka Sep 30, 2024
e0df395
fix windows clippy script for new Cargo.toml
rmalmain Oct 1, 2024
a3cbcdc
oops
rmalmain Oct 1, 2024
4b7cc2a
testing
rmalmain Oct 2, 2024
d43e9e0
test ps1 fix
rmalmain Oct 2, 2024
80b0953
clippy
rmalmain Oct 2, 2024
f8ae8ff
Merge branch 'main' into crate_versioning_log_policy
rmalmain Oct 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"rust-analyzer.cargo.buildScripts.overrideCommand": [
"cargo",
"check",
"--message-format=json",
],
"rust-analyzer.check.overrideCommand": [
"cargo",
"check",
],
}
58 changes: 48 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,17 @@ members = [
"libafl",
"libafl_bolts",
"libafl_cc",
"libafl_concolic/symcc_runtime",
"libafl_concolic/symcc_libafl",
"libafl_derive",
"libafl_frida",
"libafl_libfuzzer",
"libafl_nyx",
"libafl_targets",
"libafl_tinyinst",
"libafl_qemu",
"libafl_qemu/libafl_qemu_build",
"libafl_qemu/libafl_qemu_sys",
"libafl_sugar",
"libafl_concolic/test/dump_constraints",
"libafl_concolic/test/runtime_test",
Expand All @@ -25,29 +34,58 @@ default-members = [
exclude = [
"bindings",
"fuzzers",
"libafl_libfuzzer_runtime",
"utils/noaslr",
"utils/gdb_qemu",
"utils/libafl_fmt",
"utils/desyscall",
"utils/multi_machine_generator",
"scripts",
# additional crates
"libafl_concolic/symcc_runtime",
"libafl_concolic/symcc_libafl",
"libafl_frida",
"libafl_libfuzzer",
"libafl_libfuzzer_runtime",
"libafl_nyx",
"libafl_qemu",
"libafl_tinyinst",
"libafl_qemu/libafl_qemu_build",
"libafl_qemu/libafl_qemu_sys",
"libafl_concolic/test/symcc/util/symcc_fuzzing_helper",
]

[workspace.package]
version = "0.13.2"

[workspace.dependencies]
ahash = { version = "0.8.11", default-features = false } # The hash function already used in hashbrown
backtrace = { version = "0.3.74", default-features = false } # Used to get the stacktrace in StacktraceObserver
bindgen = "0.70.1"
clap = "4.5.18"
cc = "1.1.21"
document-features = "0.2.10"
hashbrown = { version = "0.14.5", default-features = false } # A faster hashmap, nostd compatible
libc = "0.2.159" # For (*nix) libc
log = "0.4.22"
meminterval = "0.4.1"
mimalloc = { version = "0.1.43", default-features = false }
nix = { version = "0.29.0", default-features = false }
num_enum = { version = "0.7.3", default-features = false }
num-traits = { version = "0.2.19", default-features = false }
paste = "1.0.15"
postcard = { version = "1.0.10", features = [
"alloc",
], default-features = false } # no_std compatible serde serialization format
pyo3 = "0.22.3"
pyo3-build-config = "0.22.3"
pyo3-log = "0.11.0"
rangemap = "1.5.1"
regex = "1.10.6"
rustversion = "1.0.17"
serde = { version = "1.0.210", default-features = false } # serialization lib
serial_test = { version = "3.1.1", default-features = false }
serde_json = { version = "1.0.128", default-features = false }
serde_yaml = { version = "0.9.34" } # For parsing the injections yaml file
strum = "0.26.3"
strum_macros = "0.26.4"
toml = "0.8.19" # For parsing the injections toml file
typed-builder = "0.20.0" # Implement the builder pattern at compiletime
uuid = { version = "1.10.0", features = ["serde", "v4"] }
which = "6.0.3"
windows = "0.58.0"
z3 = "0.12.1"

[profile.release]
lto = true
codegen-units = 1
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ COPY scripts/dummy.rs libafl_qemu/libafl_qemu_sys/src/lib.rs
COPY libafl_sugar/Cargo.toml libafl_sugar/
COPY scripts/dummy.rs libafl_sugar/src/lib.rs

COPY bindings/pylibafl/Cargo.toml bindings/pylibafl/Cargo.toml
COPY bindings/pylibafl/src bindings/pylibafl/src

COPY libafl_cc/Cargo.toml libafl_cc/Cargo.toml
COPY libafl_cc/build.rs libafl_cc/build.rs
COPY libafl_cc/src libafl_cc/src
Expand Down
11 changes: 8 additions & 3 deletions bindings/pylibafl/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
[package]
name = "pylibafl"
description = "Python bindings for LibAFL"
version = "0.13.2"
license = "MIT OR Apache-2.0"
repository = "https://github.com/AFLplusplus/LibAFL/"
keywords = ["fuzzing", "testing", "security", "python"]
edition = "2021"
categories = ["development-tools::testing", "emulators", "embedded", "os"]

[dependencies]
pyo3 = { version = "0.22", features = ["extension-module"] }
pyo3-log = "0.11"
pyo3 = { version = "0.22.3", features = ["extension-module"] }
pyo3-log = { version = "0.11.0" }
libafl_sugar = { path = "../../libafl_sugar", version = "0.13.2", features = [
"python",
] }
Expand All @@ -19,7 +24,7 @@ libafl_qemu = { path = "../../libafl_qemu", version = "0.13.2", features = [
] }

[build-dependencies]
pyo3-build-config = { version = "0.22" }
pyo3-build-config = { version = "0.22.3" }

[lib]
name = "pylibafl"
Expand Down
5 changes: 3 additions & 2 deletions fuzzers/baby/baby_fuzzer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../libafl/" }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl = { path = "../../../libafl" }
libafl_bolts = { path = "../../../libafl_bolts" }
log = { version = "0.4.22", features = ["release_max_level_info"] }
5 changes: 3 additions & 2 deletions fuzzers/baby/baby_fuzzer_minimizing/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../libafl/", features = ["prelude"] }
libafl_bolts = { path = "../../../libafl_bolts/", features = ["prelude"] }
libafl = { path = "../../../libafl", features = ["prelude"] }
libafl_bolts = { path = "../../../libafl_bolts", features = ["prelude"] }
log = { version = "0.4.22", features = ["release_max_level_info"] }
11 changes: 6 additions & 5 deletions fuzzers/baby/baby_fuzzer_swap_differential/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ opt-level = 3
debug = true

[build-dependencies]
anyhow = "1"
bindgen = "0.69.4"
cc = "1.0"
anyhow = "1.0.89"
bindgen = "0.70.1"
cc = "1.1.21"

[dependencies]
libafl = { path = "../../../libafl" }
Expand All @@ -33,9 +33,10 @@ libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_cmplog",
"pointer_maps",
] }
mimalloc = { version = "*", default-features = false }
log = { version = "0.4.22", features = ["release_max_level_info"] }
mimalloc = { version = "0.1.43", default-features = false }

libafl_cc = { path = "../../../libafl_cc/" }
libafl_cc = { path = "../../../libafl_cc" }

[[bin]]
name = "fuzzer_sd"
Expand Down
5 changes: 3 additions & 2 deletions fuzzers/baby/baby_fuzzer_unicode/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../libafl/", features = ["unicode"] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl = { path = "../../../libafl", features = ["unicode"] }
libafl_bolts = { path = "../../../libafl_bolts" }
log = { version = "0.4.22", features = ["release_max_level_info"] }
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../../libafl/" }
libafl_bolts = { path = "../../../../libafl_bolts/" }
libc = "0.2"
libafl = { path = "../../../../libafl" }
libafl_bolts = { path = "../../../../libafl_bolts" }
libc = "0.2.159"
log = { version = "0.4.22", features = ["release_max_level_info"] }

[build-dependencies]
cc = "1.0"
cc = "1.1.21"
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../../libafl/" }
libafl_bolts = { path = "../../../../libafl_bolts/" }
libc = "0.2"
libafl = { path = "../../../../libafl" }
libafl_bolts = { path = "../../../../libafl_bolts" }
libc = "0.2.159"
log = { version = "0.4.22", features = ["release_max_level_info"] }

[build-dependencies]
cc = "1.0"
cc = "1.1.21"
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ opt-level = 3
debug = true

[build-dependencies]
cc = "*"
cc = "1.1.21"

[dependencies]
libafl = { path = "../../../../libafl/" }
libafl_bolts = { path = "../../../../libafl_bolts/" }
libafl = { path = "../../../../libafl" }
libafl_bolts = { path = "../../../../libafl_bolts" }
log = { version = "0.4.22", features = ["release_max_level_info"] }
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ codegen-units = 1
opt-level = 3

[dependencies]
libafl = { path = "../../../../libafl/" }
libafl_bolts = { path = "../../../../libafl_bolts/" }
libafl = { path = "../../../../libafl" }
libafl_bolts = { path = "../../../../libafl_bolts" }
log = { version = "0.4.22", features = ["release_max_level_info"] }
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../../libafl/" }
libafl_bolts = { path = "../../../../libafl_bolts/" }
libafl = { path = "../../../../libafl" }
libafl_bolts = { path = "../../../../libafl_bolts" }
log = { version = "0.4.22", features = ["release_max_level_info"] }
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../../libafl/" }
libafl_bolts = { path = "../../../../libafl_bolts/" }
libafl = { path = "../../../../libafl" }
libafl_bolts = { path = "../../../../libafl_bolts" }
log = { version = "0.4.22", features = ["release_max_level_info"] }
17 changes: 9 additions & 8 deletions fuzzers/baby/tutorial/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,26 @@ opt-level = 3
debug = true

[build-dependencies]
cc = { version = "1.0", features = ["parallel"] }
which = "6.0"
cc = { version = "1.1.21", features = ["parallel"] }
which = "6.0.3"

[dependencies]
libafl = { path = "../../../libafl/", features = ["default", "rand_trait"] }
libafl_bolts = { path = "../../../libafl_bolts/" }
libafl_targets = { path = "../../../libafl_targets/", features = [
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 = [
serde = { version = "1.0.210", default-features = false, features = [
"alloc",
] } # serialization lib
lain = { version = "0.5", features = [
lain = { version = "0.5.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/" }
libafl_cc = { path = "../../../libafl_cc" }
log = { version = "0.4.22", features = ["release_max_level_info"] }

[lib]
name = "tutorial"
Expand Down
25 changes: 13 additions & 12 deletions fuzzers/binary_only/frida_executable_libpng/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../libafl/", features = [
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 = [
libafl_bolts = { path = "../../../libafl_bolts" }
frida-gum = { version = "0.13.7", features = [
"auto-download",
"event-sink",
"invocation-listener",
Expand All @@ -34,13 +34,14 @@ libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_cmplog",
] }
libc = "0.2"
libloading = "0.7"
num-traits = "0.2"
rangemap = "1.3"
clap = { version = "4.5", features = ["derive"] }
serde = "1.0"
mimalloc = { version = "*", default-features = false }
libc = "0.2.159"
libloading = "0.8.5"
log = { version = "0.4.22", features = ["release_max_level_info"] }
num-traits = "0.2.19"
rangemap = "1.5.1"
clap = { version = "4.5.18", features = ["derive"] }
serde = "1.0.210"
mimalloc = { version = "0.1.43", default-features = false }

backtrace = "0.3"
color-backtrace = "0.5"
backtrace = "0.3.74"
color-backtrace = "0.6.1"
17 changes: 9 additions & 8 deletions fuzzers/binary_only/frida_gdiplus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ opt-level = 3
debug = true

[dependencies]
libafl = { path = "../../../libafl/", features = [
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 = [
libafl_bolts = { path = "../../../libafl_bolts" }
frida-gum = { version = "0.13.7", features = [
"auto-download",
"event-sink",
"invocation-listener",
Expand All @@ -32,9 +32,10 @@ libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
libafl_targets = { path = "../../../libafl_targets", features = [
"sancov_cmplog",
] }
libloading = "0.7"
mimalloc = { version = "*", default-features = false }
libloading = "0.8.5"
log = { version = "0.4.22", features = ["release_max_level_info"] }
mimalloc = { version = "0.1.43", default-features = false }
dlmalloc = { version = "0.2.6", features = ["global"] }
color-backtrace = "0.5"
env_logger = "0.10.0"
iced-x86 = { version = "1.20.0", features = ["code_asm"] }
color-backtrace = "0.6.1"
env_logger = "0.11.5"
iced-x86 = { version = "1.21.0", features = ["code_asm"] }
Loading
Loading