package afl-persistent

  1. Overview
  2. Docs
use afl-fuzz in persistent mode

Install

Dune Dependency

Authors

Maintainers

Sources

v0.1.tar.gz
sha256=405227e4a105eab6d754bed2846e5d8e0c818d41a8058f6272cfa095a5fce333
md5=330785ed27621d62e66154bfb74ff5d8

Description

afl-fuzz normally works by repeatedly fork()ing the program being tested. using this package, you can run afl-fuzz in 'persistent mode', which avoids repeated forking and is much faster.

Published: 08 Dec 2016

README

afl-persistent - persistent-mode afl-fuzz for ocaml

by using AflPersistent.run, you can fuzz things really fast:

let f () =
  let s = read_line () in
  match Array.to_list (Array.init (String.length s) (String.get s)) with
    ['s'; 'e'; 'c'; 'r'; 'e'; 't'; ' '; 'c'; 'o'; 'd'; 'e'] -> failwith "uh oh"
  | _ -> ()

let _ = AflPersistent.run f

compile with a version of ocaml that supports afl. that means trunk for now, but the next release (4.05) will work too, and pass the -afl-instrument option to ocamlopt.

Dependencies (5)

  1. base-unix
  2. topkg build & >= "0.7.4"
  3. ocamlfind build
  4. ocamlbuild build
  5. ocaml >= "4.05"

Dev Dependencies

None

Used by (3)

  1. capnp-rpc
  2. mrmime >= "0.5.0"
  3. pf-qubes

Conflicts

None

OCaml

Innovation. Community. Security.