Greybox Fuzzing of Distributed Systems
Ruijie Meng, George Pîrlea, Abhik Roychoudhury, Ilya Sergey
Abstract
Grey-box fuzzing is the lightweight approach of choice for finding bugs in sequential programs. It provides a balance between efficiency and effectiveness by conducting a biased random search over the domain of program inputs using a feedback function from observed test executions. For distributed system testing, however, the state-of-practice is represented today by only black-box tools that do not attempt to infer and exploit any knowledge of the system's past behaviours to guide the search for bugs. In this work, we present Mallory: the first framework for greybox fuzz-testing of distributed systems. Unlike popular black-box distributed system fuzzers, such as Jepsen, that search for bugs by randomly injecting network partitions and node faults or by following human-defined schedules, Mallory is adaptive. It exercises a novel metric to learn how to maximize the number of observed system behaviors by choosing different sequences of faults, thus increasing the likelihood of finding new bugs. Our approach relies on timeline-driven testing. Mallory dynamically constructs Lamport timelines of the system behaviour and further abstracts these timelines into happens-before summaries, which serve as a feedback function guiding the fuzz campaign. Subsequently, Mallory reactively learns a policy using Q-learning, enabling it to introduce faults guided by its real-time observation of the summaries. We have evaluated Mallory on a diverse set of widely-used industrial distributed systems. Compared to the start-of-the-art black-box fuzzer Jepsen, Mallory explores 54.27% more distinct states within 24 hours while achieving a speed-up of 2.24×. At the same time, Mallory finds bugs 1.87× faster, thereby finding more bugs within the given time budget. Mallory discovered 22 zeroday bugs (of which 18 were confirmed by developers), including 10 new vulnerabilities, in rigorously-tested distributed systems such as Braft, Dqlite and Redis. 6 new CVEs have been assigned.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 22dc8496-95e5-42e6-8b5b-8ebdbf217597Cited by top-tier papers17
- SoK: Prudent Evaluation Practices for FuzzingMoritz Schloegel, Nils Bars, Nico Schiller, Lukas Bernhard et al.S&P 2024 · 69 citations
- Monarch: A Fuzzing Framework for Distributed File SystemsTao Lyu, Liyi Zhang, Zhiyao Feng, Yueyang Pan et al.USENIX ATC 2024 · 17 citations
- Smart Casual Verification of the Confidential Consortium FrameworkHeidi Howard, Markus A. Kuppe, Edward Ashton, Amaury Chamayou et al.NSDI 2025 · 13 citations
- CAFault: Enhance Fault Injection Technique in Practical Distributed Systems via Abundant Fault-Dependent ConfigurationsYuanliang Chen, Fuchen Ma, Yuanhang Zhou, Zhen Yan et al.USENIX ATC 2025 · 7 citations
- An Empirical Study on Kubernetes Operator BugsQingxin Xu, Yu Gao, Jun WeiISSTA 2024 · 7 citations
Builds on10
- Coverage-based Greybox Fuzzing as Markov ChainMarcel Böhme, Van-Thuan Pham, Abhik RoychoudhuryCCS 2016 · 1,026 citations
- VUzzer: Application-aware Evolutionary FuzzingSanjay Rawat, Vivek Jain, Ashish Kumar, Lucian Cojocar et al.NDSS 2017 · 700 citations
- Ijon: Exploring Deep State Spaces via FuzzingCornelius Aschermann, Sergej Schumilo, Ali Abbasi, Thorsten HolzS&P 2020 · 146 citations
- Ankou: guiding grey-box fuzzing towards combinatorial differenceValentin J. M. Manès, Soomin Kim, Sang Kil ChaICSE 2020 · 51 citations
- Input invariantsDominic Steinhöfel, Andreas ZellerFSE 2022 · 47 citations
Related papers
- Blackbox Fuzzing of Distributed Systems with Multi-Dimensional Inputs and Symmetry-Based Feedback PruningYonghao Zou, Jia-Ju Bai, Zu-Ming Jiang, Ming Zhao et al.NDSS 2025
- Linear-time Temporal Logic guided Greybox FuzzingRuijie Meng, Zhen Dong, Jialin Li, Ivan Beschastnikh et al.ICSE 2022 · 29 citations
- MC2: Rigorous and Efficient Directed Greybox FuzzingAbhishek Shah, Dongdong She, Samanway Sadhu, Krish Singal et al.CCS 2022 · 15 citations
- Feedback-guided Adaptive Testing of Distributed Systems DesignsAo Li, Ankush Desai, Rohan PadhyeNSDI 2026 · 2 citations
- Chronos: Finding Timeout Bugs in Practical Distributed Systems by Deep-Priority Fuzzing with Transient DelayYuanliang Chen, Fuchen Ma, Yuanhang Zhou, Ming Gu et al.S&P 2024 · 12 citations
