OWASP ZAP
Open-source web application security scanner — DAST scanning, intercepting proxy, and fuzzing.
Pricing
Free / Open source
Type
Automation
Languages
Java
// VERDICT
Reach for OWASP ZAP when you want a free, automatable DAST scanner to find runtime vulnerabilities in a web app or API, including in CI. Skip it when you need static/dependency analysis or Burp's deeper manual pentest tooling.
Best for
Free, open-source dynamic application security testing (DAST) - scanning a running web app or API for vulnerabilities, with strong automation/CI support.
Avoid when
You want static code analysis (SAST), dependency scanning, or the depth of a commercial pentest tool's manual tooling.
CI/CD fit
ZAP CLI / Docker · GitHub Actions · GitLab CI · Jenkins
Languages
Java
Team fit
AppSec teams · SDETs adding security · DevSecOps · QA on a budget
Setup
Maintenance
Learning
Licence
// BEST FOR
- Scanning a running web app or API for runtime vulnerabilities (DAST)
- Free, open-source security testing with no licensing barrier
- Automating baseline scans in CI via the ZAP Docker image/CLI
- Both passive scanning and active attack-style probing
- A starting point for teams new to security testing
- Spidering an app and testing the discovered surface
// AVOID WHEN
- You want static source-code analysis (SAST - SonarQube/Checkmarx)
- You need dependency/SCA scanning (Snyk)
- You want the depth of Burp's manual pentest tooling
- The target isn't a running, reachable app/API
- You need polished commercial support and reporting
- Deep, specialist manual testing is the priority
// QUICK START
# Baseline scan against a test target you are authorized to test:
docker run -t ghcr.io/zaproxy/zaproxy zap-baseline.py -t https://test.example.com// ALTERNATIVES TO CONSIDER
| Tool | Choose it when |
|---|---|
| Burp Suite | You want deeper manual pentest tooling and a polished pro edition. |
| Pynt | You want API security scans driven by your existing functional tests. |
| Snyk | You want to scan dependencies and code, not a running app. |
// FEATURES
- Automated active and passive scanning
- Intercepting proxy with request/response editing
- Fuzzer and forced browse
- Authentication scripts for protected apps
- REST API and Docker images for CI
- Add-on marketplace for extended capabilities
// PROS
- Free, open-source, OWASP-flagship project
- Solid feature parity with paid scanners for most use cases
- Strong CI/CD integration via Docker and APIs
- Active community and regular releases
// CONS
- GUI feels dated
- Authentication setup for SPAs requires scripting
- Java install requirement
- False-positive rate higher than premium scanners
// EXAMPLE QA WORKFLOW
Run ZAP (desktop for interactive, Docker/CLI for automation)
Point it at a running target you're authorized to test
Configure scope and authentication
Run a passive baseline, then active scanning as appropriate
Triage findings - separate false positives from real issues
Wire baseline scans into CI against a test environment
// RELATED QA.CODES RESOURCES
Cheat sheets
Glossary
Practice
Interview