中文

GraphQLer:基于上下文感知的 GraphQL 安全 API 测试

密码学与安全 2025-04-21 v1 软件工程

摘要

GraphQL 是一种开源的数据查询和操纵语言,用于 Web 应用程序,提供对 RESTful API 的灵活替代方案。然而,其动态执行模型和缺乏内置安全机制使其暴露于未授权数据访问、拒绝服务 (DoS) 攻击和注入攻击等漏洞。现有测试工具侧重功能正确性,往往忽视源于查询相互关联性和执行上下文的安全风险。这篇论文提出了 GraphQLer,这是首个针对 GraphQL API 的上下文感知安全测试框架。GraphQLer 构建依赖图来分析查询、变更和对象的关系,捕获关键的相互关联性。它将相关查询和变更串联起来,以揭示身份验证和授权缺陷、访问控制绕过以及资源滥用。此外,GraphQLer 跟踪内部资源使用情况,以发现数据泄露、特权升级和重放攻击向量。我们在各种 GraphQL API 上评估了 GraphQLer,显示其测试覆盖率平均提高 35%,在某些情况下可提高 84%,而且实现速度更快,这使得 GraphQLer 适用于时间敏感的环境。GraphQLer 还成功检测到了已知的 CVE 以及大规模生产 API 中的潜在漏洞。这些结果凸显了 GraphQLer 在通过自动化、上下文感知的漏洞检测方面主动保护 GraphQL API 的实用性。

关键词

引用

@article{arxiv.2504.13358,
  title  = {GraphQLer: Enhancing GraphQL Security with Context-Aware API Testing},
  author = {Omar Tsai and Jianing Li and Tsz Tung Cheung and Lejing Huang and Hao Zhu and Jianrui Xiao and Iman Sharafaldin and Mohammad A. Tayebi},
  journal= {arXiv preprint arXiv:2504.13358},
  year   = {2025}
}

备注

Publicly available on: https://github.com/omar2535/GraphQLer