Agentless Surface Scanning at Scale and Modern DAST in CI/CD¶
Escape DAST (Dynamic Application Security Testing) is a feature that automatically tests APIs and Web Applications (including SPAs) for security weaknesses. By using Escape ASM’s detailed output (including automatically generated API Schemas from code or frontend assets), the Escape DAST engine works with the knowledge it needs to run meaningful business logic security tests. It can run at scale directly on all exposed APIs and Web Apps discovered by the ASM or as a configurable Modern DAST right in the CI/CD pipeline during the development phase.
This Code-to-Cloud integration means teams can test both production and development environments, internal and external assets, without manual traffic capture. By using advanced reinforcement learning to simulate real-world usage, Escape uncovers hidden vulnerabilities that other scanners miss. As a result, security teams find complex business logic issues early and often, reducing risk and improving application integrity.
By combining structured input (API Schemas) with intelligent test generation, Escape DAST provides a clear, practical way to discover and address critical vulnerabilities before they can be exploited.
Key Features¶
Agentless and Traffic-less Security Testing¶
Escape DAST uses the API Schemas from the ASM to understand how each endpoint should behave. This allows it to send well-formed requests and explore the application logically. Escape DAST does not rely on agents installed in the environment or captured network traffic. It tests the application as an outside user would, making setup easier and results more reliable.
Modern DAST to Find Complex Business Logic Vulnerabilities in CI/CD¶
Escape DAST can find issues that involve how the application handles its data and processes, not just standard injection attacks. It can detect problems like flawed tenant isolation, where one user might gain access to another user’s data. All of this can be done directly from the development stage, in CI/CD.
Custom Security Rules¶
Default security tests are extensive and cover many vulnerabilities. However, for customers with specific use cases, Escape allows the creation of custom rules. These enable teams to build their own governance and apply it at scale, using a simple yet powerful language thanks to Escape's inference engine.
Sensitive Data Detection¶
During testing, Escape DAST identifies places where sensitive information might leak. This includes personal data (PII), secrets, or tokens that should remain private. The system uses both static and dynamic analysis to reduce false positives and highlight genuine risks.
Contextualized Results (Including Code Owners)¶
Escape DAST links every detected vulnerability back to the information gathered by Escape ASM. Each finding includes details like:
- Code owners
- Environment (production, staging, etc.)
- Exposure status
- Technology in use
This extra context makes it much easier to prioritize issues requiring urgent attention.
Prioritization and Remediation¶
By knowing who owns the code and where the vulnerable component sits in the application stack, teams can quickly assign fixes to the right people. This reduces the time between detection and remediation.
Internal Assets¶
Escape supports the deployment of a Private Location to detect, fingerprint, and test internal application assets behind firewalls or VPNs using a reverse tunnel.
How it works¶
Escape DAST’s approach is grounded in advanced machine learning and reinforcement learning. It converts the API definitions into a neutral model called a MetaGraph. Using this model, it guides test cases to explore the application’s logic in realistic ways. This approach improves test coverage and uncovers issues that static or traffic-based tools might miss.
For more details, check out this article on our Business Logic Security Testing algorithm: Escape Proprietary Algorithm
Index¶
- Start a new Scan
- Understanding Results
- Schedule Scans
- LLM Tests
DAST in CI/CD¶
- DAST in GitHub Action
- DAST in GitLab CI
- DAST in Bitbucket
- DAST in CircleCI
- DAST in Jenkins
- DAST in Azure DevOps
- DAST in Travis CI
- Override configuration
- Command Line
Authentication¶
- AWS Cognito
- Basic
- Browser Actions
- Browser Agent
- Browser Use
- cURL
- cURL Sequence
- Digest
- GraphQL
- Headers
- HTTP
- OAuth Authz Code Browser
- OAuth Client
- OAuth ROPC
- Advanced Workflows
- Authentication Reference
Frontend DAST¶
- Technology
- Tuning Guide
- FAQ
- Frontend DAST Configuration Reference
- Custom Rules 5
API DAST¶
- Analyze Coverage
- Rate Limiting
- Blocklist & Hotstart
- API Custom Payloads
- API Access Control
- Scan Internal Applications
- Data Types Reference
- GraphQL
- Rest Configuration Reference
- GraphQL Configuration Reference
- Custom Rules 7
Supported Security Tests¶
- LLM Endpoint Detection
- LLM Excessive Agency
- LLM Insecure Output Handling
- LLM Insecure Plugin Design
- LLM JailBreak
- LLM Model Denial of Service
- LLM Model Theft
- LLM Overreliance
- LLM Prompt Injection
- LLM Sensitive Information Disclosure
- LLM Supply Chain Vulnerabilities
- LLM Training Data Poisoning
- Agentic Issue
- Airflow Config Exposure
- Alibaba Canal Leak
- Ansible Config Exposure
- Appspec Exposure
- Appveyor Config Exposure
- Arbitrary Token Scope
- Auth Bypass
- AWS Access Token
- AWS Config Exposure
- AWS Docker Config Exposure
- AWStats Config Exposure
- AWStats Exposure
- Azure Tenant Id Exposure
- Broken Object Level Authorization
- Command Injection
- Content Security Policy
- CORS
- Crashing Page
- CRLF Injection
- CSRF Get Based
- CSRF Post Based
- Debug mode
- Directory listing
- Directory traversal
- Duplicated object
- Error type inconsistency
- Exposed JWT Token
- Exposed MySQL Config
- Exposed settings.php
- Exposed Source Map
- Exposed SQL Dumps
- File disclosure
- File inclusion
- Forced Browsing
- Leaked Sensitive Data in LocalStorage
- Frontend Guessable Cookie Value
- Access-Control-Allow-Origin Header
- Cache Control Header
- Content Security Policy Header
- Content-Type header
- Header leak
- Cookie Security
- Strict Transport Security
- X-Content-Type-Options
- X-Frame-Options header
- Headers
- High number of Custom Scalars
- High number of PCI
- High number of PHI
- High number of PII
- High number of Secrets
- HTML Injection
- Frontend HTTP Parameter Pollution
- GraphQL IDE
- Improper Input Validation Injection
- Stored Improper Input Validation Injection
- Introspection enabled
- Invalid condition in allOf
- Invalid parameters in path
- Invalid Persisted Query
- Invalid references
- JWT algorithm confusion
- JWT no algorithm
- JWT Signature check
- Large JSON input
- Possible User Enumeration
- Log4Shell
- Mass Assignment
- Mismatching persisted queries and schema
- NoSQL Injection
- NoSQL Injection Stored
- Nuclei Issue
- Port Remediation
- Open redirection Forgery
- Pagination missing
- Password Field Autocompletion
- Permissive JSON Input
- Positive integer validation
- Vulnerable Package
- Private data
- Private fields
- Private IP
- Public state-altering operation
- Reflected URL Parameter
- Request smuggling
- Request URL Override
- Resource limiting bypass
- Response size
- GraphQL Response Type Mismatch
- Custom security checks
- Sensitive Comments
- Sensitive endpoint bruteforce
- Server Error
- Software Component Leak
- Springboot Actuator Disclosure of Thread Dump
- Springboot Actuator Disclosure of Environment
- Springboot Actuator Heapdump
- Springboot Actuator Disclosure of Logfile
- Springboot Actuator Disclosure of Mappings
- Springboot Actuator Restart Misconfiguration
- Springboot Actuator Shutdown Misconfiguration
- Springboot Actuator Disclosure of Trace
- SQL Injection
- SSL enforced
- SSL Certificate
- Server Side Request Forgery
- SSRF Injection in headers
- SSTI (Server-Side Template Injection)
- Stacktrace
- Subresource Integrity Missing
- Swagger rules
- Tenant isolation
- Security timeout
- TLS Configuration Ciphers
- TLS Protocol Configuration
- TLS Configuration
- TLS Configuration Server Defaults
- TLS Configuration Server Preferences
- TLS vulnerabilities
- Typing misconfiguration
- Undefined objects
- Unhandled endpoint
- Unreachable server
- Unsafe Function Use
- WAF Bypass
- WordPress oEmbed Endpoint Exposure
- WordPress RDF Feed Users Exposed
- WordPress REST API Users Exposed
- WordPress wp-cron Exposed
- WordPress xmlrpc.php Exposed
- XSS via Domain Takeover
- XXE Injection
- Zombie object
- Console Error
- Domain Takeover
- Excessive Browser Permissions
- Weak Flask Session Secret
- Character Limit
- GraphQL Alias Limit
- GraphQL Automatic Persisted Queries
- GraphQL Batch Limit
- GraphQL Cyclic Recursive Query
- GraphQL Content Type
- GraphQL Depth Limit
- GraphQL Directive Overloading
- GraphQL Extension Disclosure
- GraphQL Field Duplication
- GraphQL Field Limit
- GraphQL Field Suggestion
- GraphQL Recursive Fragment
- Response Format
- GraphQL Width Limit
- DNS record DKIM
- DNS record DMARC
- DNS record TXT length
- DNS record TXT sensitive
- DNSSEC not enabled
- DNS record loopback
- DNS record permissive SPF