3576 Commits

Author SHA1 Message Date
Dongjia "toka" Zhang
f73d47dfb8
More stable just test for libfuzzer_stb_image_sugar (#3097)
* aa

* tab to space

* bash syntax is ❤❤❤❤
2025-03-20 15:10:14 +01:00
dependabot[bot]
2166b45838
Update typed-builder requirement from 0.20.0 to 0.21.0 (#3096)
Updates the requirements on [typed-builder](https://github.com/idanarye/rust-typed-builder) to permit the latest version.
- [Release notes](https://github.com/idanarye/rust-typed-builder/releases)
- [Changelog](https://github.com/idanarye/rust-typed-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/idanarye/rust-typed-builder/compare/v0.20.0...v0.20.1)

---
updated-dependencies:
- dependency-name: typed-builder
  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-03-20 13:16:36 +01:00
Dongjia "toka" Zhang
4130e3860f
Add redirect stdin module (#3077)
* forkserver api

* poc

* i'm dumb

* add things

* use snapshot

* delete println debug

* anglais

* d

* fixer

* take care of further read

* take care about u32

* aa

* fix cursor

* mm

* pushing things temporary so i can try this path later

* delete useless setter

* rme

* BytesConverter

* now revert

* clp

* typo

* change how input passing works

* fuck

* fmt

* fixer

* fix

* lol

* lol

* lol

* disable CI

* delete assert

* clp

* a
2025-03-19 19:03:02 +01:00
WorksButNotTested
30946641cd
Add filter to ASAN module in qemu_launcher (#3089)
also add filters to rasan runner.

Co-authored-by: Your Name <you@example.com>
2025-03-19 16:13:45 +01:00
Addison Crump
1b85a92577
Fixup libafl_libfuzzer with new nightly internal symbol mangling (#3093)
* fixup libfuzzer with new nightly internal symbol mangling

* cringe, clippy fail
2025-03-19 16:05:23 +01:00
Dongjia "toka" Zhang
d0da90cf6a
Make Qemu.mmap public and accept fd as the argument (#3083)
* chg mmap

* Proper error handling

* lol

* fix ci
2025-03-18 12:21:11 +01:00
forky2
0a923b27d2
Fix git pager (needs less, not cat, for expected behaviour). (#3085) 2025-03-18 11:17:48 +01:00
Romain Malmain
d5ddc1359e
Fix qemu snapshot module unmap (#3084)
* fix qemu usermode snapshot unmap

* fix phys addr computation for qemu. some cleanup.
2025-03-18 10:31:16 +01:00
Romain Malmain
a613676675
Fix LibAFL QEMU race condition between main loop and a vcpu (#3072) 2025-03-18 09:43:00 +01:00
WorksButNotTested
d317725170
Add total execs to TUI (#3078)
* Add total execs to TUI

* Pretty print large numbers

---------

Co-authored-by: Your Name <you@example.com>
2025-03-14 20:47:51 +01:00
dependabot[bot]
8e32947db6
Update winsafe requirement from 0.0.22 to 0.0.23 (#3034)
Updates the requirements on [winsafe](https://github.com/rodrigocfd/winsafe) to permit the latest version.
- [Commits](https://github.com/rodrigocfd/winsafe/compare/v0.0.22...v0.0.23)

---
updated-dependencies:
- dependency-name: winsafe
  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: Dominik Maier <domenukk@gmail.com>
2025-03-14 16:57:27 +01:00
Romain Malmain
d67296f34e
Soft recovery from crashes in libafl qemu usermode (#3073)
* soft recovery from crashes in qemu

* regen bindings for clippy

* configurable crash behaviour
2025-03-14 16:56:03 +01:00
Dongjia "toka" Zhang
d4a86cdeeb
Hide Forkserver constructor API (#3076) 2025-03-14 14:30:54 +01:00
WorksButNotTested
0154a3b930
Added heap feature (#3074)
* Added heap feature

* Rename feature and add some more docs

* Use document-features crate

* Expose the patching API for more flexibility

---------

Co-authored-by: Your Name <you@example.com>
2025-03-14 13:19:23 +01:00
dependabot[bot]
e728df9843
Update which requirement from 6.0.3 to 7.0.2 (#3075)
Updates the requirements on [which](https://github.com/harryfei/which-rs) to permit the latest version.
- [Release notes](https://github.com/harryfei/which-rs/releases)
- [Changelog](https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/harryfei/which-rs/compare/6.0.3...7.0.2)

---
updated-dependencies:
- dependency-name: which
  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-03-14 12:54:35 +01:00
Romain Malmain
85bcafa831
Track lockfiles (#3015)
* rename libafl_fmt into liabfl_repo_tools

* add option to generate lockfiles

* only keep binary lockfiles (update gitignore)
2025-03-13 12:32:09 +01:00
Dongjia "toka" Zhang
f3da9da7bf
Fix metadata addition when solution is found (#3069)
* fix

* fixer
2025-03-12 13:57:06 +01:00
Dongjia "toka" Zhang
63e82d898e
Bring back #3029 (#3067)
* rerevert

* add comments
2025-03-11 19:52:24 +01:00
Dongjia "toka" Zhang
ff8a5b3baa
Fix wrong path in Justfile (#3068) 2025-03-11 18:58:53 +01:00
Dongjia "toka" Zhang
226a20e6cf
Fix usage of TracingStage (#3062)
* real fix

* more

* debug

* fix

* fixer

* mmmm

* mm

* mm

* mm

* fix

* fix atheris

* ?
2025-03-11 14:37:19 +01:00
Dongjia "toka" Zhang
f4cb9a827d
Partially Revert #3029 and #3053 (#3063)
* revert begins

* fixer

* e?

* fixer

* how you didn't report that at the same time though???

* i'm tired of you
2025-03-11 12:53:27 +01:00
Dominik Maier
115672904e
Auto-implement Rand for (normal, rusty rng) CoreRng types, fixes #3060 (#3064)
* Auto-implement Rand for (normal, rusty rng) CoreRng types, fixes #3060

* clippy

* cleanup

* clip

* doc

* more doc
2025-03-11 11:51:31 +01:00
s1341
bf3c391ffa
librasan: tiny fixes to make it build (#3065)
* librasan: tiny fixes to make it build

* librasan: source -> .
2025-03-11 09:12:43 +02:00
WorksButNotTested
728b1216bb
Librasan (#3023)
* Fixes to main

* Add librasan

* Party like it's 2024

* Fix snapshot module to work with guest asan

* Fix guest_asan module

* Fixes to runner

* Fix linking issues using a REL

* Fix qemu_launcher

* Change modify_mapping to a method

* Fix gasan_test

* Remove debug from Justfile

* Optimize release build of librasan

* Set ulimit for qasan and gasan tests

* Tidy up symbol renaming

* Add missing symbols for PPC

* Change to support rustix 1.0.0

* Canonicalize the CUSTOM_ASAN_PATH

* Review changes

* Restructure backends

* release_max_level_info

* More review changes

* Clippy fixes

* Changes to reduce the burden on the CI

* Fix macos clippy

---------

Co-authored-by: Your Name <you@example.com>
2025-03-10 17:27:55 +01:00
dependabot[bot]
f64554c5db
Update cargo_toml requirement from 0.21.0 to 0.22.0 (#3057)
---
updated-dependencies:
- dependency-name: cargo_toml
  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: Dominik Maier <domenukk@gmail.com>
2025-03-10 16:00:57 +01:00
dependabot[bot]
8233117962
Update pyo3-build-config requirement from 0.23.2 to 0.24.0 (#3058)
Updates the requirements on [pyo3-build-config](https://github.com/pyo3/pyo3) to permit the latest version.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pyo3/pyo3/compare/v0.23.2...v0.23.5)

---
updated-dependencies:
- dependency-name: pyo3-build-config
  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-03-10 14:58:24 +01:00
Dongjia "toka" Zhang
15da05f8e8
Cleanup for #3035 (#3059) 2025-03-10 14:09:54 +01:00
Rowan Hart
b8387daa0f
Add build option for FuzzerInterceptors (#3049)
* Add build option for FuzzerInterceptors

* Add removed whole_archive feature

---------

Co-authored-by: Rowan Hart <rowanhart@microsoft.com>
2025-03-09 21:13:05 +01:00
Dongjia "toka" Zhang
620500e295
Remove AdaptiveSerializer, Send off interesting testcase from crash handler, Add clearer error message (#3053)
* clean

* test thread 1

* add some error messages

* mm

* std

* mm

* aa

* pp

* fix

* change fuzzers

* fix

---------

Co-authored-by: Your Name <you@example.com>
2025-03-08 20:12:16 +01:00
Dongjia "toka" Zhang
758fa7f231
Add more debugging tips (#3056)
* add more debugging tips

* fixer
2025-03-07 23:42:13 +01:00
Dongjia "toka" Zhang
0902dc06c4
Debug Windows CI (again) (#3052) 2025-03-07 14:26:58 +01:00
Dhanvith Nayak
41f16890b8
convert share_objectives into a runtime option (#3033)
* add share_objectives field to StdFuzzer

* uhhh maybe add field to StdState instead

* trivial

* implement to handle_in_client()

* fmt

* revert changes to state

* no gating on receiving objectives

* add query method to hasobjectives

* make input field of Event::Objective optional

* fmt and clippy

* move setter to hasobjectives

* better way to handle incoming objective

* fmt

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-03-07 14:18:48 +01:00
Dongjia "toka" Zhang
76539fa247
Debug windows CI (#3051)
* debug windows ci

* can't reproduce
2025-03-07 13:13:42 +01:00
Dongjia "toka" Zhang
7b0a3b861e
Forbid overwriting MapIndexesMetadata (#3048) 2025-03-06 20:56:48 +01:00
Dongjia "toka" Zhang
41bb64f5cb
Revive self-hosted CI (#3045)
* revive CI

* cici
2025-03-06 16:28:49 +01:00
Dongjia "toka" Zhang
629787771b
Fix snapshot module (#3047) 2025-03-06 16:12:05 +01:00
lazymio
c0894c40e5
Fix implementation of UniqueTrace and add UnclassifiedTrace (#3046)
* Fix implementation of UniqueTrace and add UnclassifiedTrace

* Update comments

* Move the implemetnation to classify_counts

* Only init for unique trace

* The missing inline

* Add a TODO
2025-03-06 16:04:39 +01:00
lazymio
de2bc166f0
Implementation of SAND: Decoupling Sanitization from Fuzzing for Low Overhead (#3037)
* Reference implementation of SAND: Decoupling Sanitization from Fuzzing for Low Overhead

* Format code

* make clippy happy

* Update docs

* clean output

* fmt

* Fix for nostd

* Update docs

* use use alloc::vec::Vec;

* Docs updates

* Update docs

* Format toml

* Format again

* Add CI

* Rename run_targets to run_target_all

* Update docs

* Update justfile to test fuzzer

* left out justfile

* Format

* Corner case when bitmap size is as small as 1

* Add comments

* clippy

* Format vuln.c

* Format toml

* Fix doc

* Fix justfile

* Move ExecutorsTuple to executors/mod.rs

* Fix

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-03-06 14:15:22 +01:00
forky2
eaa600e5ac
libafl_qemu: access() size can be zero. (#3038)
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-03-05 20:42:06 +01:00
Dongjia "toka" Zhang
6fa564b10b
Delete useless file (#3041) 2025-03-05 20:31:49 +01:00
Dongjia "toka" Zhang
c50bedb4c6
Disable CI that uses self-hosted runner (#3040)
* disable CI

* real fix
2025-03-05 20:18:42 +01:00
Dongjia "toka" Zhang
687f62ff1c
Disable CI that uses self-hosted runner (#3039) 2025-03-05 20:14:06 +01:00
Dongjia "toka" Zhang
977ff10a0f
Make corpus and solution not mutually exclusive (#3029)
* make fuzzer great again

* crash handlers

* hello from windows

* fk

* gee

* m

* temporary fix

* f

* mm

* CICI

* fixer

* Fix Dockerfile

* lol

* clp

* Fuck you clippy

* This lint makes no sense, 0

* ??

* a

* fix

* this lint makes 0 sense

* mm

* clp

* a

* a

* clp

* clippy

* clp

* mm

* FMT

* p

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: toka <toka@tokas-MacBook-Air.local>
2025-03-05 20:10:04 +01:00
Dongjia "toka" Zhang
89342b22c2
Revert #2935 (#3031)
* revert

* null check

* no std
2025-02-28 20:09:01 +01:00
Dongjia "toka" Zhang
86d6fa005e
Disable libafl_qemu tests (#3032)
* llvm upd

* mmmmm

* THIS LANGUAGE IS A JOKE
2025-02-28 18:38:23 +01:00
Romain Malmain
e864bc28b1
Abort on triple fault for in process executors, refactor AddressFilter and PageFilter (#3026)
* abort on triple fault in generic inprocess signal handler

* refactor qemu filters

---------

Co-authored-by: Toka <tokazerkje@outlook.com>
2025-02-28 15:44:22 +01:00
60be7f97ac calculate wcrt bounds 2025-02-28 11:23:36 +01:00
108d5dfe77 benchmark split 2025-02-27 18:47:33 +01:00
c3d45680e8 config+bounds update 2025-02-27 17:10:18 +01:00
Dongjia "toka" Zhang
191bc6d12d
Remove aarch64, arm, i386, ppc tests from C (#3028) 2025-02-27 15:47:10 +01:00