SHAPFUZZ: Efficient Fuzzing via Shapley-Guided Byte Selection
Kunpeng Zhang, Xiaogang Zhu, Xi Xiao, Minhui Xue, Chao Zhang, Sheng, Wen

TL;DR
ShapFuzz is a novel fuzzing approach that uses Shapley value analysis to identify and prioritize important input bytes, significantly improving bug and code discovery efficiency.
Contribution
This paper introduces ShapFuzz, a new byte selection method guided by Shapley values and multi-armed bandits, enhancing fuzzing effectiveness over existing techniques.
Findings
ShapFuzz discovers more bugs and code edges than baseline fuzzers.
It exposes 20+ additional bugs and 3 CVEs on real software.
ShapFuzz finds 11 new bugs, with 3 vendor-confirmed.
Abstract
Mutation-based fuzzing is popular and effective in discovering unseen code and exposing bugs. However, only a few studies have concentrated on quantifying the importance of input bytes, which refers to the degree to which a byte contributes to the discovery of new code. They often focus on obtaining the relationship between input bytes and path constraints, ignoring the fact that not all constraint-related bytes can discover new code. In this paper, we conduct Shapely analysis to understand the effect of byte positions on fuzzing performance, and find that some byte positions contribute more than others and this property often holds across seeds. Based on this observation, we propose a novel fuzzing solution, ShapFuzz, to guide byte selection and mutation. Specifically, ShapFuzz updates Shapley values (importance) of bytes when each input is tested during fuzzing with a low overhead,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
