Conversation
|
This is awesome, I've wanted to fuzz libpnet for quite some time! I see you've marked this as WIP - I'll hold off merging for now. I'm excited to see where this leads. |
|
I just wanted to start a discussion about this. |
|
cc @pnkfelix |
|
I'm not sure we need fuzzing scripts for all packet types - ideally pnet_macros should generate "perfect" packet parsers which always pass fuzzing. With that said, yes, we could auto-generate these (they wouldn't be as sophisticated as what you've provided until we have an answer to #140). |
|
ipv4: tcp gre |
|
I rebased branch. Tcp seems fixed, ipv4 still failing. |
|
Ok, I broke tcp again |
|
I've pulled a copy of this PR and will work on it 😄 |
|
@neosilky Thank you for picking this up! Let us know how you get on, or if you need any assistance. |
|
@neosilky any progress? I made some commits to https://github.com/polachok/libpnet/commits/syncookied, but they need to be rebased |
|
Going to do a release later this week, would be great to get some of the fixes in if they're ready. |
|
I've merged the fuzzing stuff in so other people can play around with it. I'll check out the syncookied branch and cherry pick fixes across and get them merged in too. |
https://github.com/rust-fuzz/cargo-fuzz just arrived and I tried to use it on libpnet
2 seconds into
cargo fuzz --fuzz-target fuzzer_script_1and here we go:#141