-
Notifications
You must be signed in to change notification settings - Fork 7
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
Adds custom executor, major refactor of fuzzer.rs #49
Conversation
Sigrid maintainability feedbackShow detailsSigrid compared your code against the baseline of 2025-01-21. 👍 What went well?
👎 What could be better?
📚 Remaining technical debt
View this system in Sigrid** to explore your technical debt ⭐️ Sigrid ratings
💬 Did you find this feedback helpful?We would like to know your thoughts to make Sigrid better. |
|
|
This should also close #30 |
I still need to review this. We should add a changelog, But I suggest to first release v1.1.2. Next I will make a release including this for v1.2.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@grebnetiew just a couple of minor remarks. Looks great, this is a major improvement!
In the meantime we migrated to LibAFL 0.15.0 in #65. @grebnetiew can you ensure that the required changes are ported to this PR as well? |
Done. Let's merge soon - keeping two branches up-to-date with dependencies is kind of a waste of time imo ;) |
I agree. I am fine with the merge |
This adds the SequenceExecutor, which takes care of executing inputs.
This has some advantages over using the LibAFL executors:
fuzz()
. Instead it's a method of the executor, and the HTTP client, authentication and cookie machinery as well as the stats tracking are now fields of the executor. This improves readability and ease of later refactors.post_exec
, we now get the event manager as a function argument from the fuzzer. We used to rely on some pointer magic frominprocess_get_event_manager
, which is kind of necessary when binary fuzzing (we never did that) and working against the LibAFL executor design instead of with it (we did do that unwittingly).Closes #12