Join our Newsletter — 33% off our NHI Course
Home FAQ Cyber Security Why does combining runtime scanning with architecture review…
Cyber Security

Why does combining runtime scanning with architecture review improve GraphQL security outcomes?

← Back to all FAQ
By NHI Mgmt Group Editorial Team Updated September 20, 2026 Domain: Cyber Security

Runtime scanning finds vulnerabilities in how APIs behave, while architecture review exposes design flaws that runtime tests may miss. Using both together gives a more complete view of exposure and reduces blind spots across implementation and design. That combination is especially useful for GraphQL, where query behavior, schema design, and service integration can all affect security.

Why runtime scanning and architecture review complement each other in GraphQL

GraphQL security problems rarely live in one layer. Runtime scanning tells you what the API actually accepts, rejects, and exposes under real requests, while architecture review checks whether the schema, resolver design, authentication boundary, and service interactions are safe in the first place. Used together, they reduce the chance that a secure-looking implementation still hides structural exposure.

That matters because GraphQL can concentrate risk in a single endpoint. A scanner may catch unauthorised field access, excessive query depth, or surprising error handling, but it will not always reveal whether the schema itself is over-broad, whether downstream services are trusted too freely, or whether batching and federation create hidden trust paths. Architecture review is what surfaces those design choices before attackers exploit them.

Runtime testing is strongest where behaviour is observable. It helps validate controls such as authentication enforcement, field-level authorisation, input limits, rate limiting, and introspection restrictions. It can also show how the service behaves under malformed queries, nested queries, aliasing, or abusive request volume. For GraphQL, that behavioural evidence is valuable because the same endpoint can support many query shapes and access patterns.

Architecture review adds the missing context. It examines schema composition, resolver boundaries, service-to-service trust, data exposure through nested relations, and whether sensitive operations are reachable through convenience rather than explicit policy. A design that allows broad object traversal or weak separation between public and internal data can appear fine in a few runtime tests and still be structurally fragile.

When these methods are combined, findings become easier to prioritise. A runtime issue may be a symptom of a deeper design flaw, and a design concern may need runtime validation to show its actual blast radius. That combination helps teams avoid false confidence from either a clean scan or a tidy architecture diagram alone.

What each method tends to miss on its own

A scanner is limited by the requests it sends. If it does not probe a particular field combination, resolver chain, or edge-case query path, the weakness can remain invisible. It may also miss business logic flaws that depend on how multiple fields interact, or on how the API stitches data from backend services.

Architecture review has the opposite problem. It can identify dangerous patterns, but it cannot always prove whether those patterns are exploitable in the deployed environment. A design that looks risky on paper may be protected by strong resolver checks, hardened downstream services, or compensating controls. That is why practitioners should treat review and scanning as complementary evidence rather than competing methods.

For GraphQL specifically, the most useful review questions are often structural: who can query what, how depth and complexity are controlled, whether internal objects are exposed through the same schema as public ones, and whether service dependencies introduce hidden privilege boundaries. Runtime scans then confirm whether the implementation actually enforces those boundaries under realistic traffic.

Risk and Threat Considerations

GraphQL combines flexibility with concentration of exposure, which means a single weakness can scale quickly across many fields and resolvers. If teams rely only on runtime tests, they may miss schema-level overexposure, trust expansion across services, or query patterns that create denial-of-service or data-exfiltration paths.

Failure mechanism: An attacker or tester can probe the live API to find permissive fields, weak authorisation checks, and expensive query shapes, but structural issues such as over-entitled resolvers, unsafe data joins, or hidden internal relationships can remain untested until they are abused.

Impact: The result can be broader data exposure, more reliable exploitation of excessive query power, and weaker confidence that the API boundary actually matches the intended trust model.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Agentic AI Top 10 address the attack and risk surface, while CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP Agentic AI Top 10A1 — Prompt InjectionGraphQL query abuse and unbounded inputs parallel adversarial control of request behavior.
Recommendation — Limit attacker-controlled inputs and validate query shapes before execution.
CIS Controls v86 — Access Control ManagementGraphQL security hinges on enforcing least privilege at field and resolver level.
Recommendation — Restrict GraphQL access to the minimum fields and operations each role needs.
NIST CSF 2.0PR.AC — Identity Management, Authentication, and Access ControlGraphQL exposure depends on how strongly the API enforces authentication and access control.
DE.CM — Security Continuous MonitoringRuntime scanning is a continuous monitoring activity for live API behavior.
Recommendation — Apply identity and access controls consistently to every GraphQL operation and field. Continuously monitor GraphQL traffic and alert on suspicious query patterns.

Practitioner Guidance

What to prioritise: Review the schema and resolver map first for exposed object relationships, then use runtime scanning to validate the highest-risk fields and query patterns. In GraphQL, the fastest way to improve security is usually to narrow what is reachable, then prove that the enforcement actually holds.

What to verify: Confirm that field-level authorisation, query depth or complexity limits, introspection policy, and backend service trust boundaries are all enforced in the deployed environment, not just documented. If the architecture assumes a resolver will “never be called” in a certain path, test that assumption directly.

Practitioner takeaway: The best outcome comes from using architecture review to define the trust model and runtime scanning to test whether the implementation really respects it, because GraphQL failures are often a mismatch between design intent and live behaviour.

Deepen Your Knowledge

Sign up to our weekly newsletter — get 33% off our NHI Foundation Level Course

    NHIMG Editorial Note
    Reviewed and updated by the NHIMG editorial team on September 20, 2026.
    NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org