Add a second fuzzing engine alongside the existing libFuzzer/cargo-fuzz setup. AFL++ runs with persistent mode (afl::fuzz! macro), LLVM plugins (CmpLog, IJON), and a SymCC concolic companion for hybrid fuzzing. - cargo-afl built from afl.rs with a patch for CARGO_AFL_DIR / CARGO_AFL_LLVM_DIR env-var overrides - AFL++ built with LLVM 22 plugins to match rust-nightly - Persistent-mode fuzz targets in lib/fuzz-afl/ - --jobs N parallel fuzzing: main instance in foreground, secondaries and SymCC companion as systemd transient units in a slice - Ctrl+c / exit cleans up all background processes via slice stop - AFL_AUTORESUME=1 for clean restarts after previous runs - fuzz-clean-afl collects crashes from all instance directories - Shared harness logic in lib/src/fuzz_harness.rs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
383 lines
9.4 KiB
TOML
383 lines
9.4 KiB
TOML
# This file is automatically @generated by Cargo.
|
|
# It is not intended for manual editing.
|
|
version = 4
|
|
|
|
[[package]]
|
|
name = "afl"
|
|
version = "0.17.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "62656735672273d859b4e3dcd2d3c6dbe2f4decee62e3c206aad2363b1a2f9e2"
|
|
dependencies = [
|
|
"home",
|
|
"libc",
|
|
"rustc_version",
|
|
"xdg",
|
|
]
|
|
|
|
[[package]]
|
|
name = "arbitrary"
|
|
version = "1.4.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
|
|
dependencies = [
|
|
"derive_arbitrary",
|
|
]
|
|
|
|
[[package]]
|
|
name = "autocfg"
|
|
version = "1.5.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
|
|
|
[[package]]
|
|
name = "bitflags"
|
|
version = "2.11.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
|
|
|
|
[[package]]
|
|
name = "bytes"
|
|
version = "1.11.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
|
|
|
|
[[package]]
|
|
name = "core-foundation"
|
|
version = "0.10.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
|
|
dependencies = [
|
|
"core-foundation-sys",
|
|
"libc",
|
|
]
|
|
|
|
[[package]]
|
|
name = "core-foundation-sys"
|
|
version = "0.8.7"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
|
|
|
[[package]]
|
|
name = "derive_arbitrary"
|
|
version = "1.4.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "errno"
|
|
version = "0.3.14"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
|
dependencies = [
|
|
"libc",
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "futures-core"
|
|
version = "0.3.32"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
|
|
|
|
[[package]]
|
|
name = "futures-macro"
|
|
version = "0.3.32"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "futures-sink"
|
|
version = "0.3.32"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
|
|
|
|
[[package]]
|
|
name = "futures-task"
|
|
version = "0.3.32"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
|
|
|
|
[[package]]
|
|
name = "futures-util"
|
|
version = "0.3.32"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
|
|
dependencies = [
|
|
"futures-core",
|
|
"futures-macro",
|
|
"futures-task",
|
|
"pin-project-lite",
|
|
"slab",
|
|
]
|
|
|
|
[[package]]
|
|
name = "home"
|
|
version = "0.5.12"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
|
|
dependencies = [
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "io-kit-sys"
|
|
version = "0.5.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "06d3a048d09fbb6597dbf7c69f40d14df4a49487db1487191618c893fc3b1c26"
|
|
dependencies = [
|
|
"core-foundation-sys",
|
|
"mach2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "libc"
|
|
version = "0.2.183"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
|
|
|
|
[[package]]
|
|
name = "linux-raw-sys"
|
|
version = "0.12.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
|
|
|
|
[[package]]
|
|
name = "log"
|
|
version = "0.4.29"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
|
|
|
|
[[package]]
|
|
name = "mach2"
|
|
version = "0.5.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "6a1b95cd5421ec55b445b5ae102f5ea0e768de1f82bd3001e11f426c269c3aea"
|
|
dependencies = [
|
|
"libc",
|
|
]
|
|
|
|
[[package]]
|
|
name = "mio"
|
|
version = "1.1.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
|
|
dependencies = [
|
|
"libc",
|
|
"wasi",
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "num-derive"
|
|
version = "0.4.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "num-traits"
|
|
version = "0.2.19"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
dependencies = [
|
|
"autocfg",
|
|
]
|
|
|
|
[[package]]
|
|
name = "nusb"
|
|
version = "0.2.3"
|
|
source = "git+https://git.dsg.is/dsg/nusb.git?rev=1239c676#1239c6765ab478b19b143544a467fadbb472197b"
|
|
dependencies = [
|
|
"core-foundation",
|
|
"core-foundation-sys",
|
|
"futures-core",
|
|
"io-kit-sys",
|
|
"linux-raw-sys",
|
|
"log",
|
|
"once_cell",
|
|
"rustix",
|
|
"slab",
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "once_cell"
|
|
version = "1.21.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
|
|
|
[[package]]
|
|
name = "pin-project-lite"
|
|
version = "0.2.17"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
|
|
|
|
[[package]]
|
|
name = "proc-macro2"
|
|
version = "1.0.106"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
|
dependencies = [
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "quote"
|
|
version = "1.0.45"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rustc_version"
|
|
version = "0.4.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
|
|
dependencies = [
|
|
"semver",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rustix"
|
|
version = "1.1.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
|
|
dependencies = [
|
|
"bitflags",
|
|
"errno",
|
|
"libc",
|
|
"linux-raw-sys",
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "semver"
|
|
version = "1.0.27"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
|
|
|
|
[[package]]
|
|
name = "slab"
|
|
version = "0.4.12"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
|
|
|
|
[[package]]
|
|
name = "socket2"
|
|
version = "0.6.3"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
|
|
dependencies = [
|
|
"libc",
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "2.0.117"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "tokio"
|
|
version = "1.50.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
|
|
dependencies = [
|
|
"bytes",
|
|
"libc",
|
|
"mio",
|
|
"pin-project-lite",
|
|
"socket2",
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "tokio-util"
|
|
version = "0.7.18"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
|
|
dependencies = [
|
|
"bytes",
|
|
"futures-core",
|
|
"futures-sink",
|
|
"futures-util",
|
|
"pin-project-lite",
|
|
"tokio",
|
|
]
|
|
|
|
[[package]]
|
|
name = "unicode-ident"
|
|
version = "1.0.24"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
|
|
[[package]]
|
|
name = "usbip-rs"
|
|
version = "0.8.0"
|
|
dependencies = [
|
|
"arbitrary",
|
|
"log",
|
|
"num-derive",
|
|
"num-traits",
|
|
"nusb",
|
|
"tokio",
|
|
"tokio-util",
|
|
]
|
|
|
|
[[package]]
|
|
name = "usbip-rs-fuzz-afl"
|
|
version = "0.0.0"
|
|
dependencies = [
|
|
"afl",
|
|
"tokio",
|
|
"usbip-rs",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasi"
|
|
version = "0.11.1+wasi-snapshot-preview1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
|
|
|
|
[[package]]
|
|
name = "windows-link"
|
|
version = "0.2.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
|
|
|
[[package]]
|
|
name = "windows-sys"
|
|
version = "0.61.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
|
|
dependencies = [
|
|
"windows-link",
|
|
]
|
|
|
|
[[package]]
|
|
name = "xdg"
|
|
version = "3.0.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5"
|