hardw00t/ai-security-arsenal

dast-automation

Automated Dynamic Application Security Testing (DAST) using Playwright MCP plus standard OS pentest tooling.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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:

ScenarioSub-agent granularityCap
Multi-domain scanOne per domain5 concurrent
Focused single-target triageOne per vuln class (XSS, SQLi, SSRF, IDOR, business-logic)5 concurrent
IDOR / authz diffOne per account identity2–3 (one per tier)
Continuous fleetOne per domain per schedule tick5 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

FileWhen
workflows/blackbox_single_domain.mdOne domain, no creds
workflows/greybox_authenticated.mdOne domain, with creds
workflows/multi_domain_parallel.md≥2 domains, one-shot
workflows/continuous_scanning.mdScheduled / CI recurring

Methodology Index

FilePhase
methodology/recon.mdPhase 0 — surface discovery
methodology/crawling.mdPhase 1 — Playwright BFS + auth
methodology/vuln_testing.mdPhase 2 — injection, authz, logic
methodology/reporting.mdPhase 3 — output artifacts & gating

Payloads Index

FileContent
payloads/xss_contexts.txtHTML, attribute, JS, URL, WAF-bypass XSS
payloads/sqli.txtAuth-bypass, error, time, boolean, union, sqlmap flags
payloads/ssrf_cloud_metadata.txtAWS/GCP/Azure/K8s metadata URLs, IP bypass
payloads/path_traversal.txtUnix/Windows traversal, CVE patterns, target files
payloads/crlf_smuggling.txtCRLF header injection, CL.TE/TE.CL smuggling
payloads/jwt_attacks.txtalg:none, key confusion, kid/jku, weak HMAC
payloads/business_logic.txtPrice, workflow skip, race, IDOR, mass assignment

References Index

FileContent
references/hackerone_attack_patterns.md6,894 HackerOne patterns across 157 categories (pointer — don't inline)
references/bounty_patterns_2024_2026.mdPost-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.mdOS-tool deep dives (sqlmap, nuclei, jwt_tool, etc.)
references/dast_methodology.mdFull long-form methodology
references/playwright_security_patterns.mdPlaywright-specific security patterns
references/vulnerability_testing.mdExhaustive vuln-class test catalogue
references/tool_configuration.mdPer-tool config templates
references/api_testing.mdAPI-specific DAST
references/reporting_guide.mdLong-form report customization

Examples Index

FileScenario
examples/blackbox_basic.mdSingle-domain blackbox tool-call blueprint
examples/greybox_multi_domain.mdAuthenticated multi-domain with sub-agents
examples/continuous_setup.mdSetting up scheduled scans
examples/github_actions_dast.ymlDrop-in CI workflow

Tools

NamePurposeInstall
Playwright MCPBrowser automation, crawling, auth, evidenceMCP server in Claude config
nmapPort/service discoveryapt install nmap
subfinderPassive subdomain enumgo install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
whatwebTech fingerprintingapt install whatweb
ffufContent discoverygo install github.com/ffuf/ffuf/v2@latest
nucleiCVE / misconfig / panel templatesgo install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
sqlmapAutomated SQLiapt install sqlmap
niktoWeb-server misconfig (optional)apt install nikto
jwt_toolJWT attackspip install jwt_tool
interactsh-clientOOB exfil for SSRF/blind RCEgo 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.
from this repository

More skills

All skills
hardw00t
Community

api-security

Router skill for API penetration testing across REST, GraphQL, gRPC, and WebSocket. Covers OWASP API Top 10 (2023) including BOLA/BFLA/BOPLA, JWT attack chains, GraphQL introspection abuse, and mass assignment. Invoke when the user asks to pentest an API, analyze OpenAPI/Swagger, test auth/authorization, fuzz endpoints, or find API vulnerabilities.

installs
1
GitHub stars
101
Updated
Apr 19
hardw00t
Community

cloud-security

Multi-cloud security assessment skill for AWS, Azure, and GCP. Use when performing cloud security audits, scanning for misconfigurations, testing IAM policies, auditing storage permissions, and identifying privilege escalation paths. Triggers on requests to audit cloud security, scan AWS/Azure/GCP, check cloud misconfigurations, or perform cloud penetration testing. Covers CIS benchmarks, CSPM, and cross-cloud identity federation.

installs
1
GitHub stars
101
Updated
Apr 19
hardw00t
Community

iac-security

Infrastructure-as-Code security scanning router for Terraform, CloudFormation, Kubernetes manifests, Helm, ARM/Bicep. Orchestrates Checkov, tfsec, Terrascan, KICS, kubesec, kube-linter, Polaris, cfn-lint/cfn-nag, and OPA/Conftest. Use when auditing IaC for misconfigurations, scanning Terraform plans, validating K8s security policies, checking cloud infrastructure compliance, or authoring custom policy-as-code (Rego).

installs
1
GitHub stars
101
Updated
Apr 19
hardw00t
Community

llm-security

LLM and AI application security testing skill for prompt injection (direct, indirect, multimodal), system-prompt extraction, RAG poisoning, memory poisoning, MCP server injection, skill-file injection, agentic tool misuse, computer-use UI injection, and excessive agency. Authorization required — this skill tests AI systems you are explicitly permitted to assess. Triggers on requests to test LLM / AI-agent / RAG / MCP / computer-use security, perform prompt injection, extract system prompts, poison RAG or memory, audit agent tool use, or evaluate AI guardrails.

installs
1
GitHub stars
101
Updated
Apr 19