Security Policy

OWASP ZAP API Scan — Baseline Report

Date: 2026-03-10 Tool: OWASP ZAP (ghcr.io/zaproxy/zaproxy:stable) Scan type: API Scan with OpenAPI specification Target: http://localhost:2187/api/v1/OpenAPI spec: docs/api/openapi.yaml

Summary

CategoryCount
Active scan rules tested53
PASS52
WARN1
FAIL0

Active Scan Results

Injection Attacks

Rule IDTestResult
40018SQL Injection (Generic)✅ PASS
40019SQL Injection — MySQL (Time Based)✅ PASS
40020SQL Injection — Hypersonic SQL (Time Based)✅ PASS
40021SQL Injection — Oracle (Time Based)✅ PASS
40022SQL Injection — PostgreSQL (Time Based)✅ PASS
40027SQL Injection — MsSQL (Time Based)✅ PASS
90021XPath Injection✅ PASS
90029SOAP XML Injection✅ PASS
90017XSLT Injection✅ PASS

Cross-Site Scripting (XSS)

Rule IDTestResult
40012Cross Site Scripting (Reflected)✅ PASS
40014Cross Site Scripting (Persistent)✅ PASS
40016Cross Site Scripting (Persistent) — Prime✅ PASS
40017Cross Site Scripting (Persistent) — Spider✅ PASS
40026Cross Site Scripting (DOM Based)✅ PASS

Remote Code Execution

Rule IDTestResult
20018Remote Code Execution — CVE-2012-1823✅ PASS
40048Remote Code Execution (React2Shell)✅ PASS
90019Server Side Code Injection✅ PASS
90020Remote OS Command Injection✅ PASS
90037Remote OS Command Injection (Time Based)✅ PASS

Server-Side Attacks

Rule IDTestResult
90023XML External Entity Attack✅ PASS
40009Server Side Include✅ PASS
90035Server Side Template Injection✅ PASS
90036Server Side Template Injection (Blind)✅ PASS
90026SOAP Action Spoofing✅ PASS
40044Exponential Entity Expansion (Billion Laughs)✅ PASS

Path & File Attacks

Rule IDTestResult
6Path Traversal✅ PASS
7Remote File Inclusion✅ PASS
40032.htaccess Information Leak✅ PASS
40034.env Information Leak✅ PASS
40035Hidden File Finder✅ PASS

Authentication & Session

Rule IDTestResult
3Session ID in URL Rewrite✅ PASS
20019External Redirect✅ PASS
90033Loosely Scoped Cookie✅ PASS

Known CVEs

Rule IDTestResult
40043Log4Shell✅ PASS
40045Spring4Shell✅ PASS
90001Insecure JSF ViewState✅ PASS
90002Java Serialization Object✅ PASS

Infrastructure

Rule IDTestResult
30001Buffer Overflow✅ PASS
30002Format String Error✅ PASS
40003CRLF Injection✅ PASS
40008Parameter Tampering✅ PASS
40028ELMAH Information Leak✅ PASS
40029Trace.axd Information Leak✅ PASS
40042Spring Actuator Information Leak✅ PASS
90004Insufficient Site Isolation Against Spectre✅ PASS
90011Charset Mismatch✅ PASS
90022Application Error Disclosure✅ PASS
90024Generic Padding Oracle✅ PASS
90030WSDL File Detection✅ PASS
90034Cloud Metadata Potentially Exposed✅ PASS
90003Sub Resource Integrity Attribute Missing✅ PASS
50000Script Active Scan Rules✅ PASS
50001Script Passive Scan Rules✅ PASS

Warnings

Rule IDTestResultDetails
100001Unexpected Content-Type⚠️ WARN13 instances — SPA fallback returns text/html for unknown paths. This is expected behavior: Vue Router handles client-side routing, so the server returns the SPA shell for any unrecognized path. Not a security issue.

How to Reproduce

# Start Capacitarr
make build

# Run ZAP API scan
make security:zap

# Reports generated:
#   zap-report.html  — full HTML report
#   zap-report.md    — markdown summary