-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
can't run nyx-based fuzzers #16
Comments
another pt support check
|
Do you have any idea here? |
@epi052 same problem, have you managed to solve? |
I checked the CI of libafl and the fuzzer pass the test. Maybe you can use the original fuzzer in https://github.com/nyx-fuzz/spec-fuzzer to identify the system(?) problem. |
Could you please provide some more information regarding your system like CPU model and OS? And are we talking about a libAFL issue or libnyx issue in general? The libAFL implementation uses a somewhat outdated version of Nyx (Spec-Fuzzer also relies on a pretty outdated version of the Nyx stack). Could you please try AFL++ Nyx-Mode or Nyx-Testing and confirm if the issue still persists? Both use the latest version of libnyx, with AFL++ utilizing the C interface and Nyx-Testing using the Rust interface of libnyx. In case you use a more recent Intel CPU, there might be an issue with E-Cores I guess. As far as I know, efficiency cores don't fully support Intel PT. |
@schumilo I am trying to use the AFL++ Nyx-Mode.
|
The target is built with afl-lto, then I am not using KVM-PT mode |
@schumilo I tried with another computer and now everything works. Do you have any idea what could be the cause? Maybe a different cpu? |
@marcellomaugeri Could u try to use mitigations=off on the hostkernel? |
I also tried with a 7th gen Intel CPU and I also can't run the fuzzer on a nyx-kernel. The only time I managed to run the fuzzer was on a normal kernel, which is pointless for blackbox fuzzing I guess... |
I apologize for the vague title, but I'm not entirely sure where the real issue lies.
The problem
I was trying to get nyx_libxml2_standalone to run, as a precursor to writing my own nyx fuzzer.
when i
cargo run
, I get the following output (output hangs at the point you see a ctrl+c)Stuff I've looked at/tried
cargo run
as rootBased on the above output, I tried updating the
-cpu
value to match the hint. I did this by cloninglibnyx
pointing libafl's cargo.toml at my local copy, and then modifying the cmd variable.i tried a few combinations:
-machine kAFL64-v1 -cpu kAFL64-Hypervisor-v2,+vmx
-machine kAFL64 -cpu kAFL64-Hypervisor-v2,+vmx
-machine kAFL64 -cpu kAFL64-Hypervisor-v1,+vmx
Environment info
I understand this may be a "me" problem, i.e. something wonky with my setup. Here's some relevant information.
This may be important? No amount of running
sudo modprobe kvm-intel pt_mode=1
will get the parameter below to reflect that value.perf
with intel-pt support works...?parting thoughts
is there a chance that qemu-nyx is falsely reporting kvm extension capability status?
I was poking around QEMU-Nyx's kvm checks, and as far as I can tell, my system CAN run intel-pt stuff. So, maybe the ioctl is falsely reporting on
KVM_CAP_NYX_PT
orKVM_CAP_NYX_FDL
?Idk, I'm at a loss at this point. Any help/clues would be greatly appreciated!
The text was updated successfully, but these errors were encountered: