Skip to content

Mayhem Code Testing Tutorials

Beginner beginner

First time? Welcome. We'll introduce you to Mayhem code testing and how to quickly get started security testing targets.

⚡ Introduction

Your introduction to Mayhem and code testing.

⚡ Executing Mayhem Runs

  1. Web UI Testing: Code testing using Mayhem's web user interface.
  2. CLI Testing: Code testing using Mayhem's command line interface.
  3. Testing a Docker Target: Code testing a Docker packaged target in Mayhem.
  4. Testing a Non-Docker Target Code testing a non-Docker packaged target in Mayhem.

Advanced advanced

Were you able to execute a Mayhem run? If so great! Learn how to configure your Mayhem runs with the following walkthroughs.

⚡ Configuring Mayhem Runs

  1. Target Input Methods: Code testing for targets that use various input methods.
  2. OSS Fuzzer Engines: Code testing targets using various open-source fuzzer engines.

Expert expert

We're past the simple stuff. Perhaps you have a complex application that requires a custom fuzzer or more optimized testing efficiency using test drivers and third-party compilers like libprotobuf. Learn how to use Mayhem for more complex code testing scenarios.

⚡ Mayhem for Power Users

  1. Mayhem and Test Drivers: Code testing with test drivers.
  2. Test Driver for tinyxml: Walk through an example source-based test driver for the tinyxml library.
  3. Hardware Testing: Write test drivers for hardware dependencies.
  4. Testing with Shared Libraries: Write test drivers for for shared libraries.
  5. Testing with LibFuzzer: Write libFuzzer-style test drivers.
  6. OSS-Fuzz Targets with Mayhem: Test Google's oss-fuzz targets using Mayhem.
  7. Patching Binaries: Modify binary applications when source code is not available to improve testing.
  8. Firmware Testing: Extract, create a test driver, package, and test firmware binaries.