3576 Commits

Author SHA1 Message Date
forky2
c3475cd577
Qemu tmin (#3118)
* Start on qemu_tmin

* WIP

* qemu_tmin working for single testcase.
Also some comment improvements.

* Add env_logger to baby_fuzzer

* Remove old reference.

* Added comment doc for qemu_tmin.

* Slight reorder for parallelisation

* Finished single-thread qemu_tmin

* Finishing touches to single thread version.

* A pre_commit.sh change I didn't notice.

* Duplicate to attempt multi-threaded version

* Fix taplo whine.
Mark "fork" mode as broken.

* Launcher for parallelisation implemented, but for one core.

* Running in parallel. Now need tidy up.

* Parallel version complete.

* Add comment

* Merged single-core/multi-core qemu_tmin into one crate

* Removed forkexecutor mode.

* Precommit fixes

* Add qemu_tmin to build_and_test.yml

* Clippy fixes

* Change tmin test cores to 0.
2025-04-25 23:08:18 +02:00
dependabot[bot]
6bbff51951
Update perf-event-open-sys requirement from 4.0.0 to 5.0.0 (#3136)
---
updated-dependencies:
- dependency-name: perf-event-open-sys
  dependency-version: 5.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-04-25 13:08:51 +02:00
749b909e32 update freertos bindings 2025-04-25 10:44:11 +00:00
c404037d49 plot styling 2025-04-25 10:41:35 +00:00
dependabot[bot]
76850e9588
Bump pyo3 in /fuzzers/structure_aware/forkserver_simple_nautilus (#3120)
Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/v0.24.1/CHANGELOG.md)
- [Commits](https://github.com/pyo3/pyo3/compare/v0.24.0...v0.24.1)

---
updated-dependencies:
- dependency-name: pyo3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-04-24 19:58:00 +02:00
Dongjia "toka" Zhang
95f7c155bd
Make fuzzer hold testcase bytes converter (#3127)
* add

* fixing

* done

* fix

* a

* no std

* mm

* aaa

* fix

* mm

* please stop

* please stop

* please stop

* Just

* aaaaa

* aaa

* plz stop

* aaa

* mmm

* aaa

* AAAAAAAAAAAAAA

* a bit faster CI?

* win

* wtf are these garbages..?

* no cache?

* ???

* always

* ?/

* aa

* aa

* glib

* glib

* pixman

* AAA

* AA

* unicorn

* unicron

* nyx
2025-04-24 19:34:24 +02:00
Konstantinos Kanavouras
50e1239de9
Remove unneeded workaround for bindgen not supporting f16 types (#3166) 2025-04-24 18:33:12 +02:00
dependabot[bot]
9b3400ffbc
Bump tokio from 1.44.1 to 1.44.2 in /utils/libafl_repo_tools (#3139)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.44.1 to 1.44.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.44.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-24 17:01:38 +02:00
Dongjia "toka" Zhang
d0acc3efc2
Add doc (#3171) 2025-04-23 16:04:35 +02:00
Dongjia "toka" Zhang
03a49fa5a8
Make InputFilter public (#3170) 2025-04-23 15:06:52 +02:00
jma
e443d68a39
Fix python bindings (#3164)
* fix python bindings when compiling for ARM Qemu user

* apply partial precommit.sh
2025-04-17 13:07:16 +02:00
MingxiYe
8b194bdd40
fix typo in qemu_linux_process (#3163) 2025-04-16 23:27:26 +02:00
Nathaniel Bennett
a198b33096
Fix 0/0 stability feedback for libafl_nyx (#3162) 2025-04-15 14:58:18 +02:00
lazymio
eb06d4a757
Default to use SIMD acceleration map feedbacks (#3157)
* Feature renam and clean urls

* Fix features renaming

* wip: working libafl_bolts simd

* initial default SimdMapFeedback implementation

* clippy

* fix imports

* clippy again

* fmt

* also generalize simplify_map

* clippy again

* fix no_std

* fmt

* fix import for no-std

* fmt

* fixes

* Fix fuzzers

* Fix cargo docs

* better bounds

* fmt

* Fix fuzzer

* Accidentally commit the file
2025-04-14 12:29:51 +02:00
Dongjia "toka" Zhang
dd0bcba103
Fix #3155 (#3156)
* robot

* do ne

* FIXER

* fixer

* plz

* LOL

* FIXER
2025-04-12 22:39:32 +02:00
Francesco Cirillo
796ce20cd8
ScheduledMutator Fix with_max_stack_pow (#3148)
* ScheduledMutator Fix with_max_stack_pow

* Renamed StdScheduledMutator to HavocScheduledMutator

* Added SingleChoiceScheduledMutator

* Changed HavocScheduledMutator description

* Added rename in migration

* Missed renaming

* cargo fmt fix

* cargo fmt fix 2

* Clippy duplicate code and safer test

* cargo fmt fix 3

* Removed my hallucination
2025-04-12 20:35:31 +02:00
Dongjia "toka" Zhang
7ea4070338
Fix TUI (#3151) 2025-04-10 18:27:39 +02:00
Dominik Maier
6372148149
Update README.md (#3149) 2025-04-10 02:21:17 +02:00
Romain Malmain
4f5ca8f8e2
Fix cmplog for qemu fork executor (#3145)
* update cmplog map ptr

* do not lower it; it's still there so it should be working
2025-04-09 15:25:13 +02:00
Marco C.
398104c299
CI: try to speedup by avoiding unnecessary installs (#3144)
* Start removing non-apt deps

GH images come with baked-in software that doesn't
come from apt, getting the apt version will just
slow down CI since the baked in version will be
used anyway.

* Do not install llvm-X if already there

* Do not remove old llvm-X

Est-ce qu'ils nous derangent ?

* default llvm install is missing stuff

* CLang is already baked-in

* Set installed clang as default

* Move ARM deps to qemu fuzzers
2025-04-09 15:09:16 +02:00
Romain Malmain
7680ea1346
Safe qemu cpu from index (#2941)
* safe cpu from index

* add comment
2025-04-09 14:43:26 +02:00
Dongjia "toka" Zhang
d1f566c441
Remove "global" prefix from TUI (#3146) 2025-04-09 11:22:18 +02:00
Dongjia "toka" Zhang
8683c68e59
Fix #3133 #2755 (#3143)
* incroyable

* lolg
2025-04-08 22:20:17 +02:00
Romain Malmain
fb8939eefc
Fix fork bug in libafl qemu (#3109)
* fix fork bug

* lol

* fix

* lower it; we're gonna move from this anyway

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-04-08 19:08:40 +02:00
lazymio
bfc55c98a7
Enable SIMD acceleration for stable rust toolchain (#3140)
* initial support

* migrate SAND

* Update comments

* Fmt

* Clippy

* Fix missing docs

* fmt fix

* clippy again

* weird clippy

* clippy

* Fix

* Allow new SIMDMapFeedback

* Fix features

* Fix features again

* Allow custom names

* Fix imports

* Fix imports

* Fmt

* Fix missing implementations

* Requires std to simd

* DO NOT Overwrite names

* Format toml

* no_std fix

* fmt

* Use SIMDMapFeedback for libfuzzer_libpng

* no_std (?)

* clippy

* fix no_alloc

* allow cargo docs to enable all features

* clippy again

* Fix missing import

* Fix cargo docs

* Naive simplify_map doesn't require wide

* Accidentally commit the file

* more fine grined features

* Fix clippy.ps1

* Fix wide256 for simplify_map

* Renaming to SimdMapFeedback

* Dynamic dispatch

* Fix naming

* Move to simd.rs

* clippy

* clippy

* dispatch earlier

* Fix clippy

* clippy

* clippy

* Revert previous change

* Fix comments

* Update comments for std_covmap_is_interesting

* remove SIMD and choose fastest implementation based on target_arch

* no longer nightly imports

* Fix

* upstream benchmark code

* Fix docs

* Fix libfuzzer_libpng

* Disable clippy for benchmark

* clippy

* clippy again

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-04-08 19:08:16 +02:00
Dongjia "toka" Zhang
373fe03633
Use HashMap to manage ClientStat, Fix #3133 (#3142)
* fix

* lol

* lol

* clp fixer

* clp fixer

* revert cargo.toml
2025-04-08 19:06:20 +02:00
lazymio
fa8a576ef0
Introduce HasAflStyleTargetArguments and restore parse_afl_cmdline for CommandExecutor (#3125)
* Introduce HasAflStyleTargetArguments and restore parse_afl_cmdline for CommandExecutor

* clippy

* Fix imports

* Move envs to the shared trait

* Move to a standalone file

* Format

* Gate via std and unix

* Fix

* clippy

* move InputLocation to afl_args

* clippy

* Fix

* fmt

* Fix more

* Shall last missing

* Rename to AflTargetArgs

* Fmt

* move AflTargetArgs to libafl_bolts and adapt CMainArgsBuilder to use it

* use_stdin is no longer needed

* leaveout

* Fix again

* Renaming

* Leave out lib.rs

* Leave out fmt

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-04-08 13:19:44 +02:00
Marco C.
a7d735c1de
Add IntelPT tracing module to libafl_qemu systemmode with KVM (#2774)
* intelpt module
2025-04-08 10:10:39 +02:00
Daniel Hajjar
ec24513c95
Add RISC-V support to libafl_unicorn (#3134) 2025-04-07 16:18:10 +02:00
dependabot[bot]
8426ba5d58
Update crossterm requirement from 0.28.1 to 0.29.0 (#3135)
---
updated-dependencies:
- dependency-name: crossterm
  dependency-version: 0.29.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 16:12:54 +02:00
lazymio
a1b090609d
Migrate NopExecutor used in tests to ConstExecutor (#3129) 2025-04-04 14:55:33 +02:00
lazymio
caf12a647c
NopStage::should_restart shall return false (#3128) 2025-04-04 07:50:58 +02:00
lazymio
db7ce822dc
QoL Types and Changes (#3124)
* Nop executor

* Qol types

* no stage

* A new() for NopStage

* clippy

* clippy again

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-04-03 17:25:11 +02:00
lazymio
0fdfa1d7a1
Add back executions to Testcase (#3115)
* Add back executions to Testcase

* Small clippy

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-04-03 17:24:38 +02:00
Dongjia "toka" Zhang
c99371fd20
Fix tiny inst (#3126)
* fix tn inst

* add

* fix more
2025-04-03 16:22:25 +02:00
bernhl
fb0848e174
Remove unecessary HasTargetBytes constraint (#3117) 2025-04-01 20:39:01 +02:00
Romain Malmain
9dff7a438d
Add client stats to Events (#3116)
* add stats alongside Event over the wire
2025-04-01 16:51:52 +02:00
Romain Malmain
184b69be8e
Update QEMU syshook ret value (#3092)
* update syshook ret value
2025-03-31 15:51:01 +02:00
WorksButNotTested
c68b30ae2a
Add iniitialize feature to librasan (#3113)
* Optimize memset

* Make the initialization of memory buffers an optional feature

---------

Co-authored-by: Your Name <you@example.com>
2025-03-28 20:52:57 +01:00
WorksButNotTested
36c748100e
Change GuestTracking to use a BTreeSet to remove performance bottleneck (#3112)
Co-authored-by: Your Name <you@example.com>
2025-03-28 20:13:34 +01:00
Dongjia "toka" Zhang
b67bd1792f
update libnyx (#3111)
* apude

* lock
2025-03-27 13:25:58 +01:00
dkoch144
f700aac911
Enable building libpng on CI without using GUI (#3110)
* Fixing windows ci build in justfile. harness.cc modified for cl.exe. Additions to README.

* More precise compiler check for noinline definition.

---------

Co-authored-by: dkoch <dkoch@vigilantsys.com>
2025-03-26 22:16:06 +01:00
jejuisland87654
58bb64fac4
Upgrade pyo3 0.23.2 -> 0.24.0 (#3107) 2025-03-26 11:57:08 +01:00
WorksButNotTested
869edd068d
Various updates to librasan (#3106)
* Add rawmemchr

* Add stpncpy

* Add strchrnul

* Fix strcat

* Added strncat

* Add wcschr

* Minor tweak

* Add wcsncmp

* Add wcsnlen

* Add wcsrchr

* Add wmemchr

* Fix asan load/store sizes for wide string functions

* Refactor patches

* Rename tracking functions to prevent collision with allocator

* Change return type of asan_sym to make it consistent with the other native functions

* Fix mutex re-entrancy issue in Patches by splitting locks

* Fix tests on 32-bit platforms

---------

Co-authored-by: Your Name <you@example.com>
2025-03-25 15:22:20 +01:00
Romain Malmain
58607dc333
Update QEMU to v9.2.2 (#3088)
* update qemu to v9.2.2

* alignment field has been removed
2025-03-25 14:34:44 +01:00
Dongjia "toka" Zhang
bd12639f8e
0.15.2 (#3104)
* 0.15.2

* miri

* mistake

* unsafe

* lock file
2025-03-25 13:30:15 +01:00
Dominik Maier
ebc6c0d94c
Change ptr::eq to ptr::addr_eq where semantically more correct (#3105)
* Change ptr::eq to ptr::addr_eq where semantically more correct

* not needed here?
2025-03-24 15:04:36 -07:00
Romain Malmain
c863c8bd6c
Fix clippy (#3102)
* fix clippy

* libafl_frida/

* lol

* lol

---------

Co-authored-by: Toka <tokazerkje@outlook.com>
2025-03-24 15:03:04 +01:00
Dongjia "toka" Zhang
60d0ccb8cb
Commandline args handling for binary only target on libafl_qemu (#3098)
* POC

* POC

* pin the obj

* add map_input_to_memory

* still trying to get things to work

* Justfile

* lol

* nah bad idea

* done

* revert

* revert

* lol

* Move to libafl_qemu

* a

* add

* add

* lol

* clp

* a

* tmate

* Thank you bash I love you

* aaaaaaaa

* a

* bbb
2025-03-21 18:43:08 +01:00
Dan Blackwell
9195245998
Proposed fix for issue #3094, whereby all conditional comparisons are treat as 1 byte (rather than 2, 4, or 8) (#3095) 2025-03-21 12:55:58 +01:00