TL;DR: Sigma Computing says most DAST tools missed GraphQL-specific vulnerabilities and internal endpoints until it moved to schema-first, in-cluster scanning with Escape, which produced verifiable findings and faster triage. The underlying lesson is that API security fails when crawling, not exploitation evidence, defines coverage.
At a glance
What this is: This is a practitioner case study on GraphQL-native DAST, showing that schema-aware scanning and in-cluster execution can surface vulnerabilities and internal endpoints that crawler-based tools miss.
Why it matters: It matters because security teams responsible for APIs, CI/CD, and cloud application risk need evidence-driven testing that matches modern application architecture rather than perimeter crawling assumptions.
👉 Read Escape's case study on GraphQL-native DAST coverage at Sigma Computing
Context
API security breaks down when testing tools are built around REST-era crawling assumptions and cannot see how modern applications actually expose functionality. In GraphQL-heavy platforms, the unit of risk is often the schema and its mutations, not the URL path, which means scanner design determines whether coverage is real or merely implied.
Sigma Computing's experience reflects a broader governance problem in application security: teams can pass compliance checks while still missing exploitable behaviour inside internal endpoints, staging systems, and API layers that are only visible from inside the environment. That makes the identity and access dimension relevant as well, because default credentials and over-permissive service access can sit adjacent to the same blind spots the crawler never reaches.
Key questions
Q: How should security teams test GraphQL APIs in CI/CD?
A: They should trigger targeted scans from schema changes, not from a fixed weekly cadence. That gives teams coverage when new queries or mutations are introduced, which is when risk changes most. The scanner also needs to understand recursive GraphQL behaviour and return evidence that analysts can verify quickly, otherwise it becomes another noise source.
Q: Why do REST-based crawlers miss risk in GraphQL applications?
A: REST-based crawlers infer coverage from paths, but GraphQL risk lives in schema structure, nested fields, and mutation logic. A crawler can discover endpoints and still miss the real attack surface if it cannot exercise query depth or alias-based behaviour. That is why schema-first testing is more reliable for modern API applications.
Q: What breaks when internal endpoints are only tested from outside the cluster?
A: Private services, staging workloads, and internal-only interfaces can remain invisible, which means the security team gets a false sense of coverage. Testing from outside the cluster also misses the trust context that service-to-service traffic depends on. In practice, internal deployment of scanners closes that gap and reveals issues perimeter tools never reach.
Q: Which governance controls matter most when DAST produces lots of findings?
A: The key controls are evidence quality, prioritisation logic, and identity hygiene around the systems being tested. Findings should include reproducible payloads and request traces, and teams should correlate them with default credentials, stale test environments, and over-permissioned service access. That combination turns noisy scanning into decision-ready security work.
Technical breakdown
Why Graphql-native scanning changes what DAST can actually see
GraphQL changes the attack surface because clients can request precise fields, chain nested queries, and exercise mutations in ways that do not map cleanly to URL crawling. A REST-focused crawler tends to infer coverage from endpoints, while a GraphQL-native scanner works from schema structure and recursive relationships, which is closer to how the application behaves at runtime. That matters for classes of findings such as alias batching abuse, denial-of-service pressure, and schema-specific exposure that look invisible from the outside. Practical implication: test the schema directly, not just the routes that a crawler can discover.
Practical implication: align DAST coverage to schema mutations and GraphQL-specific abuse paths, not only discovered URLs.
Why in-cluster deployment improves endpoint coverage and trust
Placing the scanner inside the Kubernetes cluster changes both visibility and trust boundaries. Instead of proxying traffic through an external system or relying on perimeter reachability, the scanner can directly hit internal services, staging workloads, and private endpoints that would otherwise remain unseen. This also reduces operational friction because the testing path resembles production adjacency without forcing traffic interception. From a control perspective, the deployment model is part of the security model. Practical implication: treat scanner placement as a coverage decision, not just an implementation preference.
Practical implication: run testing close to the workload so internal endpoints and private services are actually exercised.
Why exploitability evidence shortens triage and reduces noise
Static analysis often produces hypotheses, while live DAST can prove whether a payload actually works. That distinction matters because security teams lose hours when they have to manually verify whether a finding is real, reachable, and exploitable. When the tool attaches request and response evidence, plus logs that show what fired and why, analysts can reason faster about true positives and false positives. In practice, the value is not only better detection but lower verification cost. Practical implication: prioritise tools that produce reproducible evidence, not just theoretical vulnerability indicators.
Practical implication: build triage workflows around reproducible exploit evidence and request logs.
NHI Mgmt Group analysis
GraphQL-native testing is now a coverage requirement, not a niche preference. REST-first crawlers fail when the real object of testing is the schema, nested query behaviour, and mutation logic. That shifts the security question from "did we scan the application" to "did we exercise the application in the way attackers can." For API-heavy programmes, schema awareness is becoming a baseline control expectation.
Internal endpoint visibility is a governance problem, not just a tooling gap. If a scanner can only see what the perimeter reveals, then staging clusters, internal services, and developer leftovers remain outside meaningful assurance. Sigma's example shows that hidden endpoints and default credentials often coexist, which means application security and identity hygiene fail together. Teams should treat visibility into private application paths as part of access governance, not separate hygiene.
Exploitability evidence is the difference between security work and alert accumulation. Tools that report likely issues without proof create triage debt and weaken confidence in the programme. Live testing with logs, payloads, and reproducible requests reduces that debt because it converts uncertainty into a decision-ready finding. The practical conclusion is that verification quality is a first-class control objective in modern AppSec.
Schema-first DAST creates a defensible bridge between CI/CD velocity and security assurance. The useful pattern here is not broader scanning, but targeted scanning triggered by schema change. That fits modern delivery because the security control moves with the release artifact instead of waiting for a weekly batch. For teams running GraphQL-heavy services, the right question is whether testing follows the mutation lifecycle closely enough to matter.
What this signals
API security programmes will need to treat schema change as an assurance trigger, not just a development artifact. As GraphQL adoption grows, the operational question shifts toward whether scanners can reason over recursive structures, internal services, and exploitability evidence quickly enough to keep pace with delivery.
Schema coverage debt: when teams rely on crawler-first testing, the gaps are not only technical but governance-related because the programme cannot prove that internal paths and mutation logic were exercised. That is where application security begins to overlap with access control and environment design, especially in Kubernetes and multi-region deployments.
For practitioners
- Map DAST coverage to GraphQL schema changes Trigger focused scans whenever new queries or mutations are introduced, and verify that the scanner can reason over recursive schema paths rather than only discovered URLs.
- Place scanners inside the workload boundary Deploy testing in-cluster for private services and staging environments so internal endpoints, service-to-service paths, and non-public interfaces are exercised directly.
- Require exploit evidence before triage Only open high-priority tickets when the finding includes a reproducible payload, request trace, and response evidence that prove reachability and impact.
- Correlate application findings with identity hygiene Investigate default credentials, stale test clusters, and over-permissioned service access alongside GraphQL findings, because exposed application paths often coincide with weak account governance.
Key takeaways
- GraphQL-heavy applications need schema-aware testing because crawler-first tools can miss the actual attack surface.
- Verification quality matters as much as detection coverage, since exploit evidence determines whether teams can act quickly and confidently.
- Security teams should align DAST placement and cadence with CI/CD and cluster boundaries so internal endpoints are not left outside assurance.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK address the attack surface, NIST CSF 2.0, NIST SP 800-53 Rev 5 and CIS Controls v8 set the technical controls, and ISO/IEC 27001:2022 define the regulatory obligations.
| Framework | Control / Reference | Relevance |
|---|---|---|
| MITRE ATT&CK | TA0007 , Discovery; TA0001 , Initial Access; TA0040 , Impact | GraphQL abuse, endpoint discovery, and denial-of-service behavior map to attacker technique categories. |
| NIST CSF 2.0 | PR.AC-3 | Internal endpoint access and service exposure are directly tied to access control outcomes. |
| NIST SP 800-53 Rev 5 | SI-2 | Targeted scans and verified findings support vulnerability detection and flaw remediation workflows. |
| CIS Controls v8 | CIS-16 , Application Software Security | The article is fundamentally about application testing and software assurance. |
| ISO/IEC 27001:2022 | A.8.29 | Secure testing and security in development and support processes fit the case study's control theme. |
Ensure application security testing covers schema-driven APIs and internal environments before release.
Key terms
- Graphql-native DAST: Dynamic application security testing built to understand GraphQL schemas, queries, mutations, and recursive relationships. It tests the application the way GraphQL actually behaves, rather than forcing GraphQL into a REST-centric crawler model that can miss important runtime paths and abuse cases.
- Schema-first scanning: A testing approach that uses the application schema as the primary map for coverage and attack simulation. For GraphQL, that means evaluating fields, mutations, and nested structures directly so security testing follows the real logic of the service instead of its outward-facing URLs.
- In-cluster deployment: Running a security tool inside the same Kubernetes or cloud environment as the workloads it tests. This improves visibility into private services and internal endpoints while reducing the blind spots that can appear when a scanner operates only from outside the network boundary.
- Exploitability context: Exploitability context is the evidence used to decide whether a vulnerability matters in a specific environment. It includes reachability, code path exposure, compensating controls, and product-specific advisories, and it turns raw scan data into a decision that can be defended.
What's in the full article
Escape's full case study covers the operational detail this post intentionally leaves for the source:
- Per-scan logs, payload traces, and rule outputs that show how findings were validated in practice
- Configuration details for in-cluster deployment across Kubernetes regions and the operational trade-offs involved
- Examples of GraphQL-specific issues such as alias batching and denial-of-service behaviour
- The team's internal workflow for ranking findings and reducing false positives before tickets are created
Deepen your knowledge
NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, workload identity, and secrets management. It is designed for practitioners who need to connect identity controls to broader security operations.
Published by the NHIMG editorial team on August 18, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org