Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Deep integration with OWASP ZAP for automated security scanning, vulnerability detection, and API security testing. Execute spider/active scans, analyze alerts, generate security reports, and integrate with CI/CD pipelines.
.claude/skills/a5c-ai-owasp-zap-security/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 75% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 73% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 93% | 0% |
| case-05 | ✓→✓ | = Same ✓ | -43% | 0% |
You are owasp-zap-security - a specialized skill for OWASP ZAP security scanning integration, providing comprehensive security testing capabilities for web applications and APIs.
This skill enables AI-powered security testing including:
Set up ZAP for security testing:
bash# Docker-based ZAP (recommended for CI/CD) docker pull zaproxy/zap-stable # Run ZAP in daemon mode docker run -d --name zap -p 8080:8080 zaproxy/zap-stable zap.sh -daemon -host 0.0.0.0 -port 8080 -config api.addrs.addr.name=.* -config api.addrs.addr.regex=true # Verify ZAP is running curl http://localhost:8080/JSON/core/view/version/
Crawl web applications to discover attack surface:
bash# Start spider scan curl "http://localhost:8080/JSON/spider/action/scan/?url=https://target.example.com&recurse=true" # Check spider status curl "http://localhost:8080/JSON/spider/view/status/" # Get spider results curl "http://localhost:8080/JSON/spider/view/results/"
Execute comprehensive vulnerability scans:
bash# Start active scan curl "http://localhost:8080/JSON/ascan/action/scan/?url=https://target.example.com&recurse=true&inScopeOnly=true" # Check scan progress curl "http://localhost:8080/JSON/ascan/view/status/" # Get alerts curl "http://localhost:8080/JSON/core/view/alerts/?baseurl=https://target.example.com"
Test APIs using OpenAPI/Swagger specifications:
bash# Import OpenAPI spec curl "http://localhost:8080/JSON/openapi/action/importUrl/?url=https://api.example.com/openapi.json" # Or import from file curl "http://localhost:8080/JSON/openapi/action/importFile/?file=/path/to/openapi.json" # Scan API endpoints curl "http://localhost:8080/JSON/ascan/action/scan/?url=https://api.example.com"
Quick baseline scans for pipeline integration:
bash# Docker baseline scan docker run -t zaproxy/zap-stable zap-baseline.py \ -t https://target.example.com \ -g gen.conf \ -r report.html # API baseline scan docker run -t zaproxy/zap-stable zap-api-scan.py \ -t https://api.example.com/openapi.json \ -f openapi \ -r api-report.html
Handle authenticated scans:
bash# Form-based authentication curl "http://localhost:8080/JSON/authentication/action/setAuthenticationMethod/?contextId=1&authMethodName=formBasedAuthentication&authMethodConfigParams=loginUrl=https://target.example.com/login&loginRequestData=username={%username%}%26password={%password%}" # Set credentials curl "http://localhost:8080/JSON/users/action/setAuthenticationCredentials/?contextId=1&userId=1&authCredentialsConfigParams=username=testuser&password=testpass"
Generate security reports:
bash# HTML report curl "http://localhost:8080/OTHER/core/other/htmlreport/" > security-report.html # JSON report curl "http://localhost:8080/JSON/core/view/alerts/" > alerts.json # XML report curl "http://localhost:8080/OTHER/core/other/xmlreport/" > security-report.xml
| Level | Risk | Description | |-------|------|-------------| | 3 | High | Critical vulnerabilities requiring immediate action | | 2 | Medium | Significant issues to address before production | | 1 | Low | Minor issues with limited impact | | 0 | Informational | Best practice recommendations |
| OWASP Category | ZAP Detection | |----------------|---------------| | A01:2021 - Broken Access Control | Active scan, authentication tests | | A02:2021 - Cryptographic Failures | SSL/TLS checks, cookie flags | | A03:2021 - Injection | SQL, XSS, Command injection tests | | A04:2021 - Insecure Design | Business logic testing | | A05:2021 - Security Misconfiguration | Header analysis, error handling | | A06:2021 - Vulnerable Components | Technology fingerprinting | | A07:2021 - Identification Failures | Session management, auth bypass | | A08:2021 - Software/Data Integrity | CSP, SRI checks | | A09:2021 - Logging Failures | Information disclosure | | A10:2021 - SSRF | Server-side request testing |
This skill can leverage the following MCP servers for enhanced capabilities:
| Server | Description | Installation | |--------|-------------|--------------| | dtkmn/mcp-zap-server | Spring Boot OWASP ZAP MCP | GitHub | | ajtazer/ZAP-MCP | Python-based ZAP MCP | GitHub | | ZAP-MCP (mcp.so) | Model Context Protocol for ZAP | mcp.so |
This skill integrates with the following processes:
security-testing.js - All phases of security testingapi-testing.js - API security validationquality-gates.js - Security gate enforcementcontinuous-testing.js - CI/CD security integrationWhen executing operations, provide structured output:
json{ "operation": "active-scan", "target": "https://target.example.com", "status": "completed", "summary": { "high": 2, "medium": 5, "low": 12, "informational": 8 }, "criticalFindings": [ { "alert": "SQL Injection", "risk": "High", "url": "https://target.example.com/api/users", "parameter": "id", "evidence": "SQL syntax error", "solution": "Use parameterized queries" } ], "reportPath": "./security-report.html" }
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 9,589 | 10,957 | +14% | 1 | 1 | 0% | 1,157 | 2,782 | +140% | 0 | 0 | — |
case-02 | fail→fail | 7,918 | 7,606 | -4% | 1 | 1 | 0% | 791 | 2,739 | +246% | 0 | 0 | — |
case-03 | fail→fail | 16,898 | 6,562 | -61% | 1 | 1 | 0% | 3,264 | 2,663 | -18% | 0 | 0 | — |
case-04 | pass→pass | 10,624 | 5,690 | -46% | 1 | 1 | 0% | 1,639 | 3,159 | +93% | 0 | 0 | — |
case-05 | pass→pass | 26,551 | 2,416 | -91% | 1 | 1 | 0% | 4,120 | 2,336 | -43% | 0 | 0 | — |
case-06 | pass→pass | 10,941 | 3,053 | -72% | 1 | 1 | 0% | 1,765 | 2,596 | +47% | 0 | 0 | — |
case-07 | pass→pass | 8,792 | 3,478 | -60% | 1 | 1 | 0% | 1,537 | 2,598 | +69% | 0 | 0 | — |
case-08 | pass→pass | 6,320 | 3,166 | -50% | 1 | 1 | 0% | 1,097 | 2,559 | +133% | 0 | 0 | — |
case-09 | pass→pass | 12,111 | 3,879 | -68% | 1 | 1 | 0% | 1,735 | 2,831 | +63% | 0 | 0 | — |
case-10 | fail→pass | 8,911 | 3,451 | -61% | 1 | 1 | 0% | 1,434 | 2,511 | +75% | 0 | 0 | — |
case-11 | pass→pass | 7,476 | 3,951 | -47% | 1 | 1 | 0% | 1,401 | 2,707 | +93% | 0 | 0 | — |
case-12 | pass→pass | 8,071 | 3,041 | -62% | 1 | 1 | 0% | 1,379 | 2,529 | +83% | 0 | 0 | — |
case-13 | pass→pass | 7,062 | 5,725 | -19% | 1 | 1 | 0% | 1,356 | 2,669 | +97% | 0 | 0 | — |
case-14 | fail→pass | 11,740 | 4,286 | -63% | 1 | 1 | 0% | 1,443 | 2,497 | +73% | 0 | 0 | — |
case-15 | pass→pass | 13,019 | 4,252 | -67% | 1 | 1 | 0% | 1,822 | 2,565 | +41% | 0 | 0 | — |
case-16 | pass→pass | 10,563 | 4,038 | -62% | 1 | 1 | 0% | 1,833 | 2,483 | +35% | 0 | 0 | — |
case-17 | fail→pass | 8,041 | 2,024 | -75% | 1 | 1 | 0% | 1,533 | 2,347 | +53% | 0 | 0 | — |
case-18 | pass→pass | 14,374 | 15,068 | +5% | 1 | 1 | 0% | 2,512 | 4,984 | +98% | 0 | 0 | — |
case-19 | pass→pass | 16,780 | 17,617 | +5% | 1 | 1 | 0% | 2,387 | 5,107 | +114% | 0 | 0 | — |
case-20 | fail→fail | 8,349 | 9,347 | +12% | 1 | 1 | 0% | 1,679 | 3,775 | +125% | 0 | 0 | — |
case-21 | fail→fail | 5,296 | 9,712 | +83% | 1 | 1 | 0% | 873 | 3,426 | +292% | 0 | 0 | — |
case-22 | fail→fail | 6,051 | 7,557 | +25% | 1 | 1 | 0% | 612 | 2,559 | +318% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +14 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.