Expand description
Mutators mutate input during fuzzing.
Re-exports§
pub use scheduled::*;
pub use mutations::*;
pub use token_mutations::*;
pub use encoded_mutations::*;
pub use mopt_mutator::*;
pub use gramatron::*;
pub use grimoire::*;
pub use tuneable::*;
pub use string::*;
pub use multi::*;
pub use nautilus::*;
Modules§
- Mutations for
EncodedInput
s - Gramatron is the rewritten gramatron fuzzer in rust. See the original gramatron repo
Gramatron
for more details. - Grimoire is the rewritten grimoire mutator in rust. See the original repo
Grimoire
for more details. - The
MOpt
mutator scheduler, see https://github.com/puppet-meteor/MOpt-AFL and https://www.usenix.org/conference/usenixsecurity19/presentation/lyu - Mutator definitions for
MultipartInput
s. Seecrate::inputs::multi
for details. - A wide variety of mutations used during fuzzing.
- Mutators for the
Nautilus
grammmar fuzzer - The
ScheduledMutator
schedules multiple mutations internally. - Mutators for preserving string categories, which may be useful for certain targets which are primarily string-oriented.
- Tokens are what AFL calls extras or dictionaries. They may be inserted as part of mutations during fuzzing.
- An extension to the
ScheduledMutator
which schedules multiple mutations internally. Instead of a random mutator for a random amount of iterations, we can run a specific mutator for a specified amount of iterations
Structs§
- The index of a mutation in the mutations tuple
Enums§
- The result of a mutation. If the mutation got skipped, the target will not be executed with the returned input.
Traits§
- A mutator that takes input, and returns a vector of mutated inputs. Simple as that.
- A mutator takes input, and mutates it. Simple as that.
- A
Tuple
ofMutators
that can execute multipleMutators
in a row.