Awesome Open Source
Awesome Open Source

cbor-fuzz

cbor-fuzz performs coverage-guided fuzzing for a CBOR library (fxamacker/cbor).

Input data for fuzzing is inside the corpus folder:

During fuzzing, new files are created in these folders:

  • corpus -- input data
  • crashers -- crash reports
  • suppressions -- stacktraces to ignore

Installation

cbor-fuzz uses dvyukov/go-fuzz.

go get -u github.com/dvyukov/go-fuzz/go-fuzz github.com/dvyukov/go-fuzz/go-fuzz-build
go get -u github.com/fxamacker/cbor github.com/fxamacker/cbor-fuzz

Usage

Reusing the same corpus folder is recommended, to benefit from corpus generated during prior fuzzing.

cd cbor-fuzz
go-fuzz-build .
go-fuzz

Example output

Output from cbor-fuzz fuzzing fxamacker/cbor.

2019/11/03 09:05:24 workers: 2, corpus: 409 (1h55m ago), crashers: 0, restarts: 1/10000, execs: 976487338 (7135/sec), cover: 1464, uptime: 38h1m
2019/11/03 09:05:27 workers: 2, corpus: 410 (2s ago), crashers: 0, restarts: 1/10000, execs: 976498523 (7135/sec), cover: 1464, uptime: 38h1m
2019/11/03 09:05:30 workers: 2, corpus: 410 (5s ago), crashers: 0, restarts: 1/10000, execs: 976507522 (7135/sec), cover: 1481, uptime: 38h1m

System requirements

  • Go 1.12 (or newer) is required for cbor v1 and cbor-fuzz.

License

Copyright (c) 2019 Faye Amacker

Licensed under MIT License


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Go (194,481
Golang (32,747
Related Projects