-
Notifications
You must be signed in to change notification settings - Fork 380
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
Onion messages: add fuzz testing #1648
Onion messages: add fuzz testing #1648
Conversation
afd32fd
to
2721637
Compare
d5aafda
to
5eacbb5
Compare
Test LGTM, giving this some CPU cycles now. |
Hmmm, I gave this a few weeks of CPU time and it wasn't able to find its way into a valid onion message decryption at all. This tells me we need to seed the fuzzer, like the way we do full_stack_target, at least, if not find a way to simplify the target here. I'm not sure quite how to simplify the target greatly, though, so maybe just seed it and move on. |
Specifically, the fuzzer did not fail with this patch:
|
a3423c9
to
5c80aaa
Compare
I added some seeding but could add more onion message seeds if it helps. Unsure if it would be good to add |
b284e50
to
e693109
Compare
Able to hit the obvious panics now. I put the seeds in |
e693109
to
611d901
Compare
611d901
to
0cb95de
Compare
0cb95de
to
75f2fce
Compare
Also update the fuzz ChaCha20Poly1305 to not mark as finished after a single encrypt_in_place. This is because more bytes may still need to be encrypted, causing us to panic at the assertion that finished == false when we go to encrypt more. Also fix unused_mut warning in messenger + add log on OM forward for testing
75f2fce
to
8424f3f
Compare
Adds fuzz testing for onion messages.