Module libafl::stages[][src]

Expand description

A Stage is a technique used during fuzzing, working on one crate::corpus::Corpus entry, and potentially altering it or creating new entries. A well-known Stage, for example, is the mutational stage, running multiple crate::mutators::Mutators against a crate::corpus::Testcase, potentially storing new ones, according to crate::feedbacks::Feedback. Other stages may enrich crate::corpus::Testcases with metadata.

Re-exports

pub use mutational::MutationalStage;
pub use mutational::StdMutationalStage;
pub use tracing::ShadowTracingStage;
pub use tracing::TracingStage;
pub use calibrate::CalibrationStage;
pub use calibrate::PowerScheduleMetadata;
pub use power::PowerMutationalStage;
pub use concolic::ConcolicTracingStage;

Modules

The calibration stage. The fuzzer measures the average exec time and the bitmap size.

Mutational stage is the normal fuzzing stage,

The power schedules. This stage should be invoked after the calibration stage.

Traits

A stage is one step in the fuzzing process. Multiple stages will be scheduled one by one for each input.

A tuple holding all Stages used for fuzzing.