All skills
hardw00t avatar

/dast-automation

@f9bb3b2

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.

workflowsmulti_domain_parallel.md

≈650 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Workflow: Multi-domain parallel DAST

Trigger: "Scan these domains: a.com, b.com, c.com" / "run DAST across our fleet".

Parallelization model

One sub-agent per domain. Each sub-agent independently runs workflows/blackbox_single_domain.md (or greybox_authenticated.md) against its assigned host. The parent agent aggregates.

             ┌─── sub-agent A ──→ workflows/blackbox_single_domain.md (a.com)
orchestrator─┼─── sub-agent B ──→ workflows/blackbox_single_domain.md (b.com)
             ├─── sub-agent C ──→ workflows/greybox_authenticated.md  (c.com)
             └─── sub-agent N ──→ ...

Default concurrency cap: 5 sub-agents. Raise only if:

  • Each target is on a separate origin (no shared WAF).
  • Operator confirms infrastructure can absorb aggregate load.

Dispatch pattern

# Pseudocode — the parent agent emits this by spawning sub-agents via the Task tool
for domain in domains:
    spawn_subagent(
        workflow="blackbox_single_domain",
        target=domain,
        output_dir=f"results/{domain}/",
        cap_rps=5,
    )
# Wait for all; aggregate
merged = aggregate_finding_jsons("results/*/output.json")
write("results/aggregate.json", merged)

Per-sub-agent contract

Each sub-agent MUST:

  1. Confine writes to results/<its-domain>/.
  2. Emit output.json conforming to schemas/finding.json.
  3. Never read another sub-agent's output mid-run.
  4. Honor per-host rate limits independently.

Aggregation

The parent composes:

  • results/aggregate.json — union of all per-domain output.json.
  • results/aggregate.html — sorted by severity then domain.
  • results/cross_domain.md — patterns recurring across >1 domain (candidate for systemic fix).

Safety

  • Mixed blackbox+greybox fleet: run all blackbox first so a misbehaving auth scan doesn't poison unrelated hosts with shared credentials.
  • Shared WAF/CDN: sequence domains behind the same WAF to avoid collective rate-limit block.
  • Prod + staging in the same run: quarantine prod outputs from staging outputs.

Resource tuning

Domains Concurrent sub-agents Per-target RPS Total RPS
1–3 N 10 ≤30
4–10 5 5 ≤25
10+ 5 (queue rest) 3 ≤15

Related

  • Single domain: workflows/blackbox_single_domain.md
  • Scheduled: workflows/continuous_scanning.md

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