返回
SGAFuzzer: Stateful GraphQL API fuzzing
DOI:10.1007/s11219-026-09763-6.png)
摘要
En 中文
GraphQL因其数据检索的灵活性和高效性在现代网页开发中日益流行。然而,现有针对GraphQL API的模糊测试技术难以处理操作间的依赖关系,限制了其生成有效测试用例和检测深层软件缺陷的能力。本文提出SGAFuzzer,一个自动化的有状态模糊测试框架,旨在提升GraphQL API的测试效果。具体而言,SGAFuzzer对GraphQL模式进行静态分析,利用依赖对象映射和返回路径分析来推断操作间的生产者-消费者依赖关系。随后,SGAFuzzer基于模式生成请求模板,并采用一种状态感知实例化方法,借助依赖存储和状态缓存生成有状态测试用例。我们在五个真实世界的GraphQL服务上对SGAFuzzer进行了评估。实验结果表明,SGAFuzzer在操作覆盖率和缺陷检测数量两方面均优于现有最先进的模糊测试工具,成功识别了227个新缺陷。这些发现凸显了SGAFuzzer在深度有状态模糊测试GraphQL API方面的有效性,有助于发现复杂的状态依赖型缺陷。
Keyword:
GraphQL API
Stateful fuzzing
Dependency
Bug detection
SGAFuzzer

