1162 Commits

Author SHA1 Message Date
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
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
Dominik Maier
36a082048d
CI for libafl-fuzz (#2554) 2024-09-24 16:18:06 +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
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
fb3837f725 fix out of bounds interrupt mutation 2024-09-17 17:09:48 +02:00
a9ce2d787b fix flags 2024-09-16 15:58:19 +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
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
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
740ce09d31 configurable interrupt sources 2024-09-09 10:56:39 +02:00
288abeb6bf prepare multiple interrupt sources 2024-09-06 08:38:30 +02:00
Dongjia "toka" Zhang
49b0d7557a
Fix merge failure (#2508) 2024-09-05 14:49:37 +02:00
ee737b9eb8 improve benchmark scripts and excution fixes 2024-09-05 09:55:21 +02:00
Romain Malmain
203d3d340a
Multi machine follow-up (#2334)
* improved tree generator.
possibility to dump state on exit.

* warnings.

* clippy

* clippy

* aaaaaa

* aaaaaa

* make nix mandatory for unix

* stddddddd

* stddddddd

* stddddddd

* aaa

* clippy

* doc

* aaa

* aaa

* aaa

* aaa

* fix

* aaaaaaaa

* dump state

* aaa

* aaa

* aaa

* more minimal dump

* aaa

* aaa

* aaa

* simpler tc dump

* pub

* more pub

* revert a bit

* release by default

* delete Makefile.toml

* release

* dump execs

* merge

* delete stuff

* aa

* ff

* dig

* FMT cargo stuf

---------

Co-authored-by: Toka <tokazerkje@outlook.com>
2024-09-04 18:42:54 +02:00
6929073069 update benchmark script 2024-09-02 16:26:58 +02:00
8adc1e2624 debug msg ++ 2024-09-02 15:53:59 +02:00
06b523fb9f fix release-resposne matching bug 2024-08-30 14:02:21 +02:00
a613a803ca detect job releases during race-conditions 2024-08-29 11:24:32 +02:00
2c00f82d39 fix task releases with nested interrupts 2024-08-28 14:16:03 +02:00
461731cc5a fix: fallback to 0 response-time if target job did not finish 2024-08-27 13:15:38 +02:00
Aarnav
3ca906b7d3
Libafl-fuzz: fix unicorn mode (#2502)
* libafl-fuzz: fix unicorn mode not using a deferred forkserver
libafl-fuzz: simplify handling args for harness

* fix unicorn_mode

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-08-26 19:30:38 +02:00
0b4e9bdab7 add time helper function 2024-08-26 15:50:59 +02:00
11028d7aae change interrupt randomization rule 2024-08-26 15:46:11 +02:00
ae6b3c0650 maybe fix interrupt bytes not changing 2024-08-26 15:45:32 +02:00
8e885f6e85 fix some helper-scripts 2024-08-26 15:20:48 +02:00
9d83ddbd69 low prio warnings-- 2024-08-26 15:18:46 +02:00
c785e0db86 fix jobs with response==release 2024-08-26 15:18:46 +02:00
a18a5f9bcf fix everything interesting 2024-08-26 15:10:12 +02:00
Aarnav
07db74b416
Libafl-fuzz: introduce unicorn mode (#2499)
* libafl-fuzz: introduce unicorn mode

* taplo format

* libafl-fuzz: fix qemumode

* taplo format
2024-08-26 11:32:44 +02:00