2818 Commits

Author SHA1 Message Date
s1341
751d96f45a
libafl_cc: Add override env vars to configure LLVM (#1310)
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-06-09 16:55:31 +02:00
Dominik Maier
62b1bde7a9
Fix AnyMap for TypeIds with 128 bit (#1311)
* Fix AnyMap for TypeIds with 128 bit

* make const

* added test, removed static_assertions
2023-06-09 14:06:42 +02:00
Daniel Blackwell
fa63493cee
Fix for issue with CommandExecutor when using InputLocation::StdIn (issue #1306) (#1308)
Co-authored-by: dan <dan@localhost.localdomain>
2023-06-08 16:25:20 +02:00
Dimitri Kokkonis
7d67fc77b5
Give baby fuzzer listings unique package names (#1307)
As discussed in [#1305], it is problematic for the listings to have the
same package name, as they cause warnings to be emitted.
2023-06-08 15:23:39 +02:00
Addison Crump
60c1990f4a
Make it possible to escape from simple event restarter (#1303) 2023-06-06 23:43:41 +02:00
WorksButNotTested
747a636f4f
Add sample fuzzer which collects DrCov coverage for various architect… (#1300)
* Add sample fuzzer which collects DrCov coverage for various architectures using QEMU instrumentation

* Fix clippy

* Rename NullCorpus to NopCorpus

* Added support for verbose output

* Attempt to fix clippy again

* Fix remaining defaults to use x86_64 when no arch specified and be more robust handling partial builds

* Make build even more robust against partial re-builds

* Added missing dependencies to workflow, updated README

* Add missing dependencies for i386

* Another dependency

* More dependencies

* Disable tests on OSX

* Add tmate

* Add missing dependencies and symlink header directory

* Tidy up after test so we don't hog all the disk space

---------

Co-authored-by: Your Name <you@example.com>
2023-06-06 11:50:38 +02:00
Dongjia "toka" Zhang
fa1e3fd504
CI (#1301)
* ci

* fi

* Revert "fi"

This reverts commit ed298d71057607f019e64d58687273a01d30e260.

* Revert "ci"

This reverts commit 6b65936990143a6069abd56dcbe633ac37be2ede.

* fi
2023-06-05 16:29:51 +02:00
Andrea Fioraldi
356698c24b
Update to QEMU 8 (#1299)
* Update to QEMU 8

* fix

* fix snapshots

* fix pcrel
2023-06-02 18:24:07 +02:00
Dongjia "toka" Zhang
8445ae54b3
Allow multiple source file in libafl_cc (#1296)
* add

* clp

* fi

* fmt
2023-05-26 11:35:04 +02:00
WorksButNotTested
0336eae908
Tidy libaf_qemu hooks (#1293)
* Simplify hooks

* More simplification

* Appease the clippy gods

---------

Co-authored-by: Your Name <you@example.com>
2023-05-25 00:24:28 +02:00
Dongjia "toka" Zhang
594ce420fc
Fix libafl_cc (#1295)
* push

* fix
2023-05-24 18:44:13 +02:00
WorksButNotTested
53dd6c6be6
Post gen (#1282)
* Add post_gen

* Adopt post_gen hooks in DrCovHelper

* Bump qemu-libafl-bridge revision

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-05-24 16:03:59 +02:00
Andrea Fioraldi
258780370f
Update publish.sh (#1294) 2023-05-24 14:16:09 +02:00
Dimitri Kokkonis
89876f2d89
Use listings for baby_fuzzer book chapter (#1289)
* Clarify setup steps for the baby fuzzer

Specifically:
- Explicitly mention that the dependency path must point to a specific
  directory in the cloned repo (and not the root directory)
- Explicitly mention how to manually trigger the panic in the harness
  for testing purposes

* Clean up documentation on the baby fuzzer

Since the baby fuzzer chapter of the documentation is done in a
"tutorial", step-by-step fashion, it would be nice to be able to see
where exactly new lines have to be placed in the existing code. To that
end, the code used in the tutorial is moved to snippets (as is done in
the Rust Book), as it allows for much more convenient maintenance of the
snippets, as well as easy hiding of the non-important code on any given
snippet.

Furthermore, a few minor fixes are applied; a typo on a comment and a
missing unsafe block.

* Fix code snippet attributes for baby fuzzer

Specifically:
- Remove unnecessary `compile_fail` attribute
- Add `ignore` attribute to the snippets of the complete baby fuzzer. As
  explained in [#1290], it is expected for the baby fuzzer to return a
  non-0 exit code, so this should not trigger a failure during `mdbook
  test`.

* Fix CLI snippet language

For CLI snippets, the "language" should be set to `console`.

* Remove nested safe block in baby_fuzzer listings
0.10.1
2023-05-24 12:18:26 +02:00
Rowan Hart
5a6d683fed
Add an observer for COUNTERS_MAPS for 8-bit SanCov (#1283)
* Add sancov multimap observer to sancov_8bit target

* Undo autofmt of Cargo.toml

* Fix formatting

* Fix import errors under no-default-features, add Safety to counters_maps_observer

* Make observer function no_mangle to allow it to easily be used in a staticlib crate

* Make clippy happy by using export_name instead of no_mangle

* Add observers feature flag and hide counters maps observer behind it

* Fix formatting
2023-05-23 23:31:07 +02:00
Dongjia "toka" Zhang
aa6d331110
Fix CI (#1292) 2023-05-23 18:07:54 +02:00
David CARLIER
dc82a53bec
minibsod dragonflybsd's portage (#1287) 2023-05-22 13:13:07 +02:00
Dongjia "toka" Zhang
2be9686a80
Fix clippy (#1288) 2023-05-22 13:12:43 +02:00
David CARLIER
b9b70b0d51
minibsod: generate_minibsod further memory maps data for freebsd. (#1285) 2023-05-22 12:43:31 +02:00
David CARLIER
0d7d52decf
afl_cc fix build for LLVM 17 (#1286) 2023-05-22 12:42:56 +02:00
Dongjia "toka" Zhang
6f21cb3848
Bump to 0.10.1 (#1280)
* bmp

* remove DEBUG env var
2023-05-22 12:42:36 +02:00
Dongjia "toka" Zhang
cba9df9a28
Delete gitmodules (#1278)
* fix

* rm
2023-05-18 13:07:10 +02:00
WorksButNotTested
4029069640
Disable capstone when building qemu-afl-bridge for user-mode fuzzing (#1281)
Co-authored-by: Your Name <you@example.com>
2023-05-18 00:47:59 +02:00
Dongjia "toka" Zhang
52557aefdd
Fix #1276 2023-05-17 15:39:21 +02:00
Dongjia "toka" Zhang
3fd5671909
add (#1276) 2023-05-17 15:22:49 +02:00
Dongjia "toka" Zhang
66127d8492
Revert "Don't pass LLVM pass & its args during linking (#1274)" (#1275)
This reverts commit efc5756e3fac9ed3b82e6d82b770b578b47b42d0.
2023-05-17 14:53:17 +02:00
Dongjia "toka" Zhang
efc5756e3f
Don't pass LLVM pass & its args during linking (#1274) 2023-05-17 14:32:56 +02:00
Dongjia "toka" Zhang
b7c1591b00
Linking arguments for LLVM passes (#1273) 2023-05-17 13:53:02 +02:00
Dominik Maier
20f8cb10eb
Revert "Automatically add the comment about executions when a new PR triggers (#1270)" (#1271)
This reverts commit d2e4b9f206307db0898caac707c0d2687079bfb1.
2023-05-17 02:48:15 +02:00
ToSeven
d2e4b9f206
Automatically add the comment about executions when a new PR triggers (#1270)
Co-authored-by: toseven <Byone.heng@gmail.com>
2023-05-17 00:30:15 +02:00
Arpan Kapoor
6d2284d8b9
Allow configuring timeout for CommandExecutor (#1269)
* Allow configuring timeout for CommandExecutor

* import Duration on windows as well

* fix example fuzzers
2023-05-15 12:59:06 +02:00
Addison Crump
1da621456f
Add check for if mutation succeeded, else skip processing (#1265) 2023-05-14 12:03:25 +02:00
ToSeven
659e91fb68
Fix performance regression detection in CI #1248 (#1259)
Co-authored-by: toseven <Byone.heng@gmail.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-05-14 12:02:32 +02:00
Dongjia "toka" Zhang
b9a540561b
Don't add llvm pass args when there're no passes & Don't pass -mllvm arguments when compiling asm files (#1266)
* f

* fix

* clp
2023-05-12 11:48:12 +02:00
intrigus-lgtm
91b10f8c40
LibAFL_qemu: Disable Capstone to fix build issues on some distributions (#1263) 2023-05-11 09:52:57 +02:00
Kevin Phoenix
6883c776ef
Update pyo3 crate to 0.18.3 (#1255)
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-05-10 20:01:51 +02:00
Lei Zhu
a2719cf559
Add suggestion for arg & args (#1257)
* Add suggestion for arg & args

* Make fmt happy

* Explain @@

* Spotlight afl-fuzz

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-05-10 13:53:40 +02:00
Dominik Maier
0c7d42d28b
Clippy Debug fixes (#1261) 2023-05-09 17:05:51 +02:00
Dongjia "toka" Zhang
52d557aa8f
Ecofuzz Fix 2 (#1262)
* finally works

* f
2023-05-09 16:45:20 +02:00
Kevin Phoenix
be1d3da159
Add pyproject.toml to python bindings (#1239)
* Add pyproject.toml to python bindings

* Improve pyproject.toml

* Update CI pipeline to use pip to install python bindings
2023-05-09 13:23:28 +02:00
Dominik Maier
8bd18ef007
Fix latest clippy (#1258)
* Fix latest clippy

* oops needs alloc
2023-05-09 13:17:57 +02:00
Dongjia "toka" Zhang
fe8c06dd8f
Eco fuzz fix (#1253)
* f

* more fix

* aaaaa

* f

* fix

---------

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-05-09 12:56:23 +02:00
Dongjia "toka" Zhang
721c02cd2c
Revert "Add a CI task that checks performance regression (#1248)" (#1254)
This reverts commit 6929c89b861faa4f382a51ab07e3ee1eb727df8c.
2023-05-04 20:03:06 +02:00
Addison Crump
a8e64be169
Alternative scheduled count strategy (#1252)
* early return generalization stage

* scheduled count

* aaa

* compile

* fix

* implement alternative scheduled count strategy

---------

Co-authored-by: toka <tokazerkje@outlook.com>
2023-05-04 13:15:28 +02:00
Tomas Duchac
53659f8a5c
Add file extension for clang in libafl_cc/build.rs (#1237)
* Add CLANG and CLANG_PP env vars

Add CLANG and CLANG_PP env variables for Windows. Resolves issue if clang and llvm-config are not in the same location.

* Just add clang".exe" for windows

User should have llvm-config and clang.exe clang++.exe in the same directory anyways.

* Ran cargo fmt
2023-05-04 11:52:51 +02:00
ToSeven
6929c89b86
Add a CI task that checks performance regression (#1248)
Co-authored-by: hengzh <byone.heng@gmail.com>
2023-05-04 11:51:42 +02:00
Arpan Kapoor
c8c5d89f33
Ignore 'Broken Pipe' if child process does not read all of stdin (#1244)
* Ignore 'Broken Pipe' if child process does not read all of stdin

* follow clippy suggestion
2023-05-03 15:45:27 +02:00
Dongjia "toka" Zhang
abd8efabd3
Add additional security sensitive functions for coverage accounting (#1246) 2023-05-03 15:45:07 +02:00
Dominik Maier
f9c74ed5d6
Update llvm for FreeBSD CI (#1243) 2023-05-03 11:45:49 +02:00
Dongjia "toka" Zhang
cf79d13d17
Change DumpToDiskStage's callback (#1242) 2023-05-03 11:16:53 +02:00