Skip to content

Conversation

@jiradeto
Copy link
Collaborator

@jiradeto jiradeto commented Jul 9, 2021

@wuestholz, this PR adds new input selection mechanism that randomly picks inputs to fuzz based on the weight of inputs.

In AFL the fuzzed inputs are not saved in array but instead a linked list so there is no convenient way to maintain the index of inputs in the queue. This PR adds a new array that keeps track of all inputs so far in the queue.

@wuestholz
Copy link

@jiradeto Thanks a lot! I left some comments.

@jiradeto
Copy link
Collaborator Author

jiradeto commented Jul 9, 2021

@wuestholz Thank you very much for your reviews. I addressed all the comments above and I think this PR is ready for evaluation. What do you think?

@wuestholz
Copy link

@jiradeto Great! Thanks! Yeah, lets give this a try. :)

@wuestholz wuestholz marked this pull request as draft July 9, 2021 21:08
@wuestholz wuestholz changed the title [DO NOT MERGE] Use cumulative weight for input selection [WIP] Weighted random seed selection Jul 9, 2021
@jiradeto
Copy link
Collaborator Author

@jiradeto
Copy link
Collaborator Author

jiradeto commented Jul 14, 2021

The next configuration:

  • afl
  • current version: 6dab941
  • customized paramater version: decrease energy of the input that never been fuzzed
 if (!q->was_fuzzed) {
     w *= 1.0;
 }

@wuestholz
Copy link

@jiradeto Based on the experiments, it looks like 1.0 is better. Let's change that and add a comment that documents that we went from 5.0 (based on original probabilities in AFL) to 1.0.

@wuestholz
Copy link

@jiradeto Thanks! Could you please also apply your latest change to the combined PR (#6)?

@jiradeto jiradeto marked this pull request as ready for review August 12, 2021 11:24
@jiradeto
Copy link
Collaborator Author

Close this PR because it's implemented in #6.

@jiradeto jiradeto closed this Aug 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants