David CARLIER
b064eb3994
read_time_counter port for the RISCV family. ( #1378 )
2023-07-24 13:14:07 +02:00
Dominik Maier
36b1d8aea2
Fix status updates for crashing fuzzers ( fixes #1367 ) ( #1368 )
...
* Fix status updates for crashing fuzzers (fixes #1367 )
* client perf fix
* Add HasLastReportTime trait :/
* ****** prelude
* reoder phantom
* fix tests
* clippy, fixes
* more fixes, traits are maaad
* fmt
2023-07-14 18:50:31 +02:00
s1341
11fc57a5d7
Launcher: Allow setting a distinct stderr redirect ( #1329 )
...
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-07-13 22:50:01 +02:00
Addison Crump
f76331eac7
Add RefCellValueObserver ( #1363 )
...
* add RefCellValueObserver
* appease the clippy gods
* Update libafl/src/observers/value.rs
Co-authored-by: Langston Barrett <langston.barrett@gmail.com>
---------
Co-authored-by: Langston Barrett <langston.barrett@gmail.com>
2023-07-13 18:02:02 +02:00
WorksButNotTested
2002bbca35
Arch independent helpers in libafl_qemu ( #1355 )
...
* Add more features to libafl_qemu to remove some of the heavy lifting from the fuzzers
* Refactor qemu_coverage
* Minor tweaks to fix other fuzzers
* Autofix
* Add CallingConvention to write_function_argument
* Replay reverted clippy fixes
---------
Co-authored-by: Your Name <you@example.com>
2023-07-11 10:56:40 +02:00
Dongjia "toka" Zhang
109755208e
Revert "Make harness function take mut ref ( #1338 )" ( #1358 )
...
This reverts commit fe6daecf0bb178cd19970ae81c797443fd8cd88f.
2023-07-10 17:33:26 +02:00
Andrea Fioraldi
65368408dd
Algorithm to choose to serialize the observers or not ( #1227 )
...
the algorithm is balancing between observers serialization and re-execution
2023-07-10 13:42:53 +02:00
Rowan Hart
fe6daecf0b
Make harness function take mut ref ( #1338 )
...
* Change executor trait to allow \&mut Input
* Add mut inprocess executor
* Add mut inprocess executor
* Format and fix clippy errors
* Fix more clippy errors
* Revert accidental refactoring of InMemoryCorpus
* Add mut versions of all executors that can support it
* Do not persist possible testcase mutation in stages, shadow/differential executors, or corpus minimization
* Fix missing imports
* Fix executor type for missed qemu items
* Add re-exports for mut executors
* Use InProcessForkExecutorMut in QemuForkExecutorMut
* Update BytesInput harnesses to take mutable references
* Update other-input-type-taking harnesses to take mut references
* Clippy fixes
* Feature gate TryFromIntError import
* Fix missed harness input type in baby_fuzzer
* Fix additional clippy issues
* Fix unnecessary hashes on string literal
* Even MORE clippy fixes
* Fix one more clippy issue
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-07-10 13:06:38 +02:00
Dongjia "toka" Zhang
8cca87f2bd
Fix #1342 ( #1345 )
...
* push
* fmt
2023-07-05 13:03:09 +02:00
Dominik Maier
e5b3e5a677
Fixed Forkserver shmem input length, made it configurable ( #1342 )
...
* Fixed Forkserver shmem input length, made it configurable
* fix redqueen clippy
* Clippy
* Clippy
* WHY ARE THERE TWO TIMES THE SAME FN
* More clippy
2023-07-04 14:57:09 +01:00
Dongjia "toka" Zhang
07f4c42ecf
AFL++ redqueen update ( #1291 )
...
* up
* dbg
* fix
* fmt
* fix
* refactor
* more
* clp
* upd
* fmt
* fmt
* last
* debugging
* wip
* lastlast
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-07-03 19:27:34 +02:00
Dominik Maier
6f4955619a
Latest fmt ( #1339 )
2023-07-02 18:13:46 +01:00
s1341
871dfa0a01
Insert into corpus if feedback is_interesting on crash/timeout ( #1327 )
...
* Insert into corpus if feedback is_interesting on crash/timeout
* Use correct import for HasExecutions
* Windows add missing import
* QemuExecutor add HasFeedback
* Windows asan fix
* Add missing call to scheduler.on_add
* Add missing HasExecutions for windows frida
* QemuExecutor missing HasScheduler
* QemuExecutor missing HasCorput
2023-06-28 23:53:51 +02:00
Andrew-Fryer
07530fea57
Trigger feedback side effects during force-loading ( #1317 )
...
* this triggers feedback side effects during force-loading
* oops; correct typo in introspection branch
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-06-17 02:06:07 +02:00
Dominik Maier
f858e1a247
Add TcpEventManager ( #1302 )
...
* Tcp manager, initial commit
* no tokio by default
* Allow Any broker type
* Add tcp_manager example
* fix CI
2023-06-10 06:25:25 +02:00
Dominik Maier
62b1bde7a9
Fix AnyMap for TypeIds with 128 bit ( #1311 )
...
* Fix AnyMap for TypeIds with 128 bit
* make const
* added test, removed static_assertions
2023-06-09 14:06:42 +02:00
Daniel Blackwell
fa63493cee
Fix for issue with CommandExecutor when using InputLocation::StdIn (issue #1306 ) ( #1308 )
...
Co-authored-by: dan <dan@localhost.localdomain>
2023-06-08 16:25:20 +02:00
Addison Crump
60c1990f4a
Make it possible to escape from simple event restarter ( #1303 )
2023-06-06 23:43:41 +02:00
WorksButNotTested
747a636f4f
Add sample fuzzer which collects DrCov coverage for various architect… ( #1300 )
...
* Add sample fuzzer which collects DrCov coverage for various architectures using QEMU instrumentation
* Fix clippy
* Rename NullCorpus to NopCorpus
* Added support for verbose output
* Attempt to fix clippy again
* Fix remaining defaults to use x86_64 when no arch specified and be more robust handling partial builds
* Make build even more robust against partial re-builds
* Added missing dependencies to workflow, updated README
* Add missing dependencies for i386
* Another dependency
* More dependencies
* Disable tests on OSX
* Add tmate
* Add missing dependencies and symlink header directory
* Tidy up after test so we don't hog all the disk space
---------
Co-authored-by: Your Name <you@example.com>
2023-06-06 11:50:38 +02:00
Dongjia "toka" Zhang
fa1e3fd504
CI ( #1301 )
...
* ci
* fi
* Revert "fi"
This reverts commit ed298d71057607f019e64d58687273a01d30e260.
* Revert "ci"
This reverts commit 6b65936990143a6069abd56dcbe633ac37be2ede.
* fi
2023-06-05 16:29:51 +02:00
David CARLIER
dc82a53bec
minibsod dragonflybsd's portage ( #1287 )
2023-05-22 13:13:07 +02:00
Dongjia "toka" Zhang
2be9686a80
Fix clippy ( #1288 )
2023-05-22 13:12:43 +02:00
David CARLIER
b9b70b0d51
minibsod: generate_minibsod further memory maps data for freebsd. ( #1285 )
2023-05-22 12:43:31 +02:00
Arpan Kapoor
6d2284d8b9
Allow configuring timeout for CommandExecutor ( #1269 )
...
* Allow configuring timeout for CommandExecutor
* import Duration on windows as well
* fix example fuzzers
2023-05-15 12:59:06 +02:00
Addison Crump
1da621456f
Add check for if mutation succeeded, else skip processing ( #1265 )
2023-05-14 12:03:25 +02:00
Lei Zhu
a2719cf559
Add suggestion for arg
& args
( #1257 )
...
* Add suggestion for arg & args
* Make fmt happy
* Explain @@
* Spotlight afl-fuzz
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-05-10 13:53:40 +02:00
Dongjia "toka" Zhang
52d557aa8f
Ecofuzz Fix 2 ( #1262 )
...
* finally works
* f
2023-05-09 16:45:20 +02:00
Dominik Maier
8bd18ef007
Fix latest clippy ( #1258 )
...
* Fix latest clippy
* oops needs alloc
2023-05-09 13:17:57 +02:00
Dongjia "toka" Zhang
fe8c06dd8f
Eco fuzz fix ( #1253 )
...
* f
* more fix
* aaaaa
* f
* fix
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-05-09 12:56:23 +02:00
Addison Crump
a8e64be169
Alternative scheduled count strategy ( #1252 )
...
* early return generalization stage
* scheduled count
* aaa
* compile
* fix
* implement alternative scheduled count strategy
---------
Co-authored-by: toka <tokazerkje@outlook.com>
2023-05-04 13:15:28 +02:00
Arpan Kapoor
c8c5d89f33
Ignore 'Broken Pipe' if child process does not read all of stdin ( #1244 )
...
* Ignore 'Broken Pipe' if child process does not read all of stdin
* follow clippy suggestion
2023-05-03 15:45:27 +02:00
Dongjia "toka" Zhang
cf79d13d17
Change DumpToDiskStage's callback ( #1242 )
2023-05-03 11:16:53 +02:00
Dongjia "toka" Zhang
c8fad7833d
Use InMemoryOnDiskCorpus in fuzzbench fuzzer ( #1240 )
...
* in memory
* f
* aaa
* nn
2023-05-02 15:18:17 +02:00
Dongjia "toka" Zhang
b2f9e23975
Fix double crash for solutions with the same filename ( #1232 ) ( #1236 )
...
* fix
* mre
* why delete it???
* fmt
* clp
* comment
2023-04-29 23:42:51 +02:00
ToSeven
f248a061ef
add the version information of fuzzers in the UI ( #1224 )
...
Co-authored-by: toseven <Byone.heng@gmail.com>
2023-04-26 16:52:21 +02:00
Dongjia "toka" Zhang
037b9551ea
Fix #1228 ( #1229 )
2023-04-26 12:00:36 +02:00
Andrea Fioraldi
8ade809588
Centralized Testcase evaluation EventManager ( #1216 )
...
* template
* moar
* merge
* compiles
* fuzzer
* forward event newtestcase
* clippy
2023-04-24 11:38:55 +02:00
Dongjia "toka" Zhang
39c0a2040b
Fix CI ( #1225 )
2023-04-20 19:04:31 +02:00
Dongjia "toka" Zhang
e2f4e83890
Fix CommandExecutor type params ( #1222 )
2023-04-20 16:34:41 +02:00
Dongjia "toka" Zhang
fc23782dc3
Fix is_valid
on Windows ( #1217 )
...
* git add -u
* fix cfg
* pub
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-04-18 12:15:47 +02:00
Dominik Maier
96e24d1c8b
Move Input
loading and dumping APIs from Testcase
to Corpus
( #1201 )
...
* Less allocatiosn for filenames
* clippy for wasm fuzzer
* Reworked filename and rename APIs
* python, clippy
* fmt
* More cleanup, fixed metadata location
* clippy
* fix fuzzbench_text / cached len, invert parameters (state first)
* clippy
* oops
* Caching for paths
* simplified, fixed
* no_std
* cached_len
* Nider API for input getting
2023-04-18 12:14:49 +02:00
Andrea Fioraldi
fd68c8a81f
Batch mode timeouts (Linux only ATM) ( #1193 )
...
* batch mode timeouts for linux
* batch_mode is linux only atm
* fix
* fix
* fix
* imports
* winfix
* more fix
* winfix
* fix
* fix
* fix
* fix
* clippy
* fix macos
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-04-17 18:16:44 +02:00
Dominik Maier
cdd3d8ace0
Tuneable stage with per-seed timeout ( #1209 )
...
* Tunable mutations with timeouts
* fix
* fmt
* Introspection fix
2023-04-13 15:30:47 +02:00
Langston Barrett
863a6b8b7c
Mark buffer_{self_,}copy
as unsafe, don't export them ( #1207 )
2023-04-12 17:42:16 +02:00
Langston Barrett
1b9ffcec74
LibAFL: LLMP manager docstring cleanup ( #1208 )
2023-04-12 17:40:16 +02:00
Langston Barrett
aa3f126100
LibAFL_qemu: Return errors from Emulator::new
instead of asserting ( #1197 )
...
* qemu: Return errors from Emulator::new instead of asserting
Libraries should not `assert!` except in cases of unrecoverable (library)
programmer error. These errors are all potentially recoverable, and aren't
internal errors in `libafl_qemu` itself.
* Respond to review comments
2023-04-09 21:27:27 +02:00
Elsa Granger
21ee8d2cae
Fix on_remove of MinimizerScheduler ( #1161 )
...
* Fix cursor not step
* Update ref_cnt after remove
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-04-08 16:58:25 +02:00
Vincent
b519d24981
Fix Testcase renaming on disk ( #1191 )
...
* fix set_filename
* use ? quantifier instead of expect
* fix clippy
* cargo fmt
* add rename old file to new file logic
* add cfg feature std
* add no_std set_filename
* fix create and remove lockfile logic
* fix cargo fmt
* remove unused import
* cargo fmt
* fix clippy
* fix lock filecondition
* remove useless import
* fix path
* revert fuzzer Makefile.toml
* fix fmt
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-04-07 02:36:08 +02:00
Dominik Maier
f73e2006fc
Removed more new_ ( #1200 )
2023-04-07 02:34:28 +02:00
Andrey Fedotov
807a534121
Use observers to handle crashes in run_target for TimeoutForkserverExecutor ( #1189 )
...
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-04-04 19:17:48 +02:00