SELGMay 23, 2020

Pythia: Grammar-Based Fuzzing of REST APIs with Coverage-guided Feedback and Learning-based Mutations

arXiv:2005.11498v144 citationsHas Code
Originality Highly original
AI Analysis

This addresses the challenge of efficiently finding bugs in REST APIs for developers and security researchers, representing a novel integration of techniques rather than an incremental improvement.

The paper tackles the problem of fuzzing stateful REST APIs by introducing Pythia, which combines grammar-based fuzzing with coverage-guided feedback and learning-based mutations, resulting in higher code coverage and the discovery of 29 new bugs in production-scale cloud services.

This paper introduces Pythia, the first fuzzer that augments grammar-based fuzzing with coverage-guided feedback and a learning-based mutation strategy for stateful REST API fuzzing. Pythia uses a statistical model to learn common usage patterns of a target REST API from structurally valid seed inputs. It then generates learning-based mutations by injecting a small amount of noise deviating from common usage patterns while still maintaining syntactic validity. Pythia's mutation strategy helps generate grammatically valid test cases and coverage-guided feedback helps prioritize the test cases that are more likely to find bugs. We present experimental evaluation on three production-scale, open-source cloud services showing that Pythia outperforms prior approaches both in code coverage and new bugs found. Using Pythia, we found 29 new bugs which we are in the process of reporting to the respective service owners.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes