-
-
Notifications
You must be signed in to change notification settings - Fork 836
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
Add atheris fuzzer #2999
base: master
Are you sure you want to change the base?
Add atheris fuzzer #2999
Conversation
Signed-off-by: AdamKorcz <[email protected]>
interesting! @AdamKorcz looks like this run is reporting an AST bug https://github.com/vyperlang/vyper/runs/7560168466?check_suite_focus=true, but looking through the logs I am not able to find the actual repro. Is there some way to interpret the logs that I am missing? |
Codecov Report
@@ Coverage Diff @@
## master #2999 +/- ##
==========================================
- Coverage 88.29% 88.22% -0.08%
==========================================
Files 97 97
Lines 10919 10935 +16
Branches 2583 2585 +2
==========================================
+ Hits 9641 9647 +6
- Misses 830 839 +9
- Partials 448 449 +1
Help us with your feedback. Take ten seconds to tell us how you rate us. |
I believe the reproducer is available in the log here: and the raw bytes below it:
These bytes are the |
ah, decoding for future reference >>> bytes([0x65,0x61,0x6e,0x5f,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0x6c,0x2c,0x69])
b'ean_\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\rl,i' |
@AdamKorcz i think all inputs have to be passed through a filtering step before testing them. see vyper/tests/grammar/test_grammar.py Line 109 in b096dbd
i mean now that i think about it, |
Signed-off-by: AdamKorcz [email protected]
What I did
How I did it
tests/ast
..clusterfuzzlite
..yml
workflow file.How to verify it
Commit message
This PR adds a fuzzer for
parse_to_ast()
. The fuzzer passes a pseudo-random string, toparse_to_ast()
to find possible crashes and catches a few exceptions.The PR also sets up the fuzzer to run in the CI via ClusterfuzzLite.
Description for the changelog
Cute Animal Picture