katnip.model.low_level.radamsa module

Radamsa wrapper to generate mutations using radamsa.

You can get radamsa at https://github.com/aoh/radamsa

class katnip.model.low_level.radamsa.RadamsaField(value, encoder=<kitty.model.low_level.encoder.StrEncoder object>, fuzzable=True, name=None, fuzz_count=1000, seed=123456, bin_path=None)

Bases: kitty.model.low_level.field.BaseField

This class uses radamsa to generate payload based on a given input. Since radamsa can run infinitly, it is limited by the user, by specifying the amount of payloads to generate (fuzz_count). To provide repeatablity, the user provides a seed that is used to generate seeds for radamsa. If radamsa is not installed in the system path, the user can provide the path (bin_path). If bin_path not specified, it will be assumed that the radamsa binary is in the path already.

Example:
from katnip.model.low_level.radamsa import RadamsaField
RadamsaField(name='ip address', value='127.0.0.1', fuzz_count=20, bin_path='/path/to/radamsa')
__init__(value, encoder=<kitty.model.low_level.encoder.StrEncoder object>, fuzzable=True, name=None, fuzz_count=1000, seed=123456, bin_path=None)
Parameters:
  • value – default value
  • encoder (ENC_STR_DEFAULT) – encoder for the field
  • fuzzable – is field fuzzable (default: True)
  • name – name of the object (default: None)
  • fuzz_count – fuzz count (default: 1000)
  • seed – random seed for generating radamsa seeds (default: 123456)
  • bin_path – path to the radamsa binary (default: None)
get_info()
num_mutations()
Returns:number of mutations this field will perform
reset()