Beyond REST

Audit, test, and govern GraphQL APIs — deterministically, like everything else.

GraphQL's flexibility is exactly what conventional REST-focused tools miss. 42Crunch applies the same contract-first security model to GraphQL schemas that it already applies to OpenAPI — static analysis, live testing, and automated enforcement.

Why this matters

GraphQL's flexibility is a REST-shaped tool's blind spot.

A single flexible endpoint, client-shaped queries, and nested resolvers give GraphQL real power — and a distinct set of vulnerabilities that tools built to look at REST routes and HTTP verbs simply don't check for. Schema exposure, resource-exhaustion attacks through deeply nested or expensive queries, unauthorized data access through under-guarded fields, unprotected mutations, and gaps at the edges of federated services all live outside what a conventional scanner is looking for.

What's actually at risk

Five ways GraphQL gets exploited that REST scanners won't catch.

Schema exposure

Introspection left enabled hands an attacker your entire data graph as a map, including fields and mutations nobody meant to publish.

Resource-exhaustion attacks

Deeply nested or high-cost queries can turn a single request into a denial-of-service — GraphQL lets a client shape a query REST never allowed.

Unauthorized data access

A field-level authorization gap doesn't show up in a route list — it shows up when the wrong field returns data it shouldn't.

Unprotected mutations

Mutations carry the same write-path risk as a REST POST or PUT, but rarely get the same scrutiny in schema review.

Federation gaps

A supergraph is only as secure as its least-audited subgraph — federation multiplies the attack surface without multiplying the review.

Static analysis

Audit the schema before deployment.

42Crunch evaluates the GraphQL SDL itself — introspection and data-exposure risk, missing authentication on queries and mutations, unconstrained strings and custom scalars, absent input validation, query-cost and list-size coverage, and Apollo Federation subgraph security. Every finding is scored and mapped, the same as an OpenAPI contract audit, before a single request ever reaches a running server.

Same deterministic model. The SDL is a contract like any other — 42Crunch scores it the same way it scores an OpenAPI definition, not with a separate, looser standard.
No introspection required. SDL analysis works without live API access, so production introspection can stay disabled — the way it should.
Dynamic testing

Scan the GraphQL API actually running in production.

Contract-aware dynamic testing checks authentication and authorization weaknesses, nested-operation and query-complexity abuse, mutation security failures, invalid and malicious field inputs, and federation and subgraph security issues — validating that the live service behaves the way the schema claims it does, not just that the schema reads well.

Govern every release

Security Quality Gates, built for GraphQL specifically.

A dedicated GraphQL Security Quality Gate compares audit and scan results against an approved threshold, and fails the build or blocks the release when a schema or a running API doesn't meet it — the same enforcement model 42Crunch already applies to REST, extended down to the query layer. Once a contract is validated, that same definition drives precise runtime enforcement for as long as the API is live.

Frequently asked

GraphQL security, answered.

Can a traditional web application firewall secure GraphQL APIs? +

Not on its own. A WAF operates at the HTTP and network level, with no visibility into GraphQL specifics — schema structure, resolver relationships, field-level access, or how a federated graph is composed. Catching what actually goes wrong in GraphQL takes schema-aware analysis and testing, not just traffic inspection.

Does 42Crunch require introspection to stay enabled? +

No. The static SDL Audit reads the schema definition directly, without ever calling a live endpoint. Only the dynamic Scan connects to a running API — typically staging, not production — so introspection can stay switched off where it matters most.

Can 42Crunch catch query-complexity and resource-exhaustion risks? +

Yes — query-cost and list-size coverage is part of the static audit, and the dynamic scan specifically tests nested-operation and query-complexity abuse against the running API, so an expensive query gets flagged before it turns into a denial-of-service.

Does 42Crunch support Apollo Federation? +

Yes, including both subgraph and supergraph assessment. Because a composed graph can hide a subgraph's own access controls, 42Crunch reconstructs subgraph ownership and validation context rather than judging the graph only as assembled.

Can 42Crunch secure REST and GraphQL APIs side by side? +

Yes — both are organized, audited, tested, and governed inside the same platform, so a mixed REST-and-GraphQL portfolio runs under one consistent security policy instead of two disconnected tools.

How does 42Crunch actually enforce GraphQL security policy? +

Through dedicated GraphQL Security Quality Gates. Audit and scan results are compared against an approved threshold, and a build or release can be failed automatically when a schema or a running API falls short.

Does 42Crunch explain how to fix what it finds? +

Yes — every finding links out to a GraphQL-specific entry in the Knowledge Database, with the relevant location in the SDL, an explanation of the risk, a realistic attack scenario, and the recommended fix.

Does 42Crunch understand Java GraphQL validation directives? +

Yes — validation directives used with Spring GraphQL and graphql-java, including @Min, @Max, @Size, @Pattern, and @NotEmpty, are recognized rather than treated as opaque schema decoration.

Is 42Crunch's GraphQL support just a scanner? +

No. It's a full lifecycle: static SDL Audit, dynamic Scan against the running API, CI/CD Security Quality Gates, and contract-driven runtime protection once the API is live.

Bring GraphQL under the same governance as everything else.

Point 42Crunch at a GraphQL schema or a live endpoint and get a scored audit back — no agent install, no commitment required.