This document provides an in-depth explanation of the configuration variables used in the config.yaml file. These variables control the behavior of PinguBot and can be customized to suit specific requirements.
APP_ARGS:Command-line arguments passed to the application under test. Leave empty if no arguments are required.APP_ARGS_APPEND_TESTCASE:Boolean flag to append the testcase path toAPP_ARGS. Default:true.APP_LAUNCH_COMMAND:Custom command to launch the application. Overrides default behavior if specified.APP_NAME:Name of the application under test.APP_PATH:Path to the application binary.APP_PATH_DEBUG: Path to the debug version of the application binary.
FUZZER:Specifies the fuzzing engine to use (e.g.,libFuzzer).FUZZER_DIR:Directory containing the fuzzing engine binaries.FUZZER_TIMEOUT:Maximum time (in seconds) allowed for a fuzzing session. Default:5400.FUZZ_TEST_TIMEOUT:Timeout (in seconds) for individual fuzz tests. Default:5400.MAX_FUZZ_THREADS:Maximum number of threads to use for fuzzing. Default:4.MAX_TESTCASES: Maximum number of test cases to process in a single fuzzing session. Default:5.
PLATFORM:Specifies the platform on which the bot is running (e.g.,Linux,Windows).TRUSTED_HOST:Boolean flag indicating whether the bot is running on a trusted host. Default:true.CACHE_STORE:Boolean flag to enable or disable caching of intermediate results. Default:true.PROCESS_POLL_INTERVAL:Interval (in seconds) for polling processes during execution. Default:0.5.THREAD_DELAY: Delay (in seconds) between thread launches. Default:0.
PINGUAPI_HOST:URL of the backend API server. Default:http://127.0.0.1:8086.PINGUAPI_KEY: API key for authenticating with the backend. This key is autogenerated when a bot is created.
RELEASE_BUILD_BUCKET_PATH:Path to the release build in the storage bucket. Supports regex patterns.STABLE_BUILD_BUCKET_PATH:Path to the stable build in the storage bucket.SYM_RELEASE_BUILD_BUCKET_PATH:Path to the symbolized release build in the storage bucket.UNPACK_ALL_FUZZ_TARGETS_AND_FILES: Boolean flag to unpack all fuzz targets and files during setup. Default:true.
TEST_TIMEOUT:Timeout (in seconds) for individual test cases. Default:10.WARMUP_TIMEOUT:Timeout (in seconds) for warmup tasks. Default:120.FAIL_RETRIES:Number of retries for failed tasks. Default:5.FAIL_WAIT:Wait time (in seconds) before retrying a failed task. Default:300.CRASH_RETRIES:Number of retries for crash reproduction. Default:10.MINIMIZE_RESOURCES: Boolean flag to enable or disable resource minimization during testcase minimization. Default:true.
LSAN:Boolean flag to enable or disable LeakSanitizer. Default:false.ASSERTS_HAVE_SECURITY_IMPLICATION:Boolean flag indicating whether asserts have security implications. Default:false.CHECKS_HAVE_SECURITY_IMPLICATION:Boolean flag indicating whether checks have security implications. Default:false.ENABLE_DEBUG_CHECKS:Boolean flag to enable or disable debug checks. Default:false.SYM_DEBUG_BUILD_BUCKET_PATH: Path to the symbolized debug build in the storage bucket.
TIMEOUT_MULTIPLIER:Multiplier for adjusting timeouts dynamically. Default:1.USER_PROFILE_IN_MEMORY:Boolean flag to store user profiles in memory. Default:true.TESTCASES_BEFORE_STALE_PROCESS_CLEANUP:Number of test cases to process before cleaning up stale processes. Default:1.WATCH_FOR_PROCESS_EXIT: Boolean flag to monitor process exits during execution. Default:false.
- Always back up your
config.yamlfile before making changes. - Ensure that critical variables like
PINGUAPI_KEYare kept secure and not exposed publicly.