By NHI Mgmt Group Editorial TeamDomain: Cyber SecuritySource: EscapePublished December 1, 2025

TL;DR: AI-assisted API scanning can find business logic flaws, mass assignment, rate limiting gaps, enumeration, and GraphQL-specific weaknesses with less noise than traditional DAST, while still requiring meaningful setup and coverage trade-offs, according to Escape. The bigger lesson is that API security testing now needs contextual reasoning about behaviour, not just payload matching.


At a glance

What this is: This benchmark compares Escape, ZAP, and StackHawk across REST and GraphQL vulnerable apps and finds that contextual scanning can uncover more business logic and API weaknesses than surface-level DAST alone.

Why it matters: It matters because IAM, PAM, and application security teams need testing that can see authorisation, enumeration, and access-control failures before those flaws become identity or data breach paths.

By the numbers:

👉 Read Escape's benchmark of AI-powered API scanning against ZAP and StackHawk


Context

Business logic flaws are hard for conventional DAST to identify because they depend on how an application behaves, not just whether a payload triggers an obvious response. In API-heavy environments, that gap becomes an access control and authorisation problem as much as a testing problem, especially when scanners miss enumeration, mass assignment, broken object-level authorization, and rate limiting weaknesses.

This benchmark focuses on REST and GraphQL APIs, so the practical question is whether a scanner can understand application state, authentication flows, and route coverage well enough to expose weaknesses that matter to IAM and application governance. That is a familiar challenge for teams protecting APIs that carry identity-linked sessions, privileged workflows, or sensitive data paths.


Key questions

Q: What breaks when DAST cannot understand API business logic?

A: DAST may report activity without reaching the control failures that matter. It often misses object-level authorization, mass assignment, enumeration, and workflow abuse because those issues depend on state, sequencing, and identity context rather than a single malicious payload. Teams can end up with false confidence from scans that look busy but never tested the dangerous paths.

Q: Why do business logic flaws create more risk than simple injection bugs in APIs?

A: Because business logic flaws abuse intended behaviour rather than broken syntax, they can pass authentication, encryption, and many scanners without raising alarms. The real failure is policy enforcement, especially when object references, function permissions, or workflow states are not checked at runtime.

Q: How can security teams tell whether API discovery is actually working?

A: API discovery is working when newly created or changed endpoints appear quickly in the inventory, each has an accountable owner, and sensitive-data handling is visible in the same record. A healthy programme also shows that posture checks, encryption reviews, and access controls are triggered from the inventory rather than applied after incidents or audits.

Q: How should teams choose between faster scans and deeper API coverage?

A: Choose depth when the application carries access control or data exposure risk, and use speed only as a secondary efficiency measure. A fast scan is useful if it still reaches the logic that can fail. If it skips those paths, the shorter runtime is just a sign that the tool did less work.


Technical breakdown

Why business logic vulnerabilities are difficult for DAST to see

Business logic vulnerabilities emerge when the application behaves in a way that is technically valid but operationally unsafe. Traditional DAST is strong at known payload patterns such as injection, but weaker when the flaw depends on sequencing, state transitions, or permission boundaries. That is why issues like mass assignment, unauthorized password change, broken object-level authorization, and rate limiting gaps often require scanners to understand how requests relate to application behaviour rather than only how they are encoded. In REST and GraphQL, the challenge becomes even harder because route discovery, resolver traversal, and schema inference shape what can be tested at all.

Practical implication: prioritise scanners that can model request context and state, not only match signatures.

Why GraphQL testing needs schema and resolver awareness

GraphQL changes the testing problem because a single endpoint can expose many fields, object relationships, and nested query paths. A scanner that does not infer schema structure or resolver behaviour will often miss the attack surface or generate low-value requests. In this benchmark, GraphQL-specific weaknesses such as circular fragments, deep recursion, interface abuse, and server-side request forgery illustrate the need for tools that can reason about query depth, field relationships, and application responses. That is a different problem from traditional URL crawling, which is why generic DAST often looks busy without actually covering meaningful GraphQL logic.

Practical implication: validate that GraphQL scanners can traverse schema, resolvers, and nesting depth before trusting coverage claims.

Why coverage and request volume must be evaluated together

Scan duration alone tells you very little because a fast scan can simply mean shallow coverage. Request volume is useful, but only when read alongside route discovery and vulnerability yield. A scanner that sends fewer requests may be more efficient, or it may be missing the application logic entirely. The benchmark shows why teams should judge DAST on three dimensions together: what it found, how much of the application it covered, and how much traffic it generated. That combination gives a much better signal of whether the test meaningfully exercised modern APIs.

Practical implication: set DAST acceptance criteria around coverage, findings quality, and traffic efficiency together.


Threat narrative

Attacker objective: The attacker aims to turn a weakly governed API workflow into unauthorised access, data exposure, or operational disruption.

  1. Entry begins when an attacker reaches exposed API endpoints, schema surfaces, or predictable request paths that a scanner or application exposes without sufficient control testing.
  2. Escalation follows when broken object-level authorization, mass assignment, or unauthorised password change allows the attacker to move from benign interaction to privileged manipulation.
  3. Impact occurs when enumeration, rate-limit failure, or excessive data exposure gives the attacker a reliable path to account takeover, data theft, or service disruption.

NHI Mgmt Group analysis

Business logic testing is now a governance issue, not just a tooling choice. The benchmark shows that scanners which can reason about state, sequence, and response context surface classes of weakness that conventional DAST routinely misses. That matters because broken object-level authorization, mass assignment, and enumeration failures are all governance failures in disguise. Teams should treat API test coverage as part of identity and access assurance, not only AppSec hygiene.

GraphQL creates a distinct detection problem that URL-centric testing does not solve. GraphQL endpoints compress large attack surfaces into fewer paths, so meaningful testing depends on schema awareness, resolver traversal, and depth control. If a scanner cannot infer those structures, it will understate risk even when it reports a successful run. Practitioners should evaluate GraphQL coverage separately from REST coverage rather than assuming one test model fits both.

Coverage metrics need context or they become misleading. A low request count can mean efficiency, but it can also mean the scanner did not reach the logic that matters. In application security, the decisive question is whether the tool exercised meaningful paths that can expose authorization and data handling flaws. The practitioner conclusion is simple: request minimisation is useful only when paired with demonstrable behavioural coverage.

Contextual API testing is the right answer to business logic security debt. This benchmark reinforces a named concept worth watching: business logic detection gap, the space between syntactic vulnerability scanning and real application behaviour. That gap is where modern APIs fail most often because the flaw lives in workflow design, not in payload syntax. Teams should close that gap by demanding behavioural test evidence, not just signature hits.

What this signals

API security programmes are moving toward behavioural assurance, where the value of a scanner is measured by whether it can exercise meaningful workflows rather than merely enumerate endpoints. For teams using identity-linked APIs, that means broken object-level authorization and enumeration gaps should be treated as access governance failures, not only AppSec findings.

Business logic detection gap: this is the mismatch between what a scanner can syntactically reach and what it can semantically understand. As APIs become more stateful and GraphQL usage increases, teams will need stronger evidence that testing can traverse application logic, not just issue more requests.


For practitioners

  • Define coverage criteria for REST and GraphQL separately Set different acceptance thresholds for endpoint discovery, authenticated route traversal, resolver coverage, and depth handling so a scan cannot pass on shallow crawling alone.
  • Prioritise business logic test cases in API security reviews Add explicit validation for mass assignment, broken object-level authorization, enumeration, and rate limiting failures to pre-release security testing.
  • Measure scanner value by findings quality and traffic efficiency Track requests, scan duration, and validated vulnerability yield together so teams can distinguish efficient testing from incomplete testing.
  • Validate authentication-aware scanning before trusting results Ensure the scanner can configure and retain session context, because authentication failures and authorisation blind spots often hide the most important API weaknesses.

Key takeaways

  • Traditional DAST can miss the business logic flaws that drive real API abuse, especially when authorisation and workflow state are part of the risk.
  • Coverage, request volume, and scan duration only matter when read together, because speed alone does not prove meaningful security testing.
  • Teams should demand behavioural API testing that proves authenticated paths, resolver traversal, and access-control failure modes were actually exercised.

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 and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
MITRE ATT&CKTA0007 , Discovery; TA0006 , Credential Access; TA0004 , Privilege Escalation; TA0001 , Initial AccessThe article highlights discovery, access abuse, and privilege-related API weaknesses.
NIST CSF 2.0PR.AC-4Broken object-level authorization and enumeration map directly to access control governance.
NIST SP 800-53 Rev 5AC-3Access enforcement is central to the article's authorization findings.
CIS Controls v8CIS-6 , Access Control ManagementThe benchmark surfaces access control failures that CIS-6 is meant to reduce.

Map API testing gaps to ATT&CK tactics and prioritise controls that stop discovery from turning into abuse.


Key terms

  • Business logic vulnerability: A business logic vulnerability is a flaw in how an application’s workflow or rules are enforced, allowing an attacker to misuse a process rather than break code directly. These issues often evade signature-based tools because the weakness lies in authorisation, sequence, or state handling.
  • Broken Object-Level Authorization: A failure to check whether an authenticated identity may access a specific object, record, or device. The request succeeds because the credential is valid, but the application does not enforce per-object entitlement. In NHI environments, this turns a legitimate token into cross-resource exposure.
  • GraphQL Coverage: GraphQL coverage is the extent to which a scanner or test process reaches real queries, fields, resolvers, and nested paths in a GraphQL application. Strong coverage means the tool exercised meaningful application logic, not just the entry endpoint or a small set of trivial requests.

What's in the full report

Escape's full benchmark covers the operational detail this post intentionally leaves for the source:

  • Side-by-side vulnerability lists for VAmPI and DVGA, including the exact findings Escape surfaced versus ZAP and StackHawk.
  • Raw request counts, scan durations, and setup times for each tested tool across REST and GraphQL scenarios.
  • Example fix guidance for injection and other API weaknesses that implementation teams can apply after scanning.
  • The scan behaviour notes that explain why GraphQL coverage and request generation differed across tools.

👉 The full Escape benchmark includes the per-test results, scan metrics, and remediation examples.

Deepen your knowledge

NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, IAM, and secrets management for practitioners who need stronger control over identity-led attack paths. It helps security teams connect access governance to the broader security programme they already run.
NHIMG Editorial Note
Published by the NHIMG editorial team on August 19, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org