Skip to content

Add oss-fuzz support (not yet enabled) #748

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

fenner
Copy link
Contributor

@fenner fenner commented Apr 14, 2019

This builds on the work done by @catenacyber in #700. I started an independent effort to add oss-fuzz support, then discovered #700, and this is the combination of both efforts.

My version calls into printers directly - I've implemented the plumbing for ether, ip, ip6 and bgp. This allows targeted testing: "I wrote some code for a new bgp printer, let's fuzz it". It creates the corpus (example good packets for the fuzzing infrastructure to learn from) by parsing test/*.pcap using Scapy.

The other version uses pcap files, so can end up in any part of the system. It's good for "what can happen in the universe" but is harder to target.

Adding this plumbing to the tcpdump package is one half of what's needed; the other half is to enable clusterfuzz by submitting to the oss-fuzz repository. Merging this pull request can be done independently, so that fuzzing on the clusterfuzz infrastructure can be enabled when desirable.

I've tried to document some of how it works at https://github.com/fenner/tcpdump/blob/fuzz/fuzz/README.md .

Closes #700.

@catenacyber
Copy link

I hope that we can integrate this soon

@fenner fenner force-pushed the fuzz branch 2 times, most recently from 628081f to c6a91ce Compare April 27, 2019 12:57
@fenner
Copy link
Contributor Author

fenner commented Apr 27, 2019

I rebased to get past the travis failure that was present in master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants