English

FuzzTheREST: An Intelligent Automated Black-box RESTful API Fuzzer

Software Engineering 2024-07-22 v1 Artificial Intelligence Machine Learning

Abstract

Software's pervasive impact and increasing reliance in the era of digital transformation raise concerns about vulnerabilities, emphasizing the need for software security. Fuzzy testing is a dynamic analysis software testing technique that consists of feeding faulty input data to a System Under Test (SUT) and observing its behavior. Specifically regarding black-box RESTful API testing, recent literature has attempted to automate this technique using heuristics to perform the input search and using the HTTP response status codes for classification. However, most approaches do not keep track of code coverage, which is important to validate the solution. This work introduces a black-box RESTful API fuzzy testing tool that employs Reinforcement Learning (RL) for vulnerability detection. The fuzzer operates via the OpenAPI Specification (OAS) file and a scenarios file, which includes information to communicate with the SUT and the sequences of functionalities to test, respectively. To evaluate its effectiveness, the tool was tested on the Petstore API. The tool found a total of six unique vulnerabilities and achieved 55\% code coverage.

Keywords

Cite

@article{arxiv.2407.14361,
  title  = {FuzzTheREST: An Intelligent Automated Black-box RESTful API Fuzzer},
  author = {Tiago Dias and Eva Maia and Isabel Praça},
  journal= {arXiv preprint arXiv:2407.14361},
  year   = {2024}
}

Comments

10 pages, 4 figures, published in DCAI 2024 conference, 2 tables

R2 v1 2026-06-28T17:47:25.768Z