Skip to content
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

Add new mutation strategies #337

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

disconnect3d
Copy link

Hey,

We have had an internship project in Trail of Bits to improve go-fuzz recently which was done by @vfsrfs.

We are aware of the ongoing official work on native fuzzing support but since we still rely on go-fuzz we went ahead to improve its pain points and so that's why we propose this PR. Feel free to drop it if you feel it is too much or you do not want to introduce any changes in go-fuzz.

Below I am pasting the description from the original PR merged to our fork of go-fuzz (trail-of-forks#3).


This PR adds new mutation strategies for the inputs:

  • InsertRepeatedBytes: A sequence of the same bytes is inserted at a random position into the input
  • ShuffleBytes: The bytes of a subslice of the input are shuffled to random positions
  • LEB128 Encoding: Integer Literals can be encoded with (unsigned | signed) Little Endian Base 128

…ert repeated bytes) and add little endian base 128 encoding (LEB128) for integer literals
@josharian
Copy link
Collaborator

As with the other two, I'm leaving this for @thepudds to review or not as they see fit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants