Skip to content
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

Proposal: Atomkraft integration with fuzzer #150

Open
djordjepesic1991 opened this issue Sep 13, 2022 · 4 comments
Open

Proposal: Atomkraft integration with fuzzer #150

djordjepesic1991 opened this issue Sep 13, 2022 · 4 comments

Comments

@djordjepesic1991
Copy link

djordjepesic1991 commented Sep 13, 2022

The main idea is to improve the atomkraft with fuzzer. Fuzzer should produce ITF traces, which later be executed by atomkraft itself. Fuzzer should be called with some new atomkraft CLI command.

@djordjepesic1991 djordjepesic1991 changed the title Proposal: Atomkraft integration with cargo fuzz Proposal: Atomkraft integration with fuzzer Sep 20, 2022
@djordjepesic1991
Copy link
Author

Research results:
I made small AFL fuzz program which generate sequence of messages, which later could be used for creating an atomkraft trac e file. Example of such output:
output.txt
This output is a product of 5s fuzzer running. Fuzzer generated 117516 messages. This is a pretty large number. As a main idea of fuzzer is to generate large number of messages, for a long time, it seems that it is not feasible to create ITF trace from fuzzer output, because the trace file would be too large. Also, as I understand, one trace file represents one test session with smart contract, so it is not ok to split the fuzzer output into the multiple trace files, because this leads to more sessions, which is in conflict with the idea of on long fuzzing session.

@rnbguy
Copy link
Member

rnbguy commented Sep 21, 2022

great work @djordjepesic-ethernal ! 👏👍🏽 please do share your fuzzer when it's finished.

Also don't worry about different traces with same session. We can add support for it in Atomkraft's future releases. Just open an issue requesting it as a feature.

Do you have anything in your mind about the big file size? Maybe gzipped json?

@djordjepesic1991
Copy link
Author

I will consider serialization and compression. I believe you could add parser for another format than ITF trace? In that case, I can do some research what kind of output will be suitable for saving the fuzzer output and loading it into atomkraft.

@shonfeder
Copy link

Sorry! Wrong thread :D

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

No branches or pull requests

3 participants