Create a Scan
The Create DAST Scan dialog walks you through four steps: Select Mode, Authentication, Crawling & Discovery, and Security Tests. Every page below maps 1:1 to what you see in the UI.
The Quickstart runs this flow with all defaults in 5 minutes. Come back here when you need to customize.
Open the dialogโ
- Go to Scans โ DAST Scans.
- Click + DAST Scan in the top right.
- The Create DAST Scan dialog opens on Step 1.
Step 1 โ Select Modeโ

Modeโ
| Mode | What it does | When to use |
|---|---|---|
| Crawl | Discovers and maps pages only. No payloads sent. | You want an attack-surface map without any active testing. |
| Scan (recommended) | Crawls and runs passive + active security tests. | Normal security testing. |
Nameโ
A descriptive label so you can find this run later. Examples:
staging-checkout-weeklyapi-v2-post-deploymarketing-site-passive
Target URLโ
The full URL the scan starts from (e.g., https://app.example.com).
The target domain must match one of your organization's owned domains (shown under the field as a list of regex patterns). Add new domains under Settings โ Owned Domains before scanning.
Test Run Environmentโ
- Run on Cloud โ Levo's managed infrastructure. No setup. Recommended for anything reachable from the public internet.
- Run on-Premises โ Your own Kubernetes worker or Docker worker. Required for targets behind your firewall.
Click Next to continue.
Step 2 โ Authenticationโ

Key Sourceโ
Which LLM API key the scanner uses for AI-powered analysis:
- Levo's Platform Key (default) โ use Levo's managed LLM.
- Bring Your Own Key โ your own OpenAI or Anthropic key, managed under Settings โ API Keys.
Authentication methodโ
Pick one of four methods. See the dedicated Authentication section for in-depth guidance on each.
Noneโ
Select for public apps, marketing sites, or open APIs. No extra fields.
Form-based Loginโ

For apps with an HTML login form. Fill in:
- Login URL โ the page that hosts the login form.
- Username, Password โ a test account. Create one dedicated to scanning.
- Pre-Auth Cookies / Headers / Local Storage โ optional; see below.
Tokenโ

For APIs that accept a Bearer token, JWT, or API key in the Authorization header. Paste the full token value โ the scanner prefixes it with Bearer automatically unless you include your own scheme.
AI-driven (auto-discover) โ Betaโ

The scanner uses an LLM to identify the login flow, fill the form, and verify login. Use when the auth flow is complex, multi-step, or you don't want to hard-code selectors.
Pre-Auth Cookies, Headers, and Local Storageโ

Values that must be in place before the scanner attempts login โ typical use cases:
- Pre-Auth Cookies โ CSRF tokens, tenant selectors, feature flags needed on the login page.
- Pre-Auth Headers โ custom tenant headers (e.g.,
X-Tenant-Id), API gateway tokens. - Local Storage Items โ SPA bootstrap data the app reads on first load.
- Local Storage Items (Base64) โ same, for apps that store encoded blobs in
localStorage.

Add rows with + Add Row. Leave empty if your app doesn't need any of these.
Click Next to continue.
Step 3 โ Crawling & Discoveryโ

Crawl Modeโ
- Standard โ HTTP-based crawler following links and forms. Fast. Good default.
- AI Assisted โ LLM-driven crawler that follows UI flows the Standard crawler misses (wizards, modals, JS-heavy SPAs). Slower, requires a Key Source.
Max Crawl Depth ยท Max Pagesโ
Bounds on crawl breadth. Defaults (depth 3, 100 pages) suit most apps. Raise both for very large sites; lower them to keep a scheduled run under a time budget.
Satellite URLโ
For on-prem deployments that route traffic through the Levo Satellite HAProxy. Leave empty if you aren't using a Satellite. See Install Satellite for setup.
Timeout ยท Max Payloadsโ
- Timeout (seconds) โ per-request timeout. Raise for slow backends.
- Max Payloads โ upper bound on active-test payloads per endpoint. Lower for production-adjacent targets; raise for thoroughness.
Domain filteringโ
- Ignore third-party APIs (on by default) โ skips external hosts so you don't accidentally scan a vendor.
- Capture Domain Patterns โ additional hosts to include. Managed alongside API Discovery settings.
- Exclude Domain Patterns โ hosts to skip (CDNs, analytics, anything you don't own).
Click Next to continue.
Step 4 โ Security Testsโ

Scan depthโ
| Speed | Coverage | Use when | |
|---|---|---|---|
| Smart (default) | Fast | Common, high-confidence issues | You run scans often (every PR, nightly). |
| Thorough | Slow | Deep attack surface, more payload variants | Release scans, pen-test prep, weekly deep runs. |
Test typesโ
| Toggle | Default | What it does |
|---|---|---|
| Passive Scanning | On | Inspects responses for misconfigurations. Safe for prod. |
| Active Scanning | On | Sends injection payloads. Can modify state. |
| CVE Scanning | Off | Checks for known CVEs. Enables the two toggles below. |
| JavaScript Libraries | Off | Detects vulnerable client-side library versions. |
| DOM | Off | Tests DOM-based XSS and client-side injection. |
Active tests can submit forms, create records, and trigger alerts. Run them against staging. If you must scan production, follow Scanning production safely.
Injection Locationsโ
Where payloads are inserted. All five are on by default โ turn off any that don't apply to cut scan time.
- Query โ URL query-string params.
- Body โ request body params.
- Header โ custom headers.
- Cookie โ cookie values.
- Path โ URL path segments.
HTTP Methodsโ
Which HTTP verbs the scanner will test. GET, POST, PUT are on by default. DELETE, PATCH, HEAD, OPTIONS are off โ turn on explicitly if you want them tested.
Enable AI-powered analysisโ
On by default. Runs LLM validation against findings to reduce false positives. Costs more tokens (against either Levo's platform key or your BYOK key).
Create the scanโ
- Review settings โ use Back to edit earlier steps.
- Click Create.
- You're redirected to the scan detail page and the scan starts automatically.
Next stepsโ
- Monitor scan progress
- View and manage findings
- Schedule this scan to re-run
- Automate the same config in CI with
levo-dast.yml