LibAFL icon indicating copy to clipboard operation
LibAFL copied to clipboard

Migrate libafl_libfuzzer to centralised LLMP

Open addisoncrump opened this issue 1 year ago • 7 comments

Centralised LLMP has significantly better performance than default LLMP. We should transition libafl_libfuzzer to centralised LLMP.

This might be a bit of a harder first issue because libafl_libfuzzer has a (necessity-driven) complex design. If you decide to do this, please feel free to ask questions here or in the discord.

addisoncrump avatar Sep 23 '23 02:09 addisoncrump

@addisoncrump , can you describe what do you want to change ? I understand that LLMP refers to low level message passing mechanism but I don't know about centralised LLMP.

gerceboss avatar Feb 10 '24 23:02 gerceboss

Please refer to the documentation: https://docs.rs/libafl/latest/libafl/events/centralized/index.html

addisoncrump avatar Feb 12 '24 17:02 addisoncrump

Hi @addisoncrump , I skimmed through the documentation and feel like contributing towards this issue. Could you assign me this one? I'll give my best!

Harsh1s avatar Mar 02 '24 19:03 Harsh1s

Hey, we don't really assign issues directly since we have a low-throughput here (and several people who offer to contribute towards a specific issue end up not doing so :sweat_smile:). Please just open a PR when you've made some progress and we'll attach it to the issue. Thanks!

addisoncrump avatar Mar 03 '24 10:03 addisoncrump

I read the documentation and understood from the video that the eventManager is required to communicate the current state of runtime and of the fuzzer to all the cores currently working on it and also to other parts like mutators, executors etc.

From what I understand , currently libafl_libfuzzer uses SimpleEventManager as I observed in the runtime files for the libfuzzer , so we need to migrate it to use CentralizedEventManager , how do I start this, if you can guide me a bit? @addisoncrump

gerceboss avatar Mar 03 '24 19:03 gerceboss

Okay, since there are two people who want to complete this issue, I will assign @gerceboss since they were here first; if it's not completed/attempted within the next week, I'll re-assign.

@gerceboss: No, the issue is that for when we use LLMP, we should instead use centralised.

addisoncrump avatar Mar 04 '24 10:03 addisoncrump

No movement on this... I'm going to just assign myself this, then.

addisoncrump avatar Apr 19 '24 11:04 addisoncrump