Dominik Maier
8dfdee6fce
Fix UB for differential map observer example ( #1140 )
...
* Fix UB for differential map observer example
* clippy
* undo submodule foo
2023-03-14 13:50:50 +01:00
Dongjia "toka" Zhang
460787196a
Update README.md ( #1142 )
2023-03-14 02:09:39 +09:00
Dominik Maier
6894a37ceb
Added Truncate trait ( #1141 )
2023-03-13 17:34:58 +01:00
Dongjia "toka" Zhang
44b798c07e
AFL++ RedQueen ( #1087 )
...
* step 1
* step 2
* Vec
* comment
* Observer
* tmp
* TaintedTracingStage
* more
* more
* more
* Idea
* more
* more
* mmmmmore
* moremoremore
* more
* all
* clp
* comment
* core
* push temporary debug change
* note for myself
* working
* rename to AFLCmplogTracingStage
* rename
* revert fuzzers' change
2023-03-13 17:34:16 +01:00
Andrea Fioraldi
e8d99b9975
Fix capsone mode in LibAFL QEMU ( #1136 )
...
* Use regex feature in libafl_qemu
* wip
* set mode for arm reading pc
* fixes
2023-03-12 23:29:55 +01:00
Addison Crump
786af9f6a9
resolve zero-sized allocation in swap diff fuzzer ( #1139 )
2023-03-12 23:24:22 +01:00
lazymio
b72bf55555
Add From BytesInput trait for Vec<u8> ( #1135 )
...
* Allow take the ownership of the BytesInput
* Add must_use as told
* Implement From&Into for better interoperability
* Format code
* Remove into_bytes
* Remove From<&BytesInput> to avoid misuse
2023-03-09 02:12:09 +01:00
Dongjia "toka" Zhang
4d778dd64d
Fix fuzz_level related thing, separate on_replace/on_remove from Scheduler & various fixes ( #1119 )
...
* delete HasFuzzedCorpusId
* more
* fmt clp
* aa
* fixing
* delete
* a
* append parent id when Objective
* add HasCorpus inprocss executor
* ecofuzz, delete was_fuzzed, update fuzz_level
* fix
* RemovableScheduler for Tunable, Queue, Weighted
* clp
* no std
* import
* on_execution
* fix
* win
* fmt
* fix
* revert to on_evaluation and propogate in the accounting scheduler
* fix
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-03-08 19:43:32 +01:00
Dominik Maier
2ed6583041
CI: Run miri tests ( #1130 )
...
* Fixes/ignores for miri support
* linux
* fix doctest for miri
* fix docs
* fix UB in baby_fuzzer
* no custom allocator in miri
2023-03-08 19:21:17 +01:00
Dominik Maier
e8838ebebe
Safer EoP handling ( #1128 )
2023-03-08 00:33:55 +01:00
Andrea Fioraldi
3ac439b345
Use regex feature in libafl_qemu ( #1127 )
2023-03-07 15:18:50 +01:00
Andrea Fioraldi
20c32316eb
Define custom collectors for QemuCallTracerHelper ( #1099 )
...
* Define custom collectors for QemuCallTracerHelper and create OnCrashBacktraceCollector
* fmt
* clippy
2023-03-07 13:16:51 +01:00
Andrea Fioraldi
3ffec79a17
Increase LLMP clients timeout to 5 min ( #1126 )
...
* LLMP client access fast path
* Increase LLMP client timeoit to 5min
---------
Co-authored-by: Your Name <you@example.com>
2023-03-07 11:47:45 +01:00
Marco Cavenati
b96e194812
Improve find_llvm on MacOS ( #1124 )
...
By looking for explicitly versioned Homebrew formulae for LLVM
2023-03-07 03:23:46 +01:00
Vincent
c8254dbd0e
Check CI result on cargo make test for available fuzzers ( #1107 )
...
* fix libfuzzer_libpng_cmin
* fix libfuzzer_libpng_ctx
* revert libfuzzer_libpng_cmin and check ci by grepping broker stdout result instead
* revert libfuzzer_libpng_ctx and check ci by grepping broker stdout result instead
* add check ci for fuzzers
* add check ci for fuzzers
* add check ci
* add fuzzbench test
* add validation for qemu fuzzer
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-03-06 23:21:24 +09:00
Dongjia "toka" Zhang
9df95bd936
Use InMemoryCorpus in libfuzzer_libpng ( #1125 )
2023-03-05 23:23:42 +09:00
Elia Geretto
4f7b59aca4
Forward on_evaluation callback in MinimizerScheduler ( #1122 )
2023-03-05 22:00:32 +09:00
Langston Barrett
35e5b87188
Cargo feature to avoid regex dependency ( #1102 )
...
regex is a large crate, and is only used in a few specific spots. Users should
have the ability to avoid this transitive dependency if not using the features
in question.
2023-03-03 16:00:49 +01:00
Dongjia "toka" Zhang
5b4ae61cdd
SimpleLogger API improvements, printing to stdout, timestamps ( #1109 )
...
* log
* fix
* a
* rev
* remove
* 2 logger
* cfg std
* more
* more
* cf
* no_std
* features
* optional
* rename
* current_time()
2023-03-02 14:07:46 +01:00
van Hauser
2a3f1d68f5
fix weighting from hits ( #1120 )
2023-03-02 14:05:34 +01:00
Arpan Kapoor
672f4d1668
Use a different crash history in forkserver examples ( #1118 )
2023-03-02 19:49:50 +09:00
Dongjia "toka" Zhang
2a926f6546
Fix forkserver regression in LTO mode ( #1114 )
...
* regression
* fix
* chg
* Comment
* fmt
2023-03-02 10:17:20 +09:00
Andrea Fioraldi
452ca7a672
Implement EcoFuzz ( #1115 )
...
* Implement EcoFuzz
* clippy
* fix
2023-03-01 13:21:43 +01:00
Dominik Maier
df6271a0f3
Windows fix ( #1116 )
...
* Windows fix
* fix fix
2023-03-01 00:49:11 +01:00
Dominik Maier
31357aa7e2
Track parent testcase id, tuneable stage probabilistic settings ( #1081 )
...
* Added local event handlers
* clippy
* move tuned mutator to pow2
* Tunable updates
* parent ids
* no_std, etc
* windows
* remove local event manager handler
* maybe fix win
* win:
* win docs
* docs
* ASAN -> ASan
2023-02-28 16:36:04 +01:00
Dongjia "toka" Zhang
3e7322e395
Remove unnecessary check in calibration stage ( #1111 )
...
* save
* fix
2023-02-28 15:41:17 +01:00
Dominik Maier
fbe8cce1b8
Real OnDiskCorpus ( #1096 )
...
* Real OnDiskCorpus
* clippy
* python
* docs
* clippy
* docs
* move to reuse cachedinmem corpus
* fmt
2023-02-28 15:41:05 +01:00
Andrea Fioraldi
d36296c654
Fix llmp CliendId search ( #1112 )
2023-02-28 15:20:24 +01:00
Andrea Fioraldi
dc800f0814
on_evaluation Scheduler method ( #1106 )
...
* add on evaluation hook in schedulers
* on_evaluation for WeightedScheduler
* fix PowerQueueScheduler
* fix fuzzers
* upd qemu
* tests
* upd
2023-02-28 11:33:26 +01:00
Dongjia "toka" Zhang
59bf118a5a
Clippy ( #1105 )
2023-02-28 01:08:19 +09:00
Addison Crump
0727c80347
Add example for WASM ( #1093 )
...
* add baby_fuzzer for wasm targets
* elaborate in README
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-02-26 17:02:22 +01:00
Dongjia "toka" Zhang
c0f229ec23
Add UsesObserver to allow more generic MapFeedback ( #1104 )
...
* UsesObserver
* a
* more
* don't need these
2023-02-26 08:35:45 +01:00
clesmian
cf02553ea7
Cleanup forkserver exec builder ( #1094 )
...
* Don't use magic string but string constant
* Don't allow to specify multiple input files with different names
* Ensure that the file name for the current test case is unique for every fuzzer currently running
* Add note advising users to choose distinct names for the input file
* Move builder functions to more generic implementation to allow parse_afl_cmdline rewrite
* Rewrite parse_afl_cmdline to reduce code duplication
* Add remark to documentation regarding the program path
* Change behavior to allow the usage of actual AFL command lines, hopefully without breaking existing code
* Rustfmt
* Move generation of unique filename to fs
* Ensure default input filename for command executor is unique per fuzzing process
* Pass the input to the target via stdin, when no input file is specified
Previous solution of passing it via a standard file is useless, as the target does not know to read said file
* Rustfmt
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-02-26 02:00:28 +01:00
Langston Barrett
3dbea91a63
Use Iterators as Generator ( #1101 )
...
Also, remove seemingly-unused generate_dummy method to enable this instance.
Also, add an adapter that creates an Iterator from a Generator.
2023-02-26 01:59:56 +01:00
Dongjia "toka" Zhang
95004aab7e
Update build_and_test.yml ( #1103 )
2023-02-25 15:12:59 +09:00
Dominik Maier
b3020d7296
Fix CoreId for Frida, FreeBSD ( #1100 )
2023-02-25 00:16:37 +01:00
Dominik Maier
672d25e5ac
LLMP Client timeouts, Exit broker when last client exits ( #1057 )
...
* Moving type definitions to transparent structs
* function to notify other side of exit
* docs
* Exmaple support windows now
* timeout fix
* Exiting after the last client quit
* inform about quits
* clippy
* clippy
* clean exits
* fix
* more unsafe
* fixes
* Move ClientId
* fix no_std
* Fix prometheus
* introduce Cores.trim()
* add always_track metadata
* docu
* add AlwaysUniqueMapFeedback
* rename to always_interesting
* return CoreId for Launcher
* CoreId as transparent tuple struct
* fix graceful exits for launcher
* Broker exits after launcher
* clippy
* Fix llmp eop race, introduce llmp shmem cache
* initialize cached page, clippy
* fix llmp_debug strings
* add error handling
* nicer error output
* More error handling convenience
* clippy
* fix macos example
* nits
* trying to add a logger
* no_std
* inline logger enabled
* fix windows, non-fork
* macos
* no_std docs
* clippy
* use ? instead of unwraps in example
* more logging
* docs
2023-02-24 11:50:42 +01:00
Dominik Maier
92842c8b04
Fix LLMP eop race, introduce LLMP ShMem cache ( #1091 )
...
* Fix llmp eop race, introduce llmp shmem cache
* initialize cached page, clippy
* fix llmp_debug strings
* add error handling
* nicer error output
* More error handling convenience
* clippy
* fix macos example
* nits
* trying to add a logger
* no_std
* inline logger enabled
* clippy
2023-02-24 10:28:21 +01:00
Mrmaxmeier
ff4e2f4192
Fix max input size for {CrossOverInsert,BytesInsertCopy}Mutator ( #1097 )
2023-02-24 00:07:54 +01:00
R. Elliott Childre
64a57ad3e3
Move bytecount to dev-dependencies ( #1090 )
...
It is only used in test code
2023-02-23 13:52:43 +01:00
Dongjia "toka" Zhang
9e88e5734e
Timeout executor cfg fix ( #1088 )
...
* fix
* fix
* fix from mac
* fix
* fix
* fix
* ?
* fix
2023-02-22 10:20:11 +09:00
Andrea Fioraldi
1b0cdab3e4
Use GuestAddr in QemuInstrumentationFilter ( #1085 )
...
* Use GuestAddr in QemuInstrumentationFilter
* fix types
2023-02-21 16:19:43 +01:00
Addison Crump
b7296db406
Fix exits which may cause double-free corruption ( #1086 )
2023-02-21 07:34:16 +09:00
Dongjia "toka" Zhang
20958a979f
Weak link token section ( #1080 )
...
* fix
* a
2023-02-17 10:38:46 +01:00
Addison Crump
bdac876dd4
Mutator sampling probability fixes ( #1030 )
...
* fixes for standard mutations
* more mutation updates for sampling probability, tests
* slight doc fix
* clippy gripe
* clippy fixes
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-02-16 17:29:57 +01:00
Michael Rodler
46b75747ef
Make sure input was loaded to avoid panic on unwrap in MutatedTransform ( #1077 )
...
* make sure input was loaded to avoid panic on unwrap
fixes issue #1059
* avoid unnecessary clone, avoid unnecessary branching
---------
Co-authored-by: Michael Rodler <m@mrodler.eu>
Co-authored-by: Addison Crump <addison.crump@cispa.de>
2023-02-16 17:29:33 +01:00
Addison Crump
f454d17482
CMin: don't add to map if it's the initial value (uninteresting) ( #1078 )
2023-02-16 17:28:49 +01:00
Dongjia "toka" Zhang
8bffd28b4c
fix ( #1076 )
2023-02-16 10:29:24 +09:00
Dongjia "toka" Zhang
e7ef6ae8b7
Forkserver: 1. Add mem barrier 2. Don't send the initial 4 bytes message when it uses dynamic map option only ( #1073 )
...
* fix
* Real fix
* a
2023-02-16 09:42:28 +09:00
Addison Crump
26aace6073
Fix grimoire when used with on_replace/on_remove ( #1075 )
2023-02-16 00:14:26 +01:00