一句话:提出 GraphQLer,基于类型依赖图合成多步漏洞链,自动检测 GraphQL API 的访问控制与注入缺陷。
GraphQL API 广泛用于生产系统,但 IDOR、Use-After-Free 与状态依赖注入等关键访问控制漏洞常逃过自动安全测试,因现有扫描器与模糊测试器只能孤立测试单个操作。GraphQLer 通过实时 schema introspection 构建类型化依赖图,合成面向特定缺陷类的有序操作序列,并采用拓扑 SCC 遍历、跨用户 IDOR 重放及 CREATE→DELETE→READ 合成策略。在金融生产 API 上,它无需文档与凭证即发现 8 个潜在漏洞;在 Saleor CVE-2022-39275 上复现全部 4 个访问控制变异;在 11 个公开 API 上平均 PositiveCoverage 达 85.52%,显著高于 EvoMaster 的 29.29% 与 ZAP 的 21.80%。
GraphQL APIs power production systems across financial services, e-commerce, and social platforms, yet their most critical access-control vulnerabilities—Insecure Direct Object Reference (IDOR), Use-After-Free (UAF), and state-dependent injection—routinely escape automated security testing. Industry-standard scanners (ZAP) and the leading research fuzzer (EvoMaster) test operations in isolation and cannot compose the multi-step sequences these flaws require. We present GraphQLer, an open-source automated security testing framework built for production GraphQL APIs. GraphQLer constructs a typed dependency graph from live schema introspection and synthesizes vulnerability chains—ordered operation sequences targeting specific flaw classes. Three strategies cover the critical attack surface: topological SCC-traversal for general reachability, cross-user IDOR replay for broken access control, and CREATE→DELETE→READ synthesis for UAF. On a production financial API (FinServ), GraphQLer identified eight potential vulnerabilities—including denial-of-service vectors that exposed stack traces and sensitive implementation details—without prior documentation or authentication credentials. On a self-hosted Saleor instance pinned to the CVE-2022-39275 commit, GraphQLer reproduced all four broken-access-control mutations cited in the security advisory. On the 11 public APIs of the coverage set, GraphQLer achieves 85.52% mean PositiveCoverage versus 29.29% (EvoMaster) and 21.80% (ZAP); across the 21 evaluated APIs it detects all 5 confirmed IDOR endpoints, UAF behavior on two controlled schemas, and confirms XSS and SQLi on DVGA (an independent third-party oracle)—while all baselines detect zero chain-based vulnerabilities.
@inproceedings{abs-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},
booktitle = {ASE},
year = {2026},
doi = {10.1145/3832783.3834496}
}