dast-runtime
Skill0 starsChanged 5 months agoMITView on GitHub
This skill should be used when the user asks to "run a DAST scan", "scan the running app", "run OWASP ZAP", "run Nuclei", "penetration test", "Web-App-Security prüfen", "Runtime-Security", "API security scan", "check security headers/injection on a live URL", or wants to test a running application for exploitable vulnerabilities. Runs OWASP ZAP + Nuclei in Docker against a URL, processed directly in Claude Code.
- Reads credentials
In this repository11 other files it gives its agents.
- architecture-analysisSkill
- bearer-privacySkill
- build-verifySkill
- code-audit-suiteSkill
- kubescape-k8sSkill
- license-complianceSkill
- megalinter-qualitySkill
- opengrep-sastSkill
- secrets-scanSkill
- sonarqube-qualitySkill
- trivy-securitySkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Only scan applications you own or are explicitly authorized to test.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
DAST Runtime
Purpose
Dynamic, runtime security testing — the axis SonarQube structurally cannot reach, because it never executes the application. This skill attacks a running app and confirms what is actually exploitable:
- OWASP ZAP — spiders and attacks the live app: injection (SQLi/XSS), broken auth/session, missing security headers (CSP/HSTS), CORS misconfig, SSRF reachable through the deployment.
- Nuclei — fast template-based detection of known CVEs and misconfigurations
at the deployment (vulnerable framework/proxy versions, exposed admin panels,
leaked
.env, default credentials). New templates often land hours after a disclosure.
They are complementary on the same axis (ZAP = deep crawl/attack, Nuclei = broad known-issue templating), so both run.
Authorization
Only scan applications you own or are explicitly authorized to test. ZAP's full scan actively attacks the target.
Core Workflow (drive to zero)
- Start the app locally (e.g. on
http://localhost:3000). - Scan:
~/.claude/skills/dast-runtime/scripts/scan.sh http://localhost:3000- Passive + spider by default (safe,
zap-baseline.py). ZAP_FULL=1 scan.sh <url>runs the active attack (zap-full-scan.py).- For an API, pass the OpenAPI spec URL as the 2nd argument →
scan.sh <base-url> http://localhost:3000/openapi.json(useszap-api-scan.py).
- Passive + spider by default (safe,
- Fix each alert at the source: add the missing header, parameterize the query, fix the auth check, upgrade the vulnerable component Nuclei flags.
- Re-run until
RESULT: PASS.
Notes
localhost/127.0.0.1in the URL are rewritten tohost.docker.internalautomatically so the scanner containers reach the host-published app.- Nuclei templates are cached in the
nuclei-templatesDocker volume; they update on first use. - ZAP exit codes: 0 = clean, 1 = fail, 2 = warnings — both non-zero outcomes drive the loop.
Resources
scripts/scan.sh— runs ZAP (baseline/full/api) + Nuclei against a URL, host-network aware, exit 1 on findings. Env:ZAP_FULL.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

