class Crowbar::DSL::CampaignBuilder

Overview

Declarative builder for configuring an entire mutation fuzzing campaign

Defined in:

crowbar/dsl/campaign_builder.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(name : String = "Nightly Mutation Fuzzing") #

Instance Method Detail

def add_target(target : Campaign::Target) #

Adds an existing preconfigured target


def auto_shrink(val : Bool) #

def build : Campaign::Runner #

def duration(span : Time::Span) #

def duration(sec : Int32) #

def include_default_targets! #

Imports all standard battery targets (JSON, YAML, JWT, HTTP, CSV, URI, Base64, Packet)


def include_target(name : String) #

Imports a specific target from the standard battery


def iterations(count : Int32) #

def iterations_per_target(count : Int32) #

def name(val : String) #

def on_crash(&block : Campaign::CrashRecord -> Nil) #

def on_heartbeat(&block : Int32, Float64 -> Nil) #

def on_progress(&block : String, Int32, Int32, Campaign::IterationResult -> Nil) #


def runner : Campaign::Runner #

def seed(val : UInt64) #

def target(name : String, category : Campaign::TargetCategory = Campaign::TargetCategory::Custom, &) #

Define a custom fuzzing target


def watchdog(span : Time::Span) #

def watchdog(sec : Int32) #