Open GanbaruTobi opened 7 months ago
The libafl docker might be a good place for working nyx setup? The docker seems to not be able to build nyx:
Also, a general question arises: is the packer really not considered part of the target, given that it sets up a virtual machine? Why use a general Linux kernel? The virtual machine system could be highly dependent on the target! What about Windows? What about software requiring more recent kernels? What about fuzzing Linux drivers?
My assumption is that the two example fuzzers are built for the packer to meet its specific requirements, rather than being built with the packer itself.
Here is important Information to have to use libafl_nyx: https://github.com/nyx-fuzz/Nyx/blob/main/docs/01-Nyx-VMs.md The setup right now is only creating the "kernel running mode" and we should reflect that in the Readme. The packer expects same OS on host and guest, which seems to be ubuntu-22.04.1.
The qemu-nyx, libnyx and nyx-packer are updated to latest for now with https://github.com/AFLplusplus/LibAFL/commit/d7ac802fb23338dcc66804154f62698de84e0b87
I will rewrite the Readme and maybe a book chapter when I got libafl_nyx working with another thing then "kernel running mode".
I'm particularly interested in doing Windows snapshot fuzzing using Nyx and libafl. So, this would be good to see. I am going to be playing around with some of this stuff as well so if I figure anything out I may have some contributions to this.
Since I am trying to make this run for three days now, I want to collect some informations here on what could improve working with libafl_nyx.
So some ideas: