All skills
hardw00t avatar

/dast-automation

@f9bb3b2
by Hardik Mehtahardw00t/ai-security-arsenal104 stars
15

Automated Dynamic Application Security Testing (DAST) using Playwright MCP plus standard OS pentest tooling. Performs blackbox or greybox scans on single or multiple domains with orchestrated crawling, vulnerability detection, and structured output. Trigger on requests like "scan this domain", "run DAST on these URLs", "automated pentest", or "security-test the staging app".

Use this Skill: https://skilld.dev/gh/hardw00t/ai-security-arsenal/dast-automation

This session only. Nothing lands on disk.

SKILL.md

β‰ˆ99 tokens always: the name and description. β‰ˆ2.1k when used: this file. β‰ˆ49k more on demand in 25 files.

DAST Automation with Playwright MCP

Thin router. Specific guidance lives in workflows/, methodology/, payloads/, and examples/. Read this file first, then lazy-load only the files you need for the task.

When to Use

  • Operator asks for a DAST / dynamic security scan of one or more web apps.
  • Blackbox external scan of a single domain.
  • Greybox (authenticated) scan with provided credentials.
  • Parallel scanning across a fleet of domains.
  • Setting up continuous / scheduled DAST with baseline diffing.
  • CI/CD integration to block regressions on new Critical/High issues.

Trigger Phrases

"scan <domain>", "run DAST", "blackbox scan", "greybox scan", "authenticated pentest", "spider and test this app", "security-test these URLs", "weekly security scan", "continuous DAST".

When NOT to Use This Skill

  • Source-code SAST / dependency CVEs β†’ use sast-automation / sca-automation.
  • Container image CVE scanning β†’ use container-security.
  • IaC / Terraform / K8s manifest misconfig scanning β†’ use iac-security.
  • Mobile app runtime testing (Frida, MASTG) β†’ use mobile-security.
  • Network/host hardening audit without web surface β†’ use network-audit.
  • Manual bug-bounty research on a single target β†’ use this skill for surface mapping but switch to hackerone-research for narrative PoC work.

Decision Tree

Domains = 1 ──→ creds provided? ──→ no  β†’ workflows/blackbox_single_domain.md
                                 └─→ yes β†’ workflows/greybox_authenticated.md

Domains β‰₯ 2 ──→ one-shot scan ──→ workflows/multi_domain_parallel.md
            β””β†’ recurring schedule ─→ workflows/continuous_scanning.md

Any mode ──→ emit schemas/finding.json β†’ methodology/reporting.md

Parallelism Hints

Independent β€” run concurrently:

  • Phase 0 recon tools: nmap, whatweb, ffuf, subfinder, root-level nuclei.
  • Per-injection-class test batches (XSS, SQLi, SSRF, path traversal, CRLF) after crawl finishes.
  • One sub-agent per domain in multi-domain mode.
  • One sub-agent per low-priv account when running IDOR diff.

Must be sequential:

  • Playwright login must complete before greybox crawl starts (storageState is consumed downstream).
  • Crawl must complete before Nuclei endpoint overlay.
  • Business-logic tests run after authed crawl builds the workflow map.
  • Baseline diff runs after the current scan's output.json is finalized.

Sub-Agent Delegation

Spawn sub-agents (via the Task tool) when:

Scenario Sub-agent granularity Cap
Multi-domain scan One per domain 5 concurrent
Focused single-target triage One per vuln class (XSS, SQLi, SSRF, IDOR, business-logic) 5 concurrent
IDOR / authz diff One per account identity 2–3 (one per tier)
Continuous fleet One per domain per schedule tick 5 concurrent

Each sub-agent writes to its own results/<scope>/ directory and returns a path to output.json. The parent aggregates; sub-agents never cross-read each other's output mid-run.

Reasoning Budget

Extended thinking on:

  • Business-logic flaw analysis (pricing, workflow skip, race conditions) β€” see payloads/business_logic.txt.
  • Multi-step workflow mapping (checkout, KYC, password reset).
  • IDOR model: which IDs are tenant-scoped, which are global, which are predictable.
  • Severity/confidence calibration for ambiguous findings.
  • Greybox auth failure triage (CAPTCHA, 2FA, CSRF-on-login).

No / minimal thinking on:

  • Rote payload injection from payloads/*.txt against discovered inputs.
  • Running standard recon tools with stock flags.
  • Nuclei overlay pass.
  • Emitting JSON conforming to schemas/finding.json.

Multimodal Hooks

  • Playwright screenshots β€” captured per-entry; path stored at evidence.playwright_screenshot_path.
  • Optional Playwright .zip trace for time-travel debugging of complex finding repros.
  • Network HAR exports attachable to high-severity findings.
  • Visual diff between low-priv and high-priv account views (IDOR evidence).

Structured Output

Every output entry conforms to schemas/finding.json. DAST-specific fields: affected.url, affected.http_method, affected.parameter, affected.payload, affected.http_status, affected.authenticated_as, evidence.playwright_screenshot_path, evidence.playwright_trace_path, evidence.har_path.

Workflow Index

File When
workflows/blackbox_single_domain.md One domain, no creds
workflows/greybox_authenticated.md One domain, with creds
workflows/multi_domain_parallel.md β‰₯2 domains, one-shot
workflows/continuous_scanning.md Scheduled / CI recurring

Methodology Index

File Phase
methodology/recon.md Phase 0 β€” surface discovery
methodology/crawling.md Phase 1 β€” Playwright BFS + auth
methodology/vuln_testing.md Phase 2 β€” injection, authz, logic
methodology/reporting.md Phase 3 β€” output artifacts & gating

Payloads Index

File Content
payloads/xss_contexts.txt HTML, attribute, JS, URL, WAF-bypass XSS
payloads/sqli.txt Auth-bypass, error, time, boolean, union, sqlmap flags
payloads/ssrf_cloud_metadata.txt AWS/GCP/Azure/K8s metadata URLs, IP bypass
payloads/path_traversal.txt Unix/Windows traversal, CVE patterns, target files
payloads/crlf_smuggling.txt CRLF header injection, CL.TE/TE.CL smuggling
payloads/jwt_attacks.txt alg:none, key confusion, kid/jku, weak HMAC
payloads/business_logic.txt Price, workflow skip, race, IDOR, mass assignment

References Index

File Content
references/hackerone_attack_patterns.md 6,894 HackerOne patterns across 157 categories (pointer β€” don't inline)
references/bounty_patterns_2024_2026.md Post-2023 bounty TTPs (TE.0 smuggling, HTTP/2 CONNECT scan, WAFFLED parser bypass, SVG/popover XSS, base64-SSRF, prototype pollution, cache deception)
references/advanced_exploitation_techniques.md OS-tool deep dives (sqlmap, nuclei, jwt_tool, etc.)
references/dast_methodology.md Full long-form methodology
references/playwright_security_patterns.md Playwright-specific security patterns
references/vulnerability_testing.md Exhaustive vuln-class test catalogue
references/tool_configuration.md Per-tool config templates
references/api_testing.md API-specific DAST
references/reporting_guide.md Long-form report customization

Examples Index

File Scenario
examples/blackbox_basic.md Single-domain blackbox tool-call blueprint
examples/greybox_multi_domain.md Authenticated multi-domain with sub-agents
examples/continuous_setup.md Setting up scheduled scans
examples/github_actions_dast.yml Drop-in CI workflow

Tools

Name Purpose Install
Playwright MCP Browser automation, crawling, auth, evidence MCP server in Claude config
nmap Port/service discovery apt install nmap
subfinder Passive subdomain enum go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
whatweb Tech fingerprinting apt install whatweb
ffuf Content discovery go install github.com/ffuf/ffuf/v2@latest
nuclei CVE / misconfig / panel templates go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
sqlmap Automated SQLi apt install sqlmap
nikto Web-server misconfig (optional) apt install nikto
jwt_tool JWT attacks pip install jwt_tool
interactsh-client OOB exfil for SSRF/blind RCE go install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest

Helper scripts live under scripts/ (entry points: playwright_dast_scanner.py, dast_orchestrator.py, check_findings.py).

Last Validated

  • Date: 2026-04
  • Minimum versions: Playwright β‰₯ 1.45, nuclei β‰₯ 3.2, sqlmap β‰₯ 1.8, ffuf β‰₯ 2.1, Python β‰₯ 3.12.
  • Requires Playwright MCP to be configured and reachable before greybox scans.

Source: SKILL.md on GitHub

1 alert3mo3 checks Β· Risk SAFE
  • Gen Agent Trust Hub3mo

    The skill provides a comprehensive framework for automated dynamic application security testing (DAST). It utilizes Playwright for browser automation and integrates various security tools like Nuclei and SQLMap. While the skill includes numerous attack patterns and destructive payloads, these are documented as reference material and test cases to be applied against target systems. The skill follows security best practices for credential management and scoping.

  • Socket3mo

    2 alerts: gptSecurity

  • Snyk3mo

    Risk: CRITICAL Β· 2 issues

Signed by skilld at f9bb3b2. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Steadyupdated 6 months ago

README badge

README badge for hardw00t/ai-security-arsenal/dast-automation