Skip to content

Schema-Based Testing Strategies

A strategy is a reusable scanning recipe used by Schema-Based Testing during Active Scan or Passive Scan. Each strategy targets one vulnerability class and contains the detection logic the engine applies during a run. The set of strategies enabled in a test policy determines which vulnerability classes are checked.

Strategies fall into two categories:

  • Default strategies โ€” provided by Wallarm, kept up to date with new attack patterns, and available to all accounts that have Schema-Based Testing enabled. They cannot be edited, only viewed and toggled per policy.

  • Custom strategies โ€” created by you to extend the engine with checks specific to your application or threat model. A custom strategy is bound to your account and can be enabled in any of your test policies.

Each strategy is either of type Active (sends attack requests during a run) or Passive (analyzes captured traffic only). The strategy's type determines which scan mode it participates in.

Default passive strategies

Strategy Purpose
Data Exposure Detects unauthorized exposure of sensitive user data, authentication secrets, and third-party credentials in API responses.
Security Headers Misconfiguration Flags missing browser security headers on rendered content and improper cache-control directives on responses carrying sensitive data.
Secrets Management Detects credential-grade secrets transmitted over insecure channels and session cookies set without proper security attributes.
Service Internals Detects exposure of internal server details through debug output, stack traces, version fingerprinting, and unintended static file serving.
Web Vulnerabilities Identifies common web application vulnerabilities through pattern analysis, including open redirects, SSRF, injection syntax, and cross-site scripting markup in request inputs.

Default active strategies

Strategy Purpose
BOLA (Broken Object Level Authorization) Checks whether one user can access or modify another user's resources by reusing object identifiers with their own credentials.
BFLA (Broken Function Level Authorization) Verifies whether principals can invoke functions, workflow steps, or management actions reserved for higher-privilege roles or outside their tenant.
Business Logic Abuse Detects flaws that allow attackers to gain unauthorized value, bypass workflow constraints, or manipulate quantities, states, and application-specific invariants.
Excessive Data Exposure Identifies API responses that return sensitive, internal, or unnecessary fields beyond what the client needs.
JWT Authentication Flaws Tests JSON Web Token implementations for algorithm manipulation, signature bypass, claim tampering, weak secret brute-force, missing expiration or audience/issuer validation, and replay of non-revocable tokens.
Mass Assignment Detects APIs that bind all client-supplied fields directly to internal models, allowing unauthorized modification of restricted attributes (for example, roles, status, pricing).
NoSQL Injection Sends operator-based payloads into query-driving fields to bypass authentication, expand result sets, or perform unauthorized data modifications.
Resource Exhaustion Detects missing rate limits, brute-force exposure, and client-controlled amplification that lets attackers degrade availability or scale server-side work via unbounded inputs.
SQL Injection Targets query-driving parameters with SQL syntax payloads to detect authentication bypass, unauthorized data access, data modification, and schema disclosure.
SSRF (Server-Side Request Forgery) Identifies endpoints where user-controlled input can influence backend outbound network requests to attacker-controlled or internal destinations.
Unauthenticated Access Detects endpoints that allow reading, modifying, or deleting business resources without requiring authentication, including cases where predictable selectors make objects directly addressable.

Browsing strategies

Strategies are managed on the Security Testing โ†’ Schema-Based โ†’ Strategies tab. Use the All / Active / Passive filter to narrow the list. Default strategies are read-only โ€” open one to inspect its description and the vulnerability classes it covers. Custom strategies can be edited and deleted.

Creating a custom strategy

To extend the engine with checks specific to your application or threat model:

  1. Go to Security Testing โ†’ Schema-Based โ†’ Strategies and click Create strategy.

  2. Provide a Name. The slug is generated automatically; it must be lowercase, may contain digits and underscores, and must not collide with a reserved or already-existing slug.

  3. Choose the strategy type:

    • Passive โ€” analyzes captured traffic without sending additional requests. Provide the detection logic in the Content field.
    • Active โ€” sends targeted requests during the run. Provide the search prompt in the Search content field; the engine uses it to derive hypotheses to test against the application.
  4. Save the strategy. It becomes available immediately on the Strategies tab and can be enabled in any new or existing test policy.

Enabling strategies in a policy

Open a test policy โ†’ Working Modes section. For each mode (Active Scan, Passive Scan), toggle the mode on, click Advanced settings, and select which strategies participate. Disabling a mode disables all of its strategies for that policy.

By default, every strategy of the corresponding type is enabled when you turn on a scan mode. Narrow the selection if you want to focus a policy on a specific class of vulnerabilities, or if a particular check is noisy on your application.