A Framework for Automated API Fuzzing at Enterprise Scale
Authors:
- 1 April 2022
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 377-388
Abstract
Web-based Application Programming Interfaces (APIs) are often described using SOAP, OpenAPI, and GraphQL specifications. These specifications provide a consistent way to define web services and enable automated fuzz testing. As such, many fuzzers take advantage of these specifications. However, in an enterprise setting, the tools are usually installed and scaled by individual teams, leading to duplication of efforts. There is a need for an enterprise-wide fuzz testing solution to provide shared, cost efficient, off-nominal testing at scale where fuzzers can be plugged-in as needed. Internet cloud-based fuzz testing-as-a-service solutions mitigate scalability concerns but are not always feasible as they require artifacts to be uploaded to external infrastructure. Typically, corporate policies prevent sharing artifacts with third parties due to cost, intellectual property, and security concerns. We utilize API specifications and combine them with cluster computing elasticity to build an automated, scalable framework that can fuzz multiple apps at once and retain the trust boundary of the enterprise.Keywords
This publication has 16 references indexed in Scilit:
- Resource-based test case generation for RESTful web services2019
- SQL data generation to enhance search-based system testing2019
- RESTful API Automated Test Case Generation with EvoMasterACM Transactions on Software Engineering and Methodology, 2019
- Evaluating Fuzz Testing2018
- ElasTest — An open source project for testing distributed applications with failure injection2017
- IMF2017
- CUT: automatic unit testing in the cloud2017
- Model-Based API Testing of Apache ZooKeeper2017
- GUICat: GUI testing as a service2016
- REMI: defect prediction for efficient API testing2015