katnip.controllers.server.local_process module

class katnip.controllers.server.local_process.LocalProcessController(name, process_path, process_args, delay_after_start=None, start_each_test=False, logger=None)

Bases: kitty.controllers.base.BaseController

LocalProcessController runs a server application using python’s subprocess.Popen() It can restart the process upon exit, or at the beginning of each test

Example:
controller = LocalProcessController('PyHttpServer', '/usr/bin/python', ['-m', 'SimpleHttpServer', '1234'])
__init__(name, process_path, process_args, delay_after_start=None, start_each_test=False, logger=None)
Parameters:
  • name – name of the object
  • process_path – path to the target executable. note that it requires the actual path, not only executable name
  • process_args – arguments to pass to the process
  • delay_after_start – delay after opening a process, in seconds (default: None)
  • start_each_test – should restart the process every test, or only upon failures (default: False)
  • logger – logger for this object (default: None)
post_test()

Called when test is done

pre_test(test_number)

start the victim

teardown()

Called at the end of the fuzzing session, override with victim teardown