ZAP

A free web app scanner that sits between your browser and a web app, records the traffic, and looks for vulnerabilities. Formerly OWASP ZAP, now ZAP by Checkmarx.

cat zap/meta.ymlChecked on 2026-10-24

Safety

Impact Can harm othersCan do real harm to others: intrusion, tampering, or load
Admin rights
Not required
Test lab
Required

Usage

Purpose
Audit
Difficulty
Intermediate
Type
Desktop app
Platforms
Windows / macOS / Linux / Docker

Trust

Repository
zaproxy/zaproxy
License
PermissiveApache-2.0
GitHub
stars16,0252026-10-25
Maintenance
Actively updatedLast update 2026-10-23
Contents
  1. Introduction
  2. What ZAP does
  3. Active scanning is an attack
  4. Try it safely against Juice Shop
  5. Common uses
  6. Cautions
  7. Read next
  8. Sources

This tool can also be used for attacks. Use it only on systems you own or have written permission to test.

ZAP (Zed Attack Proxy) sits between your browser and a web app, records the traffic, and looks for signs of vulnerabilities. Start by running the practice app OWASP Juice Shop on your own computer and point ZAP at it.

ZAP used to be called “OWASP ZAP.” In 2023 it left OWASP and joined the Linux Foundation’s Software Security Project. Since 2024 it has been known as “ZAP by Checkmarx.” According to the official blog, it stays open source under the Apache License 2.0.

This review is for web developers and people who are starting to learn web security testing. After reading it, you can do the following:

  • Run an automated scan against Juice Shop on your own computer
  • Open an alert and read the request and response that caused it
  • Tell passive scanning and active scanning apart, and pick the right one for the target

What ZAP does

  • Records traffic: When your browser goes through ZAP, every request and response is saved.
  • Spiders: Follows links and forms to collect the pages on a site.
  • Passive scanning: Looks for problems by reading the recorded traffic only. The official guide says it does not change responses in any way and is considered safe.
  • Active scanning: Sends requests built from known attacks to find vulnerabilities.
  • Automation with Docker: The Docker images include scan scripts you can run in CI/CD.
What it doesn’t doThe official docs say that logic flaws, such as broken access control, are not found by automated scanning. ZAP expects you to combine it with manual testing.

Active scanning is an attack

The official docs describe active scanning as an attack on the target and say not to use it on web apps you do not own. It sends the same kind of requests a real attacker would, so it can break a site’s features or data. That is why this review rates its impact as “high.”

ZAP has four modes, which you switch from the toolbar.

Mode Behavior
Safe Blocks every potentially dangerous operation
Protected Allows potentially dangerous operations only on URLs in scope
Standard Restricts nothing
ATTACK Actively scans new in-scope pages as soon as they are found

The official docs recommend Protected mode so that you only attack the sites you mean to.

Try it safely against Juice Shop

  1. Start Juice Shop on your own computer by following the Juice Shop review. Check that http://localhost:3000 opens.
  2. Download the installer for your operating system from the official download page. The Windows and Linux versions need Java 17 or later installed separately. The macOS version includes Java.
  3. Start ZAP, open the Quick Start tab, and choose Automated Scan.
  4. Enter http://localhost:3000 in URL to attack and click Attack. ZAP collects pages with its spider, scans them passively, and then runs an active scan.
  5. Select an alert in the Alerts tab at the bottom. The Response tab highlights the part of the response that triggered it.

Apps like Juice Shop build their pages with JavaScript, so the automated spider can miss some of them. Browsing the app yourself through ZAP records more of it.

Common uses

Goal How
Try everything against a practice app Automated Scan in Quick Start
Check your own site without sending attacks zap-baseline.py in the Docker image
Include attacks in CI (test environments only) zap-full-scan.py in the Docker image

The baseline scan runs the spider for one minute by default and reports passive scan results only. The official example looks like this:

docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py -t https://www.example.com

The full scan also runs an active scan and can take a long time. Point it at your own test environment, not production.

Cautions

  • Use ZAP only on your own sites, on sites you have written permission to test, and on practice targets such as Juice Shop. Even a passive-only scan sends requests to the server through the spider.
  • An active scan submits forms and writes data over and over. Don’t point it at an environment with data you can’t afford to lose.
  • The official releases are currently unsigned, and the download page notes that antivirus tools may flag them. Download ZAP only from the official site or the GitHub releases page, and check the published checksums.

Sources

  1. Official repository (zaproxy/zaproxy)github.com/zaproxy/zaproxy
  2. Getting Startedwww.zaproxy.org/getting-started/
  3. Downloadwww.zaproxy.org/download/
  4. Desktop User Guide: Active Scanwww.zaproxy.org/docs/desktop/start/features/ascan/
  5. Desktop User Guide: Modeswww.zaproxy.org/docs/desktop/start/features/modes/
  6. Docker: Baseline Scanwww.zaproxy.org/docs/docker/baseline-scan/
  7. Docker: Full Scanwww.zaproxy.org/docs/docker/full-scan/
  8. Blog: ZAP is Joining the Software Security Projectwww.zaproxy.org/blog/2023-08-01-zap-is-joining-the-software-security-project/
  9. Blog: ZAP Has Joined Forces With Checkmarxwww.zaproxy.org/blog/2024-09-24-zap-has-joined-forces-with-checkmarx/

Checked on 2026-10-24

Similar tools

OWASP Juice Shop

Impact Local only
juice-shop/juice-shop

An intentionally vulnerable online shop for practice. Run it on your own computer to learn how web vulnerabilities work and to try out security testing tools.

Purpose
Learning
Type
Practice lab
Difficulty
Beginner
License
PermissiveMIT
Category
Learning and practice labs / Web security
Actively updatedstars14,228Last update 2026-10-23
Read the OWASP Juice Shop review

Nuclei

Impact Can harm others
projectdiscovery/nuclei

A command-line scanner that sends requests following steps written in YAML templates and checks the responses for known vulnerabilities and misconfigurations.

Purpose
Audit
Type
Command line
Difficulty
Intermediate
License
PermissiveMIT
Category
Vulnerability scanning / Web security
Actively updatedstars32,301Last update 2026-10-25
Read the Nuclei review