3198 Commits

Author SHA1 Message Date
Romain Malmain
18fb6a4197
[libafl-qemu-bridge] fix rpath regex for Ubuntu (#2609) 2024-10-11 18:56:51 +02:00
Dominik Maier
66a8682c9e
Add DrCov &.rerun options to QEMU_Launcher (#2607)
* Move all target-specific code to harness.rs

* Add IfModule to LibAFL_Qemu

* More more

* Added DrCov tracing

* Add DrCov rerun to launcher

* fixes
2024-10-11 16:02:01 +02:00
Dominik Maier
2bfed2d488
Move all target-specific code to harness.rs (#2605) 2024-10-11 12:41:42 +02:00
Dominik Maier
830941ce3a
Rename LibAFL_GdiPlus to _Windows_ (#2604)
* Rename LibAFL_GdiPlus to _Windows_

* Readme more
2024-10-11 10:52:39 +02:00
8f0e54053b WIP: try removing interrupts within min interarrival 2024-10-10 17:56:08 +02:00
2ca6fdf538 simplify stored execution times per testcase 2024-10-10 16:33:19 +02:00
Dongjia "toka" Zhang
19ccb0807c
Don't do generalization on larger inptus (#2603) 2024-10-10 16:13:08 +02:00
bae801c620 remove shortcut from benchmark features 2024-10-10 15:24:54 +02:00
04cfa7cea2 report interrupt mutation statistics 2024-10-10 15:15:23 +02:00
7586c51f6f disable release warnings 2024-10-10 15:14:56 +02:00
6d197274dd snakemake: increase build efficiency 2024-10-10 15:14:13 +02:00
Henry Chu
a69cd98432
Make ASAN log dumping optional (#2600) 2024-10-10 09:44:26 +02:00
jejuisland87654
efa99ee3c9
Fix error[E0308]: mismatched types for libafl_qemu_init (#2593) 2024-10-09 17:17:51 +02:00
Romain Malmain
c03653f7be
Remove useless allocation in colorization stage (#2598)
* do not allocate here

* clippy
2024-10-09 17:16:53 +02:00
cube0x8
1e4d38d744
Fix file sync timing and prevent crash on missing SyncFromDiskMetadata (#2595)
* max_time is the current_time(); SyncFromDiskMetadata might not be in state

* using metadata_or_insert_with
2024-10-09 17:16:32 +02:00
cube0x8
2b05e0a1fd
Do not start another logger in prometheus (#2599) 2024-10-09 17:15:56 +02:00
d4ee679d0e fix trace seection when no instance was found, comments++ 2024-10-09 16:16:12 +02:00
Romain Malmain
c1ddcb2eed
Update frida to 0.14.0 (#2596)
* update frida crate to the latest version

* adapt libafl_frida to the latest version of frida
2024-10-09 11:13:43 +02:00
Dongjia "toka" Zhang
c12c6f31e2
Change fuzzbench_qemu fuzzer (#2520)
* change fuzzbench_qemu

* real test

* fix qemu crash hook

* update bindings

* fix fork executor, reduce trait bound overhead

* make EdgeModule depend on observer to get ptrs.

* do not make EdgeCoverageModule::new public

* map observer as builder call

* adapt examples with new edge coverage module builder.

* TMP: everyone is a variable length map observer

* reuse profile path script

* fix absolute paths

* remove some dependencies to make pipeline faster

* compile-time builder initialization check

---------

Co-authored-by: Romain Malmain <romain.malmain@pm.me>
2024-10-08 15:18:13 +02:00
Romain Malmain
7344fdf059
Re-add drcov for both usermode and systemmode. (#2573)
* re-add drcov for both usermode and systemmode.
2024-10-07 14:20:11 +02:00
Dominik Maier
27677a6461
LibAFL_QEMU: Don't require extra_tokens. (#2576)
Co-authored-by: Romain Malmain <romain.malmain@pm.me>
2024-10-07 13:39:55 +02:00
Romain Malmain
1fbb18cb99
Versioning unification, dependencies update, logging optimization (#2560)
* versioning unification: use x.y.z format everywhere

* do not compile low-level logs (< info level) by default in fuzzers

* update dependencies to the latest versions

* add members to workspace.

* use workspace for common dependencies

* add vscode native support

---------

Co-authored-by: Toka <tokazerkje@outlook.com>
2024-10-07 12:03:29 +02:00
Dominik Maier
4fc136cd1c
Rand below should take a NonZero parameter (#2519)
* Rand below should take a NonZero parameter

* More

* more

* More

* fix build

* bit of clippy

* more clippy

* more clippy

* More clippy

* More more

* more nonzero

* fix multipart

* Cleanup, more unsafe

* fix

* fix unicode

* clippy, fmt

* more

* More safer and more better

* MaxStackPow

* fix merge fails

* make random_slize_size faster

* fix

* more

* fix
2024-10-04 02:16:10 +02:00
Romain Malmain
15157e0b72
Discard no tc mm (follow-up) (#2584)
* forgot to set the flags
2024-10-03 20:26:28 +02:00
Romain Malmain
9a50868058
Discard non-new testcase events for multi-machine messages (#2583)
* discard non-new testcase events

* clippy
2024-10-03 18:46:26 +02:00
Romain Malmain
9ceb9917a5
Do not embed client exec count in testcase and objective (#2582)
* do not include exec count in testcase

* remove exec count from objective as well

* fmt
2024-10-03 16:42:11 +02:00
Marco C.
9b0eccf73b
Do not require Sized for OwnedRefMut as_ref/as_mut (#2581) 2024-10-03 13:35:00 +02:00
Romain Malmain
76d52bcf49
Addr filter update helper functions (#2575)
* add filter update helpers

* fmt
2024-10-02 14:26:46 +02:00
Dongjia "toka" Zhang
cbce7ffdfd
No Uses* for Feedbacks (#2578)
* add from addison's change

* fixing

* one left

* adding

* 444444

* okoko

* no prelude

* i hate rust

* stuff

* no std/win

* getting closer

* a

* a

* aa

* a

* a

* libafl_fuzz

* toml

* tutorial

* libafl_libfuzzer
2024-10-02 14:07:08 +02:00
Dongjia "toka" Zhang
a212d66afe
No Uses* for Observers (#2568)
* first

* Round 2

* Round 3

* Round 4

* Round 5

* Round 6

* Round 7

* Round 8

* clp

* from windows

* roll back

* baby building

* doc

* no deref

* frida

* api

* a

* impl HasLen

* libafl-fuzz and fmt

* asan error

* Cargo toml

* who cares abotu freebsd seriously?????

* aaaa

* qemu stuf

* fixing what i can fix

* nyx

* more for qemu stuf

* fixup libfuzzer

* fix baby swap

* AsIterMut

* UsesObservers eliminated

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Addison Crump <addison.crump@cispa.de>
2024-10-01 17:51:09 +02:00
Romain Malmain
173aeddbcc
libafl multimachine: disable ratelimiting (#2558)
* disable rate limiting for now

* fix

* clippy

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-09-30 15:57:10 +02:00
Romain Malmain
17def0390d
fix (#2571) 2024-09-30 13:12:23 +02:00
Dominik Maier
82110472d6
Mark unsafe functions unsafe, as Ferris intended (#2559)
* Mark unsafe functions unsafe, as Ferris inteded

* More

* more safety?

* more fix

* actually safe

* More cleanup

* More fix

* more unsafe

* fix imports

* more unsafe

* fixes

* bring back the memories
2024-09-28 16:46:39 +02:00
20urc3
afb682bff2
Update README.md (#2518)
* Update README.md

Re-structure the first page to be a bit more appealing
- Regrouping getting started and fuzzer example in one sub-section
- Separate installation guide in a different sub-section
- Moving 'Why LibAFL'' further in the page
- Removing spacing/newline to group info together

* Update README.md

- Fixing typo
- Improving layout

* Update README.md

Cleaner readme
- overview and why libafl merged 
- resources and quick started cleaned

* Update README.md

- Build instruction before getting started

* Update README.md

* Update README.md

- Separate Why LibAFL and Overview section

* Update README.md

* Update README.md

* Update README.md

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-09-27 18:30:30 +02:00
Dominik Maier
d72fa6ca6f
Cleanup the README a bit more (#2569)
* Move fuzzers around some more

* back to baby

* this was missing..

* shuffeling shuffeling

* shuffeling

* md

* cleanup

* oops

* Move foldername to underscore

* more doc

* Add links

* cleanup
2024-09-27 18:18:50 +02:00
Dominik Maier
4b99c69e51
Move fuzzers around some more (#2566)
* Move fuzzers around some more

* back to baby

* this was missing..

* shuffeling shuffeling

* shuffeling

* md

* cleanup

* oops

* Move foldername to underscore

* more doc
2024-09-27 18:14:13 +02:00
66a87835be feedback: ignore abbs outside select interval 2024-09-27 16:23:30 +02:00
5ffac514ca rework release detection with nested interrupts 2024-09-27 15:24:06 +02:00
Dongjia "toka" Zhang
23168af003
Delete redundant elapsed_since_signal from Batch timeout (#2567) 2024-09-27 14:36:44 +02:00
Dongjia "toka" Zhang
79b8390214
No Uses* for Corpus, Mutators (#2547)
* wip

* this shit is crazy

* from windows

* fmt

* fuck

* fmt

* aa

* reduce generics for generator

* do stuff for mutators, too

* aa

* a

* fmt

* idk

* getting things compiling

* fix merge

* idk

* fuzzers

* nire

* more

* a

* frida win

* cmin

* mm

* qemu?

* del ubuntu dep

---------

Co-authored-by: Your Name <you@example.com>
2024-09-26 20:03:03 +02:00
Romain Malmain
79cd1afec0
Move linkspector config file out of workflow dir (#2565) 2024-09-26 18:37:38 +02:00
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