dynamic-scan

Runs OWASP ZAP dynamic security scans against running web applications and APIs via Docker.

1|Updated Jun 27, 2026
One-click install
npx skills add https://github.com/vickysrawat/AI-Assisted-development --skill dynamic-scan-vickysrawat
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dynamic-scan
Source: https://github.com/vickysrawat/AI-Assisted-development/tree/main/skills/dynamic-scan
Command: npx skills add https://github.com/vickysrawat/AI-Assisted-development --skill dynamic-scan-vickysrawat

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Static analysis cannot find runtime vulnerabilities like authentication bypasses, injection flaws reachable only over HTTP, or misconfigured TLS and headers on a live server. This Skill performs DAST (dynamic application security testing) against a running web app or API using OWASP ZAP in Docker, and audits dependencies for known vulnerabilities. ## Core Features & Use Cases - ZAP Automation Framework scans: Generates a single zap-plan.yaml with passive, spider, active-scan, report, and CI exit-status jobs, supporting Angular SPAs, ASP.NET MVC/Web API/Blazor/Razor Pages, Spring Boot, and Python (FastAPI/Django/Flask) targets. - Authentication-aware scanning: Configures form, token/JWT, Azure AD, and Windows/NTLM auth with a mandatory logged-in verification gate before scanning. - Dependency vulnerability audit: Runs dotnet list package --vulnerable, npm audit, pip-audit, or Maven/Gradle checks alongside or instead of the live scan. - Source-mapped fixes and ledger: Maps HTTP-layer findings back to controller/route source files, applies business-context severity overrides, and writes an HTML report plus a fingerprinted findings ledger for /fix and CI gating. - Use Case: Point it at a local staging URL of your ASP.NET MVC app, confirm the authorization gate, and receive a severity-rated HTML report with concrete file:line fixes and a diff against the previous scan. ## Quick Start Run a dynamic scan against my running app at https://localhost:5001 using a passive baseline scan plus dependency audit.

Frequently Asked Questions about dynamic-scan

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a DAST scan against my local web app with OWASP ZAP?

Invoke the dynamic scan with your target URL, for example a passive baseline scan against https://localhost:5001. The skill rewrites localhost to host.docker.internal, generates a ZAP Automation Framework plan, and runs it in the ghcr.io/zaproxy/zaproxy:stable Docker container.

What is the difference between dynamic scan and static security review?

Dynamic scan (DAST) tests a running application over HTTP using OWASP ZAP, finding runtime-reachable issues like injection and auth flaws. The static security skill (SAST) analyzes source code without executing it. They share scope flags, severity mapping, and consent rules.

Does OWASP ZAP scanning work with Windows Authentication or NTLM?

NTLM is unreliable headless in Docker. The skill stops and offers three options: configure and test in ZAP Desktop then export the context, fall back to Basic auth if IIS allows it, or inject a pre-authenticated session cookie for one-shot scans.

Can I scan an ASP.NET Web API that has no Swagger spec?

Yes. The skill extracts routes from [Route] and [HttpGet/Post] attributes and minimal-API MapGet/MapPost calls, then asks you to confirm the derived endpoint list before seeding ZAP. If a Swagger/OpenAPI file exists, --swagger imports it for full coverage.

Why does my ZAP scan report nothing after login?

A missing verification strategy means ZAP never runs the auth script and only scans the login page. The skill enforces a logged-in/logged-out indicator and checks the stats.auth.state.loggedin statistic, stopping with an error if authentication failed.

What are the limitations of this dynamic scanning approach?

WebSocket/SignalR message fuzzing, deep GraphQL fuzzing beyond import, and fully headless OAuth/Azure AD login are deferred to v2. Active scans also require explicit confirmation that the target is non-production and authorized, since they send attack payloads.