3586 Commits

Author SHA1 Message Date
Henry Chu
b9f1c51531
Remove unnecessary trait bounds in NautilusSpliceMutator (#3190)
* Remove unnecessary triat bounds in NautilusSpliceMutator

* Remove unused HasCorpus import
2025-05-03 02:37:33 -07:00
WorksButNotTested
ec734c74a5
Move to nostd printf and musl crates (#3188)
* Adopt nostd-printf

* Adopt nostd-musl
2025-05-02 18:46:08 -07:00
Wim de With
0ddc5f156d
librasan: Support patching Thumb functions (#3176)
* librasan: Use bx instruction for ARM patch

* librasan: Support patching Thumb functions

* Get page size dynamically, protect two pages and undo changes after

* Rename ARM patch test functions

* librasan: Simplify patch for ARM
2025-05-02 18:45:03 -07:00
Wim de With
3b23012faf
Exclude ASAN DSO address ranges in QEMU AsanModule (#3180)
Co-authored-by: Romain Malmain <romain.malmain@pm.me>
2025-05-02 15:14:39 +02:00
Romain Malmain
1620bd766f
Revert "Update hashbrown requirement from 0.14.5 to 0.15.3 (#3184)" (#3186)
This reverts commit 4448799dc2205e4cb1753b8b8d91b4f6d299365d.
2025-05-02 11:36:36 +02:00
dependabot[bot]
4448799dc2
Update hashbrown requirement from 0.14.5 to 0.15.3 (#3184)
Updates the requirements on [hashbrown](https://github.com/rust-lang/hashbrown) to permit the latest version.
- [Release notes](https://github.com/rust-lang/hashbrown/releases)
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.14.5...v0.15.3)

---
updated-dependencies:
- dependency-name: hashbrown
  dependency-version: 0.15.3
  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-05-01 23:52:09 -07:00
Dongjia "toka" Zhang
b11ec7e630
Clean up LLVM Passes (#3182)
* cleanup llvm passes

* upd

* clean up

* LOL

* mac

* ?

* ?

* aaaaaa

* stop

* ?/

* i'm done with this shit language

* nothing works

* debug

* diet

* mm

* aa

* bb
2025-04-30 19:03:37 +02:00
Dongjia "toka" Zhang
62d9485f10
Use symlink instead to get the corpus (#3177)
* a

* add real symlink

* tmate

* corpus

* detmate

---------

Co-authored-by: Skynet 2 <name@domain.example>
2025-04-28 18:47:10 +02:00
Dongjia "toka" Zhang
3ec8098d76
Remove duplicate corpus folders (#3174)
* remove duplicate pngs

* add tmin corpus back

* fix

* windows?

* space

* exit 0

* oops
2025-04-28 15:39:47 +02:00
Wim de With
977189174b
librasan: Fix errno_location function name (#3172) 2025-04-25 23:08:30 +02:00
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