google / buzzer

Apache License 2.0
429 stars 32 forks source link

Buzzer - An eBPF Fuzzer toolchain

ci_status

Buzzer is a fuzzer toolchain that allows to write eBPF fuzzing strategies.

A Fuzzing strategy is a way to generate random eBPF Programs and then validate that they don't have unexpected behaviour.

To run the fuzzer follow the next steps

  1. Install bazel.
  2. Install clang
  3. Setup the correct CC and CXX env variables
    export CC=clang
    export CXX=clang++
  4. Run
    bazel build :buzzer
  5. Run buzzer either as root:

    sudo ./bazel-bin/buzzer_/buzzer

    OR with CAP_BPF:

    sudo setcap CAP_BPF=eip bazel-bin/buzzer_/buzzer
    ./bazel-bin/buzzer_/buzzer

    Documents:

Trophies

Did you find a cool bug using Buzzer? Let us know via a pull request! We'd like to collect all issues discovered with this framework under this section.