Warden’s DAST (Dynamic Application Security Testing) mode complements its default dependency scanning by probing live infrastructure for open ports, running services, and exploitable vulnerabilities. DAST is configured entirely inside theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/DevDonzo/warden/llms.txt
Use this file to discover all available pages before exploring further.
dast key of your .wardenrc.json. Because DAST scans interact with real network hosts, every option in this section has safety defaults designed to prevent accidental or unauthorized scanning.
Enabling DAST
Add thedast section to your .wardenrc.json and set enabled to true:
dast key is absent or dast.enabled is false, Warden skips all DAST logic and runs in SAST-only mode.
dast.enabled
Master switch for DAST mode. Must be
true before Warden will execute any
network scan.dast.targets
An array of host definitions that Warden is allowed to scan. Every entry must carry an explicit authorization flag.
The target URL or hostname to scan, e.g.
"https://staging.myapp.com" or
"http://localhost:3000". Warden resolves this to a host address for Nmap and
Metasploit.Must be
true for Warden to scan the target. If this field is false or
missing, Warden refuses to scan and exits with an error. This is a deliberate
friction point to prevent accidental scans.A human-readable label for the target, e.g.
"Staging Environment". Appears
in scan reports and advisory PRs.Port override for this specific target. Accepts Nmap-style port syntax: a
single port (
"80"), a comma-separated list ("80,443,8080"), a range
("1-1000"), or a combination ("22,80,443,8000-9000"). When set, this takes
precedence over nmap.portRange for this target.Ports to exclude from the scan for this target, using the same syntax as
ports. Useful for skipping known-noisy or irrelevant services.dast.nmap
Nmap is the primary network discovery and service detection tool in DAST mode. It identifies open ports and the versions of services running on them.
Enable or disable Nmap scanning. Disable this only if you want to run
Metasploit against known ports without first discovering them.
A named scan profile that controls which ports are checked and how aggressively
Nmap probes them. See the scan type descriptions below.
Global port range for all targets that do not set their own
ports override.
Accepts Nmap-style syntax: "1-1000", "80,443", "1-65535", etc.Nmap timing template, an integer between
0 (paranoid/slowest) and 5
(insane/fastest). Higher values complete faster but generate more network load.
Use 2 (polite) or 3 (normal) for production systems.Additional Nmap command-line flags appended to every scan invocation. Common
values include
"-sV" (version detection), "-sC" (default scripts), "-O"
(OS detection), and "-Pn" (skip ping, assume host is up).Output format for Nmap results. Keep this as
"xml" — Warden parses XML to
extract structured findings. "normal" is available for human-readable output
but is not parsed.Nmap Scan Types
quick — Top 100 ports, fast
quick — Top 100 ports, fast
Scans only the 100 most common ports using Nmap’s Effective Nmap flags:
-F (fast) flag and timing
template T4. Completes in roughly 30–60 seconds. Ideal for CI/CD pipelines
and continuous monitoring where you need a quick signal without waiting for a
full scan.-T4 -Fstandard — Ports 1–1000, balanced (default)
standard — Ports 1–1000, balanced (default)
Scans ports 1 through 1000 with version detection (Effective Nmap flags:
-sV) at timing T3. This
is the recommended starting point for most teams — it covers the most commonly
used service ports with a reasonable scan duration of 2–5 minutes.-T3 -sVcomprehensive — All specified ports, deep analysis
comprehensive — All specified ports, deep analysis
Combines version detection, default scripts, and OS/service fingerprinting
(Effective Nmap flags:
-sV -sC -A) across the full portRange. Can take 10–20 minutes or longer
depending on port range. Best suited for quarterly security audits or
pre-production assessments.-T3 -sV -sC -Astealth — SYN scan, slow, avoids detection
stealth — SYN scan, slow, avoids detection
Uses a TCP SYN scan (Effective Nmap flags:
-sS) with timing T2 and no-ping (-Pn) to minimize
noise and reduce the chance of triggering IDS alerts. Very slow — allow 30+
minutes for even a modest port range. Requires root or administrator
privileges on the machine running Warden.-T2 -sS -PnNmap Timing Reference
| Value | Name | Recommended For |
|---|---|---|
2 | Polite | Production systems — minimizes network load |
3 | Normal | Staging environments — balanced speed and caution |
4 | Aggressive | Development and local scans — trusted networks only |
5 | Insane | Localhost only — extreme speed, high load |
dast.metasploit
Metasploit Framework validates and confirms findings from Nmap by running auxiliary scanner modules against detected services. It is disabled by default — add it incrementally after you have reviewed Nmap results.
scan-only mode is strongly recommended for most teams. It uses Metasploit’s
auxiliary scanner modules exclusively — no exploit payloads are executed —
making it safe for authorized testing of staging and production environments.Enable or disable Metasploit scanning. Start with this set to
false and only
enable after successfully running and reviewing Nmap-only scans.Operation mode that determines which Metasploit modules are available.
Specific Metasploit module paths to run, e.g.
["auxiliary/scanner/http/http_version", "auxiliary/scanner/ssh/ssh_version"].
When empty, Warden auto-selects modules based on the services discovered by
Nmap.Maximum time in milliseconds to allow Metasploit to run. Default is 60,000 ms
(1 minute). Increase for comprehensive scans with many modules.
Metasploit Modes
scan-only — Auxiliary scanners, no exploits (recommended)
scan-only — Auxiliary scanners, no exploits (recommended)
Uses only Metasploit auxiliary scanner modules. No exploit payloads are loaded
or executed. Services are probed for version information and basic
configuration issues. This mode is suitable for authorized scans of staging and
production environments.
safe-exploits — Non-destructive validation
safe-exploits — Non-destructive validation
Adds non-destructive verification modules on top of all scan-only modules.
Confirms whether discovered vulnerabilities are actually exploitable without
causing service disruption. Still requires explicit written authorization.
full — All modules, professional pentesting only
full — All modules, professional pentesting only
Enables the full Metasploit module library including destructive exploit
payloads. This mode can modify or disrupt target systems. It is intended
exclusively for professional penetration testers operating under a detailed,
written authorization agreement. Do not use in regular CI/CD pipelines.
dast.safety
Safety controls are enforced regardless of what other DAST settings request. These defaults exist to prevent accidents — change them only if you understand the implications.
When
true, Warden displays a detailed warning and prompts for interactive
confirmation before starting any DAST scan. Disable this only in fully
automated CI environments where you have verified authorization via other means.When
true, Warden skips any target that does not have "authorized": true
in its configuration. Never set this to false.When
true, exploit modules are disabled at the safety layer regardless of the
metasploit.mode setting. This acts as a hard override — even if mode is
"full", no exploits will run while this flag is true.Maximum total scan duration in milliseconds (default 1,800,000 ms = 30 minutes).
Warden automatically terminates the scan if this limit is exceeded, preventing
runaway scans from blocking your pipeline indefinitely.
Complete DAST Configuration Example
The following is a production-ready DAST configuration with Nmap enabled and Metasploit in scan-only mode:Running a DAST Scan
Once your configuration is in place, run a DAST scan against a specific target:scan-results/dast/ directory:
| File | Contents |
|---|---|
scan-results/dast/scan-TIMESTAMP.json | Merged JSON findings |
scan-results/dast/nmap-TIMESTAMP.xml | Raw Nmap XML output |
scan-results/dast/msf-output-TIMESTAMP.txt | Metasploit console output |
scan-results/scan-report.html | Combined HTML report |