3207 Commits

Author SHA1 Message Date
Romain Malmain
42b3199807
Change action for MD link checks (#2563)
* change MD link action checker

* fix md files
2024-09-26 16:29:32 +02:00
Dominik Maier
0c2b821d37
Clippy more (#2562) 2024-09-26 14:32:52 +02:00
Romain Malmain
c944a70056
Linux kernel fuzzing example (#2496)
* linux kernel (x509_cert) and process fuzzing example

* rework filters

* update to latest qemu

* working for process and kernel fuzzing

* new i2s mutator for binary only fuzzers

* refactoring modules with new filtering interface

* add state as parameter of harness

* hide unused global in usermode

* Script for stub bindings generation

* do not try to check whether it is worth generating the bindings, always
  generate when the env variable is on.

* add taplo to fmt_all.sh

* Moved fuzzers (again) in a target-centric way.

* fix rust 2024 warnings.

* new libafl_qemu harness structure.

* rename qemu_systemmode into qemu_baremetal

* fix qemu baremetal makefile

* fix formatter

---------

Co-authored-by: Toka <tokazerkje@outlook.com>
2024-09-26 14:29:33 +02:00
Nils Bars
5ab7a07f14
Only track stability for runs that did not timeout (#2561) 2024-09-26 14:12:33 +02:00
Dongjia "toka" Zhang
3d1f0bfb0d
Fix CI (#2557)
* libafl-fuzz: fix id collision in Solution corpora

* libafl-fuzz: use dynamic map size

* print

* use PROJECT_DIR

* tmate

* idk

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* a'

---------

Co-authored-by: aarnav <aarnav@srlabs.de>
2024-09-25 15:45:48 +02:00
Dan Blackwell
4e54182b35
Use const to Inform CmpLog Replacements (#2528)
* Add some knowledge of const parameters in cmplogs

* Careful with the CmpLog unions and clean macros

* Fix for macros?

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-09-24 17:16:07 +02:00
Dominik Maier
36a082048d
CI for libafl-fuzz (#2554) 2024-09-24 16:18:06 +02:00
Dominik Maier
2bc211cc86
Make map size mismatch return a proper error instead of abort (#2553)
* Make map size mismatch return a proper error instead of abort

* More illegal state
2024-09-24 15:09:39 +02:00
Dominik Maier
c559b856e6
Clippy for LibAFL_QEMU (#2552) 2024-09-24 15:05:16 +02:00
Sharad Khanna
629a560f3b
MacOS frida ASAN fix (#2510)
* Add asan fix

* fmt

* ASAN linux fix

* Revert fmt

* Fix libafl_cc

* do fmt

* revert libaflcc

* clippy + fmt

* clippy

* change assert

* fix unpoison + other issues

* fmt

* format toml

* explore submaps

* fmt
2024-09-24 07:56:27 +03:00
Andrea Fioraldi
72893797b4
Fix panic in mmap shmem when full_file_name is less than MAX_MMAP_FILENAME_LEN (#2536)
* Fix panic in mmap shmem

* duh

* clippy

* fix null bytes

---------

Co-authored-by: Dominik Maier <dmnk@google.com>
2024-09-24 03:37:03 +02:00
Nils Bars
bacbffa6c1
Keep num_covered_map_indexes in sync with history map if block listing flaky entries (#2542) 2024-09-24 03:31:32 +02:00
Dominik Maier
f0d85aaaa5
No more (direct) mutable references to mutable statics (#2550)
* No more (direct) mutable references to mutable statics

* More

* Fix build, but it's unsafe dude

* more

* fmt

* More fix

* more?
2024-09-24 03:29:49 +02:00
Dominik Maier
691fd1f8cb
Make LibAFL-fuzz build on MacOS (#2549)
* Make LibAFL-fuzz build on MacOS

* Works on MacOS

* Update AFL++

* libafl-fuzz: fix CI cmplog (#2548)

* undo

* clippy

* clippy

---------

Co-authored-by: Aarnav <aarnavbos@gmail.com>
2024-09-24 03:25:20 +02:00
Dongjia "toka" Zhang
967449e3cb
Fix CI (somewhat) (#2546)
* fix ci

* a

* order

* libafl-fuzz: fix CI cmplog (#2548)

---------

Co-authored-by: Aarnav <aarnavbos@gmail.com>
2024-09-24 03:18:15 +02:00
Aarnav
7432bd0f59
libafl-fuzz: fix libafl-fuzz scheduler (#2545) 2024-09-23 18:56:09 +02:00
Aarnav
085db55f19
libafl-fuzz: fix not loading seeds recursively from directories (#2532)
* libafl-fuzz: fix not loading seeds recursively from directories

* add walk_initial_inputs to State

* libafl-fuzz: add afl++ style seed filename when copying initial files

* typo
2024-09-23 18:55:01 +02:00
Dongjia "toka" Zhang
cbfd194723
Reducing type parameters and bounds from Scheduler (#2544)
* actually reducing type parameters

* no std

* aa

* aa

* a
2024-09-23 17:01:21 +02:00
Dominik Maier
35779863c4
Bring back placeholder value in CommandExecutor to fix #2541 (#2543) 2024-09-23 15:59:06 +02:00
Dominik Maier
173a9ad8ea
Fix ForkserverExecutorBuilder::shmem_provider (#2539) (#2540)
* Fix ForkserverExecutorBuilder::shmem_provider (#2539)

* fmt
2024-09-23 14:15:11 +02:00
Dongjia "toka" Zhang
93fdbb604c
No Uses* (again) (#2537)
* ihatethislanguageihatethislanguageihatethislanguageihatethislanguage

* 1

* a

* fuck

* FMTFMTFMTFMTFMTFMT

* 👍

* afasdfadsfs

* lol

* aa

* a bit more
2024-09-23 14:03:24 +02:00
Valentin Huber
e370e2f852
Code Cleanup of #2422 (#2534)
* code cleanup

* removing another unnecessary borrow

* cleaning up the cleanup
2024-09-20 17:39:09 +02:00
Valentin Huber
2c676f0352
Add MappedInputs to allow havoc muations for custom (sub-)inputs (#2422)
* introducing MappingMutator

* extending mapping mutators

* adding example fuzzer

* making crossover mutators more flexible.

* moving example fuzzer

* fixing dependency paths

* formatting

* fixing no std error

* fixing broken docs link

* fixing import paths

* fixing imports

* more format fixing

* adding new example fuzzer to CI

* fixing further imports

* fixing formatting

* formatting fixes

* improving docs for the example fuzzer

* adding documentation and tests to mapping mutators

* make extraction function for mapped crossover mutators more general

* adding MutVecFunctionMappingMutator

* Introducing WrapsReference

* code cleanup for mapping mutators

* adding tests and docs to mapping mutators

* reformatting comments

* fixing merging of mutators in example fuzzer

* formatting

* formatting v2

* cleanup according to PR comments

* adding type constraint to MappedInput helper functions to remove the need to specify types

* matching functions passed to mapped_havoc_mutations

* removing unnecessary constraints

* mapping mutators now contain the name of their inner mutator

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-09-18 23:23:04 +02:00
Dongjia "toka" Zhang
5b7d307a6a
Add avoid_crash option to scheduler (#2530)
* chg

* add avoid_crash

* a

* clp

* just use .00 at this point

* libafl-fuzz chg
2024-09-18 17:57:40 +02:00
Dongjia "toka" Zhang
902571c0c7
Delete pruning.rs (#2533)
* set AFL_MAP_SIZE

* delete it
2024-09-18 17:35:31 +02:00
Dongjia "toka" Zhang
4e302a2115
Set AFL_MAP_SIZE in forkserver (#2531)
* set AFL_MAP_SIZE

* aaaaaaa
2024-09-18 17:03:48 +02:00
Dongjia "toka" Zhang
cf87895aaa
Change qemu signature (again) (#2529) 2024-09-18 14:48:53 +02:00
fb3837f725 fix out of bounds interrupt mutation 2024-09-17 17:09:48 +02:00
Dongjia "toka" Zhang
4c5df53c6d
Change Qemu hook signature (#2527) 2024-09-17 17:05:11 +02:00
Nereuxofficial
69941f258e
Small improvements to the devcontainer (#2522)
* feat: revert now unecessary workaround, use rust-lang.rust-analyzer

* fix: specify llvm version and symlink llvm. Thanks @tokatoka

* fix: pass the llvm version to createAliases.sh

* fix: shell script lints

* fix: shell script lints

* feat: use cargo binstall to make the container build faster
2024-09-16 22:53:28 +02:00
a9ce2d787b fix flags 2024-09-16 15:58:19 +02:00
Marco C.
37f2d2dd0a
Move cfg to avoid unused import error (#2526) 2024-09-16 15:19:01 +02:00
0d89787728 use smaller seeds for testing 2024-09-16 14:52:42 +02:00
Dominik Maier
a168d76b14
Tiny clippy (#2525) 2024-09-16 12:21:58 +02:00
20urc3
71ed5c7227
Update how exec/sec is displayed (#2524)
- Only display 1 digit after . for value above 1k
- Only display 2 digits after . for value above 1m

3.254k exec/sec becomes => 3.2k exec/sec
3.254M exec/sec becomes => 3.25M exec/sec
2024-09-13 21:03:18 +02:00
5b662397be fix array index 2024-09-12 16:02:11 +02:00
b390315a5d fix ambiguity 2024-09-12 15:48:46 +02:00
26452d9a0d config generation 2024-09-12 13:43:53 +02:00
8165fd7cfc refactor interrupt mutation 2024-09-12 13:19:28 +02:00
835d1e1a79 seed 10k 2024-09-12 09:18:02 +02:00
Dominik Maier
8ccff4b77f
Add StdState::nop() for simple state creation, make CI happy again on latest nightly. (#2521)
* Make CI happy again on latest nightly

* Fix build

* Unneeded comment

* fix tests

* clippy
2024-09-12 00:33:55 +02:00
e6cf64541d better seeding + trace cutout 2024-09-10 16:18:25 +02:00
6a98489e32 fixes++ 2024-09-10 11:22:46 +02:00
90acd4fc9f fix scripts 2024-09-10 11:11:37 +02:00
db037f5015 fix empty interrupt config 2024-09-10 10:45:37 +02:00
7896342ed9 fix target names 2024-09-10 10:40:52 +02:00
7139a94a1b adapt scripts 2024-09-09 16:07:03 +02:00
7ad2f6fa6b rename keys 2024-09-09 16:06:41 +02:00
5648faefa7 fix all_bins 2024-09-09 12:55:30 +02:00
3bb42150d3 unify fuzzing with and without interrupts 2024-09-09 12:51:23 +02:00