diff --git a/README.md b/README.md index a6d6f6d4..4eb32073 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,8 @@ and AFL-based fuzzer [Sharpfuzz](https://github.com/Metalnem/sharpfuzz). [libFuzzer](https://www.llvm.org/docs/LibFuzzer.html) based fuzzer (C/C++/[go-fuzz](https://github.com/dvyukov/go-fuzz)/[Atheris](https://github.com/google/atheris) /[Jazzer](https://github.com/CodeIntelligenceTesting/jazzer)/[Jazzer.js](https://github.com/CodeIntelligenceTesting/jazzer.js)/ -[jsfuzz](https://github.com/fuzzitdev/jsfuzz)). +[jsfuzz](https://github.com/fuzzitdev/jsfuzz)) or [LibAFL](https://github.com/AFLplusplus/LibAFL) +based [fuzzers](https://github.com/AFLplusplus/LibAFL/tree/main/fuzzers). `casr-dojo` allows to upload new and unique CASR reports to [DefectDojo](https://github.com/DefectDojo/django-DefectDojo) (available with `dojo` feature). @@ -228,6 +229,10 @@ Triage Jazzer.js crashes with casr-libfuzzer (Jazzer.js installation [guide](htt $ sudo npm install --save-dev @jazzer.js/core $ casr-libfuzzer -i ./xml2js -o casr/tests/tmp_tests_casr/xml2js_fuzzer_out/out -- npx jazzer casr/tests/tmp_tests_casr/xml2js_fuzzer_out/xml2js_fuzzer.js +Triage LibAFL crashes with casr-libfuzzer: + + $ casr-libfuzzer -i casr/tests/casr_tests/casrep/test_libafl_crashes -o casr/tests/tmp_tests_casr/casr_libafl_out -- casr/tests/casr_tests/bin/test_libafl_fuzzer @@ + Upload new and unique CASR reports to [DefectDojo](https://github.com/DefectDojo/django-DefectDojo): @@ -260,8 +265,8 @@ fuzzer [Sharpfuzz](https://www.llvm.org/docs/LibFuzzer.html), the pipeline If you use [libFuzzer](https://www.llvm.org/docs/LibFuzzer.html) based fuzzer (C/C++/[go-fuzz](https://github.com/dvyukov/go-fuzz)/[Atheris](https://github.com/google/atheris) /[Jazzer](https://github.com/CodeIntelligenceTesting/jazzer)/[Jazzer.js](https://github.com/CodeIntelligenceTesting/jazzer.js)/ -[jsfuzz](https://github.com/fuzzitdev/jsfuzz)), the pipeline (without `casr-ubsan` and `casr-dojo`) could be done automatically -by `casr-libfuzzer`. +[jsfuzz](https://github.com/fuzzitdev/jsfuzz)) or [LibAFL](https://github.com/AFLplusplus/LibAFL) based fuzzer, +the pipeline (without `casr-ubsan` and `casr-dojo`) could be done automatically by `casr-libfuzzer`. ## Contributing diff --git a/casr/src/bin/casr-libfuzzer.rs b/casr/src/bin/casr-libfuzzer.rs index dd34b100..c0ae4d8b 100644 --- a/casr/src/bin/casr-libfuzzer.rs +++ b/casr/src/bin/casr-libfuzzer.rs @@ -14,7 +14,7 @@ use std::path::{Path, PathBuf}; fn main() -> Result<()> { let matches = clap::Command::new("casr-libfuzzer") .version(clap::crate_version!()) - .about("Triage crashes found by libFuzzer based fuzzer (C/C++/go-fuzz/Atheris/Jazzer/Jazzer.js/jsfuzz)") + .about("Triage crashes found by libFuzzer based fuzzer (C/C++/go-fuzz/Atheris/Jazzer/Jazzer.js/jsfuzz) or LibAFL based fuzzer") .term_width(90) .arg( Arg::new("log-level") @@ -48,7 +48,7 @@ fn main() -> Result<()> { .action(ArgAction::Set) .default_value(".") .value_name("INPUT_DIR") - .help("Directory containing crashes found by libFuzzer") + .help("Directory containing crashes found by libFuzzer or LibAFL") .value_parser(move |arg: &str| { let i_dir = Path::new(arg); if !i_dir.exists() { @@ -185,18 +185,34 @@ fn main() -> Result<()> { argv.len() - 1 }; - // Get all crashes. - let crashes: HashMap = fs::read_dir(input_dir)? + let crash_files: HashMap = fs::read_dir(input_dir)? .flatten() .map(|p| p.path()) .filter(|p| p.is_file()) .map(|p| (p.file_name().unwrap().to_str().unwrap().to_string(), p)) - .filter(|(fname, _)| fname.starts_with("crash-") || fname.starts_with("leak-")) + .collect(); + + // Determine crash directory format for libfuzzer or LibAFL. + let crash_filter = if crash_files + .iter() + .any(|(fname, _)| fname.starts_with("crash-") || fname.starts_with("leak-")) + { + |arg: &(&std::string::String, &PathBuf)| { + arg.0.starts_with("crash-") || arg.0.starts_with("leak-") + } + } else { + |arg: &(&std::string::String, &PathBuf)| !arg.0.starts_with(".") + }; + + // Get all crashes. + let crashes: HashMap = crash_files + .iter() + .filter(crash_filter) .map(|(fname, p)| { ( - fname, + fname.clone(), CrashInfo { - path: p, + path: p.to_path_buf(), target_args: argv.iter().map(|x| x.to_string()).collect(), envs: envs.clone(), at_index: Some(at_index), diff --git a/casr/tests/casr_tests/bin/test_libafl_fuzzer b/casr/tests/casr_tests/bin/test_libafl_fuzzer new file mode 100755 index 00000000..daa21511 Binary files /dev/null and b/casr/tests/casr_tests/bin/test_libafl_fuzzer differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/01b91a89a1972ee7 b/casr/tests/casr_tests/casrep/test_libafl_crashes/01b91a89a1972ee7 new file mode 100644 index 00000000..d15391a9 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/01b91a89a1972ee7 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0264204a3b3302c9 b/casr/tests/casr_tests/casrep/test_libafl_crashes/0264204a3b3302c9 new file mode 100644 index 00000000..b476615f Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/0264204a3b3302c9 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0274ba1fa1f8e1af b/casr/tests/casr_tests/casrep/test_libafl_crashes/0274ba1fa1f8e1af new file mode 100644 index 00000000..bb5d21dd Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/0274ba1fa1f8e1af differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/02c57642f1cfac28 b/casr/tests/casr_tests/casrep/test_libafl_crashes/02c57642f1cfac28 new file mode 100644 index 00000000..0726e181 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/02c57642f1cfac28 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/03bd92e79bf1d71b b/casr/tests/casr_tests/casrep/test_libafl_crashes/03bd92e79bf1d71b new file mode 100644 index 00000000..22746eb4 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/03bd92e79bf1d71b differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0504e9d25ab270dc b/casr/tests/casr_tests/casrep/test_libafl_crashes/0504e9d25ab270dc new file mode 100644 index 00000000..1e01e16e --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/0504e9d25ab270dc @@ -0,0 +1 @@ +bae!qcdaaadaqcô \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/069e6d0807c2aa16 b/casr/tests/casr_tests/casrep/test_libafl_crashes/069e6d0807c2aa16 new file mode 100644 index 00000000..c164e64f Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/069e6d0807c2aa16 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/07fc5f20970c9ce5 b/casr/tests/casr_tests/casrep/test_libafl_crashes/07fc5f20970c9ce5 new file mode 100644 index 00000000..a749a353 --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/07fc5f20970c9ce5 @@ -0,0 +1 @@ +badÁ!!ÛÛdbcdödedcdd!ÛÛdbcdödddcddœdÛ{ccc \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0a0062b1115ba095 b/casr/tests/casr_tests/casrep/test_libafl_crashes/0a0062b1115ba095 new file mode 100644 index 00000000..229a608d Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/0a0062b1115ba095 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0a445c90d94a681f b/casr/tests/casr_tests/casrep/test_libafl_crashes/0a445c90d94a681f new file mode 100644 index 00000000..71a0082a Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/0a445c90d94a681f differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0bf179cac805c4ac b/casr/tests/casr_tests/casrep/test_libafl_crashes/0bf179cac805c4ac new file mode 100644 index 00000000..f5ee9b4b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/0bf179cac805c4ac differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0c815ab429a4bea5 b/casr/tests/casr_tests/casrep/test_libafl_crashes/0c815ab429a4bea5 new file mode 100644 index 00000000..7f06741c Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/0c815ab429a4bea5 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/0edfed8f4b1b3d4e b/casr/tests/casr_tests/casrep/test_libafl_crashes/0edfed8f4b1b3d4e new file mode 100644 index 00000000..dc94457a Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/0edfed8f4b1b3d4e differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/12b29940360c2b7e b/casr/tests/casr_tests/casrep/test_libafl_crashes/12b29940360c2b7e new file mode 100644 index 00000000..85a0d2ad Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/12b29940360c2b7e differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/13457f91a55ca977 b/casr/tests/casr_tests/casrep/test_libafl_crashes/13457f91a55ca977 new file mode 100644 index 00000000..02727e27 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/13457f91a55ca977 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1409b8e5b8935db1 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1409b8e5b8935db1 new file mode 100644 index 00000000..5e30b0aa Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1409b8e5b8935db1 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1490239bc15005ad b/casr/tests/casr_tests/casrep/test_libafl_crashes/1490239bc15005ad new file mode 100644 index 00000000..e5ea57cf Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1490239bc15005ad differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/14ccab0485d59033 b/casr/tests/casr_tests/casrep/test_libafl_crashes/14ccab0485d59033 new file mode 100644 index 00000000..4efac6c8 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/14ccab0485d59033 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/15ece33fa0882bb4 b/casr/tests/casr_tests/casrep/test_libafl_crashes/15ece33fa0882bb4 new file mode 100644 index 00000000..51dd6ad7 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/15ece33fa0882bb4 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/170872e48a54a909 b/casr/tests/casr_tests/casrep/test_libafl_crashes/170872e48a54a909 new file mode 100644 index 00000000..750a332f Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/170872e48a54a909 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1759567a074d64ab b/casr/tests/casr_tests/casrep/test_libafl_crashes/1759567a074d64ab new file mode 100644 index 00000000..72b9ef03 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1759567a074d64ab differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/181198f60b7b7e87 b/casr/tests/casr_tests/casrep/test_libafl_crashes/181198f60b7b7e87 new file mode 100644 index 00000000..b25ecc6a Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/181198f60b7b7e87 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1813995e66a331fd b/casr/tests/casr_tests/casrep/test_libafl_crashes/1813995e66a331fd new file mode 100644 index 00000000..1e6c36ed --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/1813995e66a331fd @@ -0,0 +1 @@ +badd!bbbabcdabcdb \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/190e3ee5588a3daa b/casr/tests/casr_tests/casrep/test_libafl_crashes/190e3ee5588a3daa new file mode 100644 index 00000000..2da326d8 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/190e3ee5588a3daa differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/192a676d42a7741b b/casr/tests/casr_tests/casrep/test_libafl_crashes/192a676d42a7741b new file mode 100644 index 00000000..b80a021b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/192a676d42a7741b differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1970149638647ecf b/casr/tests/casr_tests/casrep/test_libafl_crashes/1970149638647ecf new file mode 100644 index 00000000..55ea697b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1970149638647ecf differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1b7548244a4cd4bc b/casr/tests/casr_tests/casrep/test_libafl_crashes/1b7548244a4cd4bc new file mode 100644 index 00000000..9fe9060a Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1b7548244a4cd4bc differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1be55eebfdd43f72 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1be55eebfdd43f72 new file mode 100644 index 00000000..fcebe054 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1be55eebfdd43f72 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1c20eb63b4032904 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c20eb63b4032904 new file mode 100644 index 00000000..24ccc8fd Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c20eb63b4032904 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1c23a8109d4e6fb1 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c23a8109d4e6fb1 new file mode 100644 index 00000000..e72ca6c2 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c23a8109d4e6fb1 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1c5f546cebba7dd0 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c5f546cebba7dd0 new file mode 100644 index 00000000..dc1034a6 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c5f546cebba7dd0 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1c923302e67762f4 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c923302e67762f4 new file mode 100644 index 00000000..e7702e37 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1c923302e67762f4 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1ced3431228c6875 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1ced3431228c6875 new file mode 100644 index 00000000..d7e892e2 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1ced3431228c6875 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1d04646b388391e9 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d04646b388391e9 new file mode 100644 index 00000000..19ee0c77 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d04646b388391e9 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1d4a8a06ff8fc8a0 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d4a8a06ff8fc8a0 new file mode 100644 index 00000000..0bc8c219 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d4a8a06ff8fc8a0 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1d89cdcff3f00b67 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d89cdcff3f00b67 new file mode 100644 index 00000000..32ddbf5b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d89cdcff3f00b67 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1d9c2bb85f6bcab7 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d9c2bb85f6bcab7 new file mode 100644 index 00000000..6876248a Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1d9c2bb85f6bcab7 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1db6080f23ea9bd2 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1db6080f23ea9bd2 new file mode 100644 index 00000000..5a36f320 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1db6080f23ea9bd2 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1dd132662492705b b/casr/tests/casr_tests/casrep/test_libafl_crashes/1dd132662492705b new file mode 100644 index 00000000..bacca1dc --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/1dd132662492705b @@ -0,0 +1 @@ +baœ!bdddddddddddd™€ \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1f1ca261be6f0869 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1f1ca261be6f0869 new file mode 100644 index 00000000..f1bbdea6 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1f1ca261be6f0869 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1f95258c8d3d97d1 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1f95258c8d3d97d1 new file mode 100644 index 00000000..40cd6497 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1f95258c8d3d97d1 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/1fa751bb9c191d95 b/casr/tests/casr_tests/casrep/test_libafl_crashes/1fa751bb9c191d95 new file mode 100644 index 00000000..3414805d Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/1fa751bb9c191d95 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/211a626005821d33 b/casr/tests/casr_tests/casrep/test_libafl_crashes/211a626005821d33 new file mode 100644 index 00000000..c1f00d4b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/211a626005821d33 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/21b5e6d3516ca3bd b/casr/tests/casr_tests/casrep/test_libafl_crashes/21b5e6d3516ca3bd new file mode 100644 index 00000000..afdc7319 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/21b5e6d3516ca3bd differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/236da08db34a324b b/casr/tests/casr_tests/casrep/test_libafl_crashes/236da08db34a324b new file mode 100644 index 00000000..ea626b94 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/236da08db34a324b differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/24c4abecf8c1ac04 b/casr/tests/casr_tests/casrep/test_libafl_crashes/24c4abecf8c1ac04 new file mode 100644 index 00000000..1f32a0f7 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/24c4abecf8c1ac04 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/266ffafb165eba6d b/casr/tests/casr_tests/casrep/test_libafl_crashes/266ffafb165eba6d new file mode 100644 index 00000000..1809ba6f Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/266ffafb165eba6d differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2774a11a36290f22 b/casr/tests/casr_tests/casrep/test_libafl_crashes/2774a11a36290f22 new file mode 100644 index 00000000..f22eae2b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2774a11a36290f22 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/298ceb5b20b294ae b/casr/tests/casr_tests/casrep/test_libafl_crashes/298ceb5b20b294ae new file mode 100644 index 00000000..a6c366ed Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/298ceb5b20b294ae differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/29ee180ef4be312d b/casr/tests/casr_tests/casrep/test_libafl_crashes/29ee180ef4be312d new file mode 100644 index 00000000..20d003e9 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/29ee180ef4be312d differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2a79c9b5569a2e5a b/casr/tests/casr_tests/casrep/test_libafl_crashes/2a79c9b5569a2e5a new file mode 100644 index 00000000..7dd94270 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2a79c9b5569a2e5a differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2a9307e88fa1f624 b/casr/tests/casr_tests/casrep/test_libafl_crashes/2a9307e88fa1f624 new file mode 100644 index 00000000..78d98b80 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2a9307e88fa1f624 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2b30b5aee0f92ab8 b/casr/tests/casr_tests/casrep/test_libafl_crashes/2b30b5aee0f92ab8 new file mode 100644 index 00000000..ac024c2e Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2b30b5aee0f92ab8 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2bc9b2a8ae59e551 b/casr/tests/casr_tests/casrep/test_libafl_crashes/2bc9b2a8ae59e551 new file mode 100644 index 00000000..43feac3e Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2bc9b2a8ae59e551 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2c78653917a6d372 b/casr/tests/casr_tests/casrep/test_libafl_crashes/2c78653917a6d372 new file mode 100644 index 00000000..da7ceef7 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2c78653917a6d372 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2cab39ba23577a1d b/casr/tests/casr_tests/casrep/test_libafl_crashes/2cab39ba23577a1d new file mode 100644 index 00000000..58dfa79a Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2cab39ba23577a1d differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2d842ba92296cda8 b/casr/tests/casr_tests/casrep/test_libafl_crashes/2d842ba92296cda8 new file mode 100644 index 00000000..7a09d4f7 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2d842ba92296cda8 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/2efc1723c0859705 b/casr/tests/casr_tests/casrep/test_libafl_crashes/2efc1723c0859705 new file mode 100644 index 00000000..40db859f Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/2efc1723c0859705 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/314e6e063076b8ad b/casr/tests/casr_tests/casrep/test_libafl_crashes/314e6e063076b8ad new file mode 100644 index 00000000..6ba166ae Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/314e6e063076b8ad differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/315bad7a1289dca8 b/casr/tests/casr_tests/casrep/test_libafl_crashes/315bad7a1289dca8 new file mode 100644 index 00000000..25030a61 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/315bad7a1289dca8 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/315db060fd62dda4 b/casr/tests/casr_tests/casrep/test_libafl_crashes/315db060fd62dda4 new file mode 100644 index 00000000..f49c6568 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/315db060fd62dda4 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/330e2c6b69d76683 b/casr/tests/casr_tests/casrep/test_libafl_crashes/330e2c6b69d76683 new file mode 100644 index 00000000..a064df10 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/330e2c6b69d76683 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3458540d80eba0f1 b/casr/tests/casr_tests/casrep/test_libafl_crashes/3458540d80eba0f1 new file mode 100644 index 00000000..ac79228c Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/3458540d80eba0f1 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/352e18e8e26ae3d1 b/casr/tests/casr_tests/casrep/test_libafl_crashes/352e18e8e26ae3d1 new file mode 100644 index 00000000..0db4739b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/352e18e8e26ae3d1 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/38b631304610b434 b/casr/tests/casr_tests/casrep/test_libafl_crashes/38b631304610b434 new file mode 100644 index 00000000..1637d29d Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/38b631304610b434 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/390ee9ea9f168eea b/casr/tests/casr_tests/casrep/test_libafl_crashes/390ee9ea9f168eea new file mode 100644 index 00000000..c624176f Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/390ee9ea9f168eea differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/399ff0c57007a1ce b/casr/tests/casr_tests/casrep/test_libafl_crashes/399ff0c57007a1ce new file mode 100644 index 00000000..05db8efe --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/399ff0c57007a1ce @@ -0,0 +1 @@ +ba…!bbad®®®®ª ®®®®ª ®!bd \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3b28c8ea8192380b b/casr/tests/casr_tests/casrep/test_libafl_crashes/3b28c8ea8192380b new file mode 100644 index 00000000..2cf30a7a --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/3b28c8ea8192380b @@ -0,0 +1 @@ +baœ!bdt!bdt \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3c522a009f0840d4 b/casr/tests/casr_tests/casrep/test_libafl_crashes/3c522a009f0840d4 new file mode 100644 index 00000000..0184f885 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/3c522a009f0840d4 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3db2c5f5f20a6c06 b/casr/tests/casr_tests/casrep/test_libafl_crashes/3db2c5f5f20a6c06 new file mode 100644 index 00000000..ebfdde95 --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/3db2c5f5f20a6c06 @@ -0,0 +1 @@ +bay!aaaaaaaaaOaaaaab9OOOOOO \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3ee15eb0d608c261 b/casr/tests/casr_tests/casrep/test_libafl_crashes/3ee15eb0d608c261 new file mode 100644 index 00000000..1d1a85d9 --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/3ee15eb0d608c261 @@ -0,0 +1 @@ +badd!bdddddddddddd{€d \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3f0b1ca8ddc4ce4b b/casr/tests/casr_tests/casrep/test_libafl_crashes/3f0b1ca8ddc4ce4b new file mode 100644 index 00000000..e689be69 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/3f0b1ca8ddc4ce4b differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3f6d720793b7d310 b/casr/tests/casr_tests/casrep/test_libafl_crashes/3f6d720793b7d310 new file mode 100644 index 00000000..0f942eb5 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/3f6d720793b7d310 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/3fef267b2495a59b b/casr/tests/casr_tests/casrep/test_libafl_crashes/3fef267b2495a59b new file mode 100644 index 00000000..9f7b98d9 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/3fef267b2495a59b differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/518283939a588d8a b/casr/tests/casr_tests/casrep/test_libafl_crashes/518283939a588d8a new file mode 100644 index 00000000..5aff56c7 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/518283939a588d8a differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/52000ea4b18030cf b/casr/tests/casr_tests/casrep/test_libafl_crashes/52000ea4b18030cf new file mode 100644 index 00000000..23a2cebb Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/52000ea4b18030cf differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/530e0633db171fab b/casr/tests/casr_tests/casrep/test_libafl_crashes/530e0633db171fab new file mode 100644 index 00000000..fb046e53 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/530e0633db171fab differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/536c92501d50621d b/casr/tests/casr_tests/casrep/test_libafl_crashes/536c92501d50621d new file mode 100644 index 00000000..85c010d3 --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/536c92501d50621d @@ -0,0 +1 @@ +baœ!`da…žž|€"c@ \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/55b9e4ed649a9b2c b/casr/tests/casr_tests/casrep/test_libafl_crashes/55b9e4ed649a9b2c new file mode 100644 index 00000000..6d27d4ac Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/55b9e4ed649a9b2c differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/55b9e4ed649a9b2c-2 b/casr/tests/casr_tests/casrep/test_libafl_crashes/55b9e4ed649a9b2c-2 new file mode 100644 index 00000000..6d27d4ac Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/55b9e4ed649a9b2c-2 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/561a683ba9704384 b/casr/tests/casr_tests/casrep/test_libafl_crashes/561a683ba9704384 new file mode 100644 index 00000000..5e37d8c3 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/561a683ba9704384 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/56e8bb5a91d84766 b/casr/tests/casr_tests/casrep/test_libafl_crashes/56e8bb5a91d84766 new file mode 100644 index 00000000..2b36a125 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/56e8bb5a91d84766 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/570696203db05e1d b/casr/tests/casr_tests/casrep/test_libafl_crashes/570696203db05e1d new file mode 100644 index 00000000..3514d786 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/570696203db05e1d differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/578b0f7ab44df6bb b/casr/tests/casr_tests/casrep/test_libafl_crashes/578b0f7ab44df6bb new file mode 100644 index 00000000..6e873220 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/578b0f7ab44df6bb differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/57aae74e7beb9c0c b/casr/tests/casr_tests/casrep/test_libafl_crashes/57aae74e7beb9c0c new file mode 100644 index 00000000..17535b98 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/57aae74e7beb9c0c differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/598c2caa0c443ae1 b/casr/tests/casr_tests/casrep/test_libafl_crashes/598c2caa0c443ae1 new file mode 100644 index 00000000..415ad582 --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/598c2caa0c443ae1 @@ -0,0 +1 @@ +bad€! !!!!!!!!!!!!!!!!!! \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/5c05ed070bd7f163 b/casr/tests/casr_tests/casrep/test_libafl_crashes/5c05ed070bd7f163 new file mode 100644 index 00000000..1112b581 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/5c05ed070bd7f163 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/5c87060ead494ea7 b/casr/tests/casr_tests/casrep/test_libafl_crashes/5c87060ead494ea7 new file mode 100644 index 00000000..0e3d527d Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/5c87060ead494ea7 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/5d9deb7e28475d24 b/casr/tests/casr_tests/casrep/test_libafl_crashes/5d9deb7e28475d24 new file mode 100644 index 00000000..690f8a5b --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/5d9deb7e28475d24 @@ -0,0 +1 @@ +ba!!b!!!!!!!!!!!!!!b!!!!!!! \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/5db112a616fdda94 b/casr/tests/casr_tests/casrep/test_libafl_crashes/5db112a616fdda94 new file mode 100644 index 00000000..91ae1518 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/5db112a616fdda94 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/5f19f1c790b0ad8d b/casr/tests/casr_tests/casrep/test_libafl_crashes/5f19f1c790b0ad8d new file mode 100644 index 00000000..fcc53d78 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/5f19f1c790b0ad8d differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/5fd57befe1ca3c11 b/casr/tests/casr_tests/casrep/test_libafl_crashes/5fd57befe1ca3c11 new file mode 100644 index 00000000..ac8405c5 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/5fd57befe1ca3c11 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7102d1e1931f824a b/casr/tests/casr_tests/casrep/test_libafl_crashes/7102d1e1931f824a new file mode 100644 index 00000000..b6ba1f09 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7102d1e1931f824a differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7127154cb88c9ef0 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7127154cb88c9ef0 new file mode 100644 index 00000000..66429200 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7127154cb88c9ef0 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/71971d884a6e111f b/casr/tests/casr_tests/casrep/test_libafl_crashes/71971d884a6e111f new file mode 100644 index 00000000..8c388317 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/71971d884a6e111f differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/724ea79197f7b549 b/casr/tests/casr_tests/casrep/test_libafl_crashes/724ea79197f7b549 new file mode 100644 index 00000000..beb3537d Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/724ea79197f7b549 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/745015105fce229c b/casr/tests/casr_tests/casrep/test_libafl_crashes/745015105fce229c new file mode 100644 index 00000000..5b7e51ae Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/745015105fce229c differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7572960aee40ca9d b/casr/tests/casr_tests/casrep/test_libafl_crashes/7572960aee40ca9d new file mode 100644 index 00000000..82f0fb04 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7572960aee40ca9d differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/764afa719460ad15 b/casr/tests/casr_tests/casrep/test_libafl_crashes/764afa719460ad15 new file mode 100644 index 00000000..1a5d595b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/764afa719460ad15 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/767d385753261670 b/casr/tests/casr_tests/casrep/test_libafl_crashes/767d385753261670 new file mode 100644 index 00000000..fa4dd6da Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/767d385753261670 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7691731dc574eba6 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7691731dc574eba6 new file mode 100644 index 00000000..437c9d40 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7691731dc574eba6 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7797690330052e1b b/casr/tests/casr_tests/casrep/test_libafl_crashes/7797690330052e1b new file mode 100644 index 00000000..d5110457 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7797690330052e1b differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7920bce1b9d32f24 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7920bce1b9d32f24 new file mode 100644 index 00000000..24611085 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7920bce1b9d32f24 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7995c6542170f2ea b/casr/tests/casr_tests/casrep/test_libafl_crashes/7995c6542170f2ea new file mode 100644 index 00000000..b392022b Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7995c6542170f2ea differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/79ab49fb1175d0b7 b/casr/tests/casr_tests/casrep/test_libafl_crashes/79ab49fb1175d0b7 new file mode 100644 index 00000000..95777a91 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/79ab49fb1175d0b7 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/79d34bbd69af6b84 b/casr/tests/casr_tests/casrep/test_libafl_crashes/79d34bbd69af6b84 new file mode 100644 index 00000000..bdddf072 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/79d34bbd69af6b84 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7b7f80fd3f8453d9 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7b7f80fd3f8453d9 new file mode 100644 index 00000000..06034440 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7b7f80fd3f8453d9 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7bbecd1a7fb46fa8 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7bbecd1a7fb46fa8 new file mode 100644 index 00000000..ec240050 --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/7bbecd1a7fb46fa8 @@ -0,0 +1,2 @@ +bada! + diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7d8bceaf536db3e2 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7d8bceaf536db3e2 new file mode 100644 index 00000000..0a6ff5db Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7d8bceaf536db3e2 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7da409fd51000e91 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7da409fd51000e91 new file mode 100644 index 00000000..1ab3a0f5 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7da409fd51000e91 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7f5f00ab1cdf279a b/casr/tests/casr_tests/casrep/test_libafl_crashes/7f5f00ab1cdf279a new file mode 100644 index 00000000..2fbe1e46 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7f5f00ab1cdf279a differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/7f6b35191a345888 b/casr/tests/casr_tests/casrep/test_libafl_crashes/7f6b35191a345888 new file mode 100644 index 00000000..6da10a62 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/7f6b35191a345888 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/93df7761d4a890a6 b/casr/tests/casr_tests/casrep/test_libafl_crashes/93df7761d4a890a6 new file mode 100644 index 00000000..77e39373 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/93df7761d4a890a6 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/93e865a1bf43bfb4 b/casr/tests/casr_tests/casrep/test_libafl_crashes/93e865a1bf43bfb4 new file mode 100644 index 00000000..325df2ed Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/93e865a1bf43bfb4 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9695c465722928db b/casr/tests/casr_tests/casrep/test_libafl_crashes/9695c465722928db new file mode 100644 index 00000000..037b8dda Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9695c465722928db differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9a1de46757e5b54b b/casr/tests/casr_tests/casrep/test_libafl_crashes/9a1de46757e5b54b new file mode 100644 index 00000000..23e4f479 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9a1de46757e5b54b differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9a5a579ee2a5a42e b/casr/tests/casr_tests/casrep/test_libafl_crashes/9a5a579ee2a5a42e new file mode 100644 index 00000000..cef24277 --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/9a5a579ee2a5a42e @@ -0,0 +1 @@ +baœ!bddbad€ÿÿÿdddddd!c \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9afc72bcb5553a26 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9afc72bcb5553a26 new file mode 100644 index 00000000..62a371a5 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9afc72bcb5553a26 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9b3f17baff815160 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9b3f17baff815160 new file mode 100644 index 00000000..cc040b3a --- /dev/null +++ b/casr/tests/casr_tests/casrep/test_libafl_crashes/9b3f17baff815160 @@ -0,0 +1 @@ +ba!bþÿÿÿ \ No newline at end of file diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9b64926e1d83ae36 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9b64926e1d83ae36 new file mode 100644 index 00000000..426323fe Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9b64926e1d83ae36 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9b787931bea73fb9 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9b787931bea73fb9 new file mode 100644 index 00000000..fcad3279 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9b787931bea73fb9 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9baf7879d7ff5700 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9baf7879d7ff5700 new file mode 100644 index 00000000..2aad6403 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9baf7879d7ff5700 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9d366f483d09b2d8 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9d366f483d09b2d8 new file mode 100644 index 00000000..624f2f5f Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9d366f483d09b2d8 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9fc0ee5f689ac8c7 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9fc0ee5f689ac8c7 new file mode 100644 index 00000000..407dd558 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9fc0ee5f689ac8c7 differ diff --git a/casr/tests/casr_tests/casrep/test_libafl_crashes/9fef44b02ed0f366 b/casr/tests/casr_tests/casrep/test_libafl_crashes/9fef44b02ed0f366 new file mode 100644 index 00000000..f157cad1 Binary files /dev/null and b/casr/tests/casr_tests/casrep/test_libafl_crashes/9fef44b02ed0f366 differ diff --git a/casr/tests/tests.rs b/casr/tests/tests.rs index 7971d4cb..6f39105a 100644 --- a/casr/tests/tests.rs +++ b/casr/tests/tests.rs @@ -6163,3 +6163,102 @@ fn test_casr_afl_csharp_ignore_cmd() { let _ = fs::remove_dir_all(&paths[4]); let _ = fs::remove_dir_all(&paths[5]); } + +#[test] +#[cfg(target_arch = "x86_64")] +fn test_casr_libfuzzer_libafl() { + use std::collections::HashMap; + + let paths = [ + abs_path("tests/casr_tests/casrep/test_libafl_crashes"), + abs_path("tests/tmp_tests_casr/casr_libafl_out"), + ]; + + let _ = fs::remove_dir_all(&paths[1]); + let _ = fs::create_dir(abs_path("tests/tmp_tests_casr")); + let _ = fs::copy( + abs_path("tests/casr_tests/bin/test_libafl_fuzzer"), + "/tmp/test_libafl_fuzzer", + ); + + let bins = Path::new(*EXE_CASR_LIBFUZZER.read().unwrap()) + .parent() + .unwrap(); + let output = Command::new(*EXE_CASR_LIBFUZZER.read().unwrap()) + .args([ + "-i", + &paths[0], + "-o", + &paths[1], + "--", + "/tmp/test_libafl_fuzzer", + "@@", + ]) + .env( + "PATH", + format!("{}:{}", bins.display(), std::env::var("PATH").unwrap()), + ) + .output() + .expect("failed to start casr-libfuzzer"); + + assert!( + output.status.success(), + "Stdout {}.\n Stderr: {}", + String::from_utf8_lossy(&output.stdout), + String::from_utf8_lossy(&output.stderr) + ); + let res = String::from_utf8_lossy(&output.stderr); + + assert!(!res.is_empty()); + + let re = Regex::new(r"Number of reports after deduplication: (?P\d+)").unwrap(); + let unique_cnt = re + .captures(&res) + .unwrap() + .name("unique") + .map(|x| x.as_str()) + .unwrap() + .parse::() + .unwrap(); + + assert_eq!(unique_cnt, 5, "Invalid number of deduplicated reports"); + + let re = Regex::new(r"Number of clusters: (?P\d+)").unwrap(); + let clusters_cnt = re + .captures(&res) + .unwrap() + .name("clusters") + .map(|x| x.as_str()) + .unwrap() + .parse::() + .unwrap(); + + assert_eq!(clusters_cnt, 5, "Invalid number of clusters"); + + let mut storage: HashMap = HashMap::new(); + for entry in fs::read_dir(&paths[1]).unwrap() { + let e = entry.unwrap().path(); + let fname = e.file_name().unwrap().to_str().unwrap(); + if fname.starts_with("cl") && e.is_dir() { + for file in fs::read_dir(e).unwrap() { + let mut e = file.unwrap().path(); + if e.is_file() && e.extension().is_some() && e.extension().unwrap() == "casrep" { + e = e.with_extension(""); + if e.extension().is_some() && e.extension().unwrap() == "gdb" { + e = e.with_extension(""); + } + } + let fname = e.file_name().unwrap().to_str().unwrap(); + if let Some(v) = storage.get_mut(fname) { + *v += 1; + } else { + storage.insert(fname.to_string(), 1); + } + } + } + } + + assert!(storage.values().all(|x| *x == 2)); + let _ = fs::remove_file("/tmp/test_libafl_fuzzer"); + let _ = fs::remove_dir_all(&paths[1]); +} diff --git a/docs/usage.md b/docs/usage.md index be98355f..0032d8f9 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -16,8 +16,9 @@ crashes found by [AFL++](https://github.com/AFLplusplus/AFLplusplus) and AFL-based fuzzer [Sharpfuzz](https://github.com/Metalnem/sharpfuzz). `casr-libfuzzer` can triage crashes found by [libFuzzer](https://www.llvm.org/docs/LibFuzzer.html) (libFuzzer, go-fuzz, -Atheris, Jazzer, Jazzer.js, jsfuzz). `casr-dojo` allows to upload new and -unique CASR reports to [DefectDojo](https://github.com/DefectDojo/django-DefectDojo). +Atheris, Jazzer, Jazzer.js, jsfuzz) or by [LibAFL](https://github.com/AFLplusplus/LibAFL) based +[fuzzers](https://github.com/AFLplusplus/LibAFL/tree/main/fuzzers). +`casr-dojo` allows to upload new and unique CASR reports to [DefectDojo](https://github.com/DefectDojo/django-DefectDojo). `casr-cli` is meant to provide TUI for viewing reports and converting them into SARIF report. Reports triage (deduplication, clustering) is done by `casr-cluster`. @@ -576,7 +577,7 @@ your project before (via `dotnet build` or `dotnet publish`) and specify `--no-b ## casr-libfuzzer Triage crashes found by libFuzzer based fuzzer -(C/C++/go-fuzz/Atheris/Jazzer/Jazzer.js/jsfuzz) +(C/C++/go-fuzz/Atheris/Jazzer/Jazzer.js/jsfuzz) or LibAFL based fuzzer Usage: casr-libfuzzer [OPTIONS] --output -- ... @@ -592,7 +593,7 @@ Triage crashes found by libFuzzer based fuzzer Timeout (in seconds) for target execution, 0 means that timeout is disabled [default: 0] -i, --input - Directory containing crashes found by libFuzzer [default: .] + Directory containing crashes found by libFuzzer or LibAFL [default: .] -o, --output Output directory with triaged reports --join @@ -618,7 +619,8 @@ Triage crashes found by libFuzzer based fuzzer [libFuzzer](https://www.llvm.org/docs/LibFuzzer.html) based fuzzers (C/C++/[go-fuzz](https://github.com/dvyukov/go-fuzz)/[Atheris](https://github.com/google/atheris)/ [Jazzer](https://github.com/CodeIntelligenceTesting/jazzer)/[Jazzer.js](https://github.com/CodeIntelligenceTesting/jazzer.js)/ -[jsfuzz](https://github.com/fuzzitdev/jsfuzz)). +[jsfuzz](https://github.com/fuzzitdev/jsfuzz)) or [LibAFL](https://github.com/AFLplusplus/LibAFL) based +[fuzzers](https://github.com/AFLplusplus/LibAFL/tree/main/fuzzers). It is pretty much like `casr-afl`. libFuzzer example: @@ -644,6 +646,10 @@ Jazzer.js example (Jazzer.js installation [guide](https://github.com/CodeIntelli $ sudo npm install --save-dev @jazzer.js/core $ casr-libfuzzer -i ./xml2js -o casr/tests/tmp_tests_casr/xml2js_fuzzer_out/out -- npx jazzer casr/tests/tmp_tests_casr/xml2js_fuzzer_out/xml2js_fuzzer.js +LibAFL example: + + $ casr-libfuzzer -i casr/tests/casr_tests/casrep/test_libafl_crashes -o casr/tests/tmp_tests_casr/casr_libafl_out -- casr/tests/casr_tests/bin/test_libafl_fuzzer @@ + You can set environment variable `RUST_BACKTRACE=(1|full)` for `casr-libfuzzer`. This variable may be used by [casr-san](#casr-san).