ZAP — the Zed Attack Proxy, originally an OWASP flagship project — is an open-source tool for testing running web applications and APIs. It works as an intercepting proxy: traffic between a browser or client and the application passes through ZAP, which records every request and response, builds a tree of the discovered site, and analyses that traffic for weaknesses. Because it tests the deployed system rather than the source, ZAP finds the class of problems that only exist at runtime — missing security headers, broken access control between roles, session handling flaws, injection reachable through the actual request path, and misconfiguration in the server in front of the application.
ZAP works in two analytical modes. Passive scanning inspects traffic that already flowed and never sends anything of its own, which makes it safe to leave running against any environment. Active scanning deliberately sends crafted requests to probe for injection and other input-handling flaws, which makes it powerful and also something you only point at systems you are authorised to test. Around those sit the discovery tools — the traditional spider, an AJAX spider that drives a real browser for single-page applications, and importers for OpenAPI, GraphQL and SOAP definitions — plus manual tools for the work no scanner can do: a request editor, breakpoints, and a fuzzer.
The reason ZAP appears in delivery pipelines rather than only on testers' laptops is its automation surface. The Automation Framework describes an entire scan — contexts, authentication, discovery, scan policy, alert filters and report generation — as a YAML plan that runs identically on a laptop and in CI. Combined with the daemon mode, the packaged baseline and full-scan containers and a full REST API, that makes a repeatable, authenticated dynamic scan a normal pipeline stage rather than an annual event.
Why this skill matters now
Static analysis and dependency scanning cover the code you build and the code you import, but neither of them sees the deployed system. Authentication logic, authorisation between roles, session lifetime, headers set by a reverse proxy, an old endpoint that was never removed — these exist only at runtime, and every one of them is a common finding in real assessments.
At the same time, application surface area exploded. Single-page front ends, mobile back ends and public APIs mean far more endpoints per team than a manual penetration test can cover on an annual cycle, and those endpoints change weekly. Teams responded by moving dynamic testing into the pipeline, and ZAP is the tool most of them reach for because it is open source, scriptable, container-packaged and does not require a per-seat licence for every build agent.
The skill in demand is not clicking scan. It is getting a scanner authenticated against a modern application, keeping it inside scope so it does not wander into a payment provider, teaching it to find endpoints that a spider cannot reach, tuning policies so a pipeline stage finishes in minutes, and triaging alerts to the handful that are real. Teams that skip that work end up with a scan that reports the same twelve informational alerts forever and gets switched off.