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

Add Seven New Fuzzer Drivers that Unblocked Fuzz Blockers to Increase the Code Coverage #551

Open
wants to merge 1 commit into
base: libpng16
Choose a base branch
from

Conversation

qiutianchloe
Copy link

@qiutianchloe qiutianchloe commented Apr 12, 2024

Hi! LibPNG development team,

We are researchers from the University of Melbourne in collaboration with the OSS-Fuzz team.
This pull request adds seven new fuzz drivers and corresponding command lines in build.sh.
This change will used for OSS-Fuzz to run fuzzers.

According to the Fuzz Introspector Report, The code coverage stopped improving because of the fuzz blockers that impede the progress of fuzzers.
Our team study analysed the fuzz blockers in LibPNG and has revealed that the majority of top fuzz blockers are related to the fuzz drivers instead of input.

Based on the study result, we came up with 7 new fuzz drivers that unblocked 10 top fuzz blockers.

The local experiments demonstrate that with new fuzz drivers included, the code coverage has increased to 51.67% from 39.29%

@qiutianchloe qiutianchloe deleted the add_new_fuzzdrivers branch April 12, 2024 05:34
@qiutianchloe qiutianchloe restored the add_new_fuzzdrivers branch April 12, 2024 05:37
@ace-dent
Copy link

@ctruta - should fuzzing be moved out of the main repo, to mitigate xz style attacks? (Note: Soc-eng aspect).

@qiutianchloe qiutianchloe reopened this Apr 15, 2024
@thuanpv
Copy link

thuanpv commented Apr 16, 2024

Thanks @ace-dent for your comment. Our results show that the new fuzz drivers can substantially increase the code coverage of LibPNG. We would like to work with you and @ctruta to address your comments and merge them into the main codebase.

@ctruta
Copy link
Member

ctruta commented Sep 12, 2024

@ctruta - should fuzzing be moved out of the main repo, to mitigate xz style attacks? (Note: Soc-eng aspect).

I've been dragging my feet on this for a long time and I kindly ask forgiveness 🙂
Will do.

@ctruta
Copy link
Member

ctruta commented Sep 12, 2024

@ctruta - should fuzzing be moved out of the main repo, to mitigate xz style attacks? (Note: Soc-eng aspect).

I've been dragging my feet on this for a long time and I kindly ask forgiveness 🙂 Will do.

So I just published the new libpng-1.6.44, and I will send the public announcement shortly. I have a bunch of other things to do as well, but my plan for tomorrow is to move contrib/oss-fuzz/ out of libpng and into its own repository.

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

Successfully merging this pull request may close these issues.

4 participants