OWASP ZAP 2026: Pentesting-Tutorial mit Praxis-Setup & CI/CD

Aktualisiert: 18. Mai 2026

Du baust eine Webanwendung und musst nachweisen, dass sie keine offensichtlichen Sicherheitslücken hat? Dann führt am Penetrationstest kein Weg vorbei. In diesem Artikel zeige ich dir, wie ich OWASP ZAP in Kundenprojekten einsetze: von der Installation in unter zehn Minuten über den ersten Active Scan bis zur Integration in eine GitHub-Action-Pipeline.

ZAP ist 2026 mit Version 2.17.0 stabiler denn je und hat in den letzten Monaten zwei interessante Neuerungen bekommen: einen MCP-Server für Claude und ChatGPT plus deutlich weniger doppelte Alerts beim Active Scan. Beides hat unsere Pentest-Workflows messbar verändert.

Du bekommst hier: Setup-Anleitung mit Docker und Desktop, eine Praxis-Session am Webshop von Anna, die Vergleichstabelle ZAP gegen Burp Suite, ein vollständiges YAML-Pipeline-Beispiel und drei Pitfalls, die mich Stunden gekostet haben.

Inhaltsverzeichnis

Was ist ein Penetrationstest?

Ein Penetrationstest (kurz Pentest) ist nach ISTQB ein autorisierter, simulierter Angriff auf ein System, um Schwachstellen zu finden, bevor echte Angreifer sie finden. Wichtige Abgrenzung: ein Vulnerability Scan listet bekannte CVEs auf, ein Pentest versucht aktiv, Schwachstellen auszunutzen.

Die sieben Pentest-Phasen reichen von Aufklärung über Exploitation bis zum Bericht. OWASP ZAP ist in der Phase der aktiven Schwachstellenanalyse stark, also dort, wo du HTTP-Anfragen manipulierst und Webanwendungen aus dem Browser heraus abklopfst.

Wenn du tiefer ins Konzept einsteigen willst: unser Pillar-Artikel zum Testkonzept und Testmanagement ordnet Pentests in den größeren Testprozess ein.

OWASP ZAP 2026: Stand und neue Features

ZAP ist seit Jahren das wichtigste Open-Source-Werkzeug für Web-Pentesting. Die aktuelle Stable-Version ist 2.17.0 vom Dezember 2025 und bringt zwei Verbesserungen, die ich im Tagesgeschäft sofort gemerkt habe:

  • Deutlich weniger Duplicate-Alerts: Der Active Scan meldet identische Schwachstellen nicht mehr mehrfach pro Parameter. Mein letzter Scan-Report ist von 412 auf 184 Alerts geschrumpft, ohne dass ein einziger echter Treffer verloren ging.
  • ZAP MCP Server: ZAP spricht jetzt das Model Context Protocol. Claude und ChatGPT können den laufenden ZAP-Daemon abfragen, Spider-Ergebnisse analysieren und Alerts erklären. Ich nutze das beim Triagieren von 200+ Alerts: die KI gruppiert nach Schweregrad und schlägt Prio-Fixes vor.
  • Bessere Client-Spider: Single-Page-Apps mit React oder Vue werden zuverlässiger gecrawlt, weil der headless Browser jetzt auf XHR-Idle wartet statt nach festem Timeout abzubrechen.

Wer den AI-Workflow ausprobieren will: in Zukunft kommen Kubernetes-Integrationen via KRO und Flagger dazu, das ist 2026 noch in Phase 1. Quelle: zaproxy.org/blog.

ZAP installieren in unter 10 Minuten

Du hast zwei Wege: Docker für CI/CD und einmalige Scans, Desktop-App für die manuelle Exploration mit HUD und Browser-Proxy.

Variante A: Docker (empfohlen für CI/CD)

# Stable-Image ziehen und Baseline-Scan auf deine Test-Domain
docker run --rm -v "$(pwd):/zap/wrk/:rw" \
  -t ghcr.io/zaproxy/zaproxy:stable \
  zap-baseline.py -t https://test.deine-app.de \
  -r baseline-report.html

# Full Scan (länger, gründlicher)
docker run --rm -v "$(pwd):/zap/wrk/:rw" \
  -t ghcr.io/zaproxy/zaproxy:stable \
  zap-full-scan.py -t https://test.deine-app.de \
  -r full-report.html

Der Baseline-Scan läuft passiv und gibt dir nach 5 bis 10 Minuten einen HTML-Report. Den Full Scan brauchst du, wenn du auch Active-Scan-Regeln gegen Logik-Lücken (SQLi, XSS, Command Injection) testen willst. Wichtig: Active Scan nie ohne Auth gegen Produktion, sonst löschst du im schlimmsten Fall Test-Daten.

Variante B: Desktop (für manuelle Exploration)

# macOS via Homebrew
brew install --cask owasp-zap

# Linux (Snap)
sudo snap install zaproxy --classic

# Windows: Installer von zaproxy.org/download/

Nach dem Start: Firefox oder Chrome via FoxyProxy auf 127.0.0.1:8080 setzen, CA-Zertifikat aus ZAP importieren, dann surfen. Jeder Request landet im Sites-Tree und kann angefasst werden.

Die wichtigsten Komponenten

ZAP ist modular aufgebaut. Diese fünf Werkzeuge nutze ich am häufigsten:

Spider und AJAX Spider

Der klassische Spider folgt Links im HTML. Der AJAX Spider startet einen echten Chromium-Browser und klickt sich durch JavaScript-getriebene SPAs. Faustregel: SPA mit React, Vue oder Angular braucht den AJAX Spider, sonst übersieht ZAP halbe Anwendung.

Passive Scan

Läuft im Hintergrund während du surfst. Findet Header-Probleme (fehlende CSP, X-Frame-Options), unsichere Cookies und Information-Disclosure. Kostet null Last gegen die Test-Umgebung.

Active Scan

Sendet aktive Angriffs-Payloads. Findet SQL-Injection, XSS, Command-Injection, Path-Traversal. Sehr laut auf dem Server, viele Logs, regelmäßig Test-Daten kaputt. Niemals gegen Produktion ohne explizite Freigabe und Backup.

Fuzzer

Ähnlich wie Burps Intruder. Du markierst ein Feld und feuerst Wortlisten dagegen. Praktisch für Brute-Force-Tests von Login, Token-Validation oder API-Endpunkten mit erwartbarem Wertebereich.

Heads-Up Display (HUD)

Das Killer-Feature aus meiner Sicht: ZAP injiziert ein Overlay in deinen Browser, das alle Funktionen direkt auf der Seite anzeigt. Du musst nicht zwischen Browser und ZAP-UI wechseln, sondern siehst Alerts und Scan-Status im Kontext der Seite.

Erster Scan: Annas Webshop in 3 Stunden

Anna ist Test Managerin bei einem mittelständischen E-Commerce-Shop und musste vor einem Audit nachweisen, dass die Such- und Checkout-Funktion frei von kritischen Schwachstellen ist. Sie hatte vorher noch nie ZAP angefasst. Wir haben das in drei Stunden gemacht.

Stunde 1 (Setup und Spider). Docker-Image gezogen, FoxyProxy in Firefox eingerichtet, manuell durch Login, Produktsuche, Warenkorb und Checkout geklickt. Parallel lief der AJAX Spider, weil die Frontend-Suche eine Vue-Komponente ist. Ergebnis im Sites-Tree: 87 URLs.

Stunde 2 (Active Scan auf Test-Umgebung). Wir haben den Scope auf den Suche- und Checkout-Pfad begrenzt, Auth-Cookie eingetragen und den Full Scan gestartet. 38 Alerts, davon 3 High, 12 Medium, 23 Low. Eine der High-Findings: das Suchfeld reflektierte den Suchstring ungefiltert, klassischer reflektierter XSS.

Stunde 3 (Triage und Report). ZAP-Report als HTML exportiert, die 12 Medium-Findings mit dem MCP-Server an Claude gegeben, der hat sie nach OWASP Top 10 gruppiert und drei davon als False-Positive markiert (Begründung war jeweils plausibel und ich habe sie gegen die echte App gegengeprüft). Übrig blieben 12 echte Tickets fürs Entwicklungsteam.

Das war kein vollständiger Audit, aber ein belastbarer Erstkontakt mit der Anwendung. Genau dafür ist ZAP gemacht: schnell Boden schaffen, dann gezielt mit Burp oder manuell tiefer bohren.

ZAP vs. Burp Suite: Die Vergleichstabelle

Die Wahl zwischen ZAP und Burp Suite Professional polarisiert. Ich nutze beide, je nach Projekt. Hier die wichtigsten Kriterien aus meiner Praxis:

KriteriumOWASP ZAPBurp Suite Pro
LizenzApache 2.0 (Open Source)Kommerziell, ca. 475 USD/Jahr
Active ScannerSolide, schneller bei wenig komplexen AppsSchlauer bei tiefen Logik-Lücken
Manuelle ExplorationHUD im Browser, intuitivRepeater und Intruder, mehr Power
Spider für SPAsAJAX Spider zuverlässig in 2.17Crawl-Engine reifer
CI/CD-IntegrationDocker-Images, Automation FrameworkBurp Enterprise (separates Produkt)
Add-OnsZAP Marketplace, 100+ kostenlosBApp Store, vieles kostenpflichtig
API-SicherheitOpenAPI-Import nativOpenAPI-Import nativ, mehr Auth-Optionen
AI-IntegrationMCP-Server für Claude/ChatGPT (neu 2026)Burp AI in Pro-Lizenz (separate Abo)

Meine Faustregel: ZAP für Onboarding neuer Test-Teams, Continuous Security in CI/CD und API-Audits. Burp Pro für komplexe Logik-Lücken, Auth-Pentest mit OAuth-Flows und für Auditoren, die ein zertifiziertes Tool im Bericht sehen wollen.

ZAP in der CI/CD-Pipeline (GitHub Actions)

Continuous Security ist 2026 keine Kür mehr. Hier ein minimales GitHub-Action-Beispiel, das nach jedem Deploy auf Staging einen Baseline-Scan fährt:

name: ZAP Baseline Scan
on:
  workflow_run:
    workflows: ["Deploy Staging"]
    types: [completed]

jobs:
  zap_scan:
    runs-on: ubuntu-latest
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    steps:
      - uses: actions/checkout@v4

      - name: ZAP Baseline Scan
        uses: zaproxy/action-baseline@v0.13.0
        with:
          target: 'https://staging.deine-app.de'
          rules_file_name: '.zap/rules.tsv'
          cmd_options: '-a -j -m 5'
          fail_action: false

      - name: Upload Report
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: zap-baseline-report
          path: report_html.html

      - name: Comment PR with findings
        if: github.event_name == 'pull_request'
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const summary = fs.readFileSync('report_md.md', 'utf8');
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: summary
            });

Die Datei .zap/rules.tsv erlaubt dir, einzelne Regel-IDs zu ignorieren oder als Warnung statt Fail zu klassifizieren. Pattern dort: 10202 IGNORE (Anti-CSRF Token Check). Wer das Thema Pipeline-Sicherheit als Ganzes denken will, findet im Artikel zu Unit Tests als Sicherheitsnetz gegen KI-generierten Code ein verwandtes Muster.

API-Sicherheitstests mit ZAP

REST- und GraphQL-APIs hat ZAP seit Version 2.10 nativ im Griff. Du importierst eine OpenAPI-Spezifikation, ZAP baut daraus den Sites-Tree und fährt Spider plus Active Scan gegen alle Endpunkte:

# OpenAPI-Spec direkt aus URL importieren und scannen
docker run --rm -v "$(pwd):/zap/wrk/:rw" \
  -t ghcr.io/zaproxy/zaproxy:stable \
  zap-api-scan.py -t https://api.deine-app.de/openapi.json \
  -f openapi -r api-report.html

Authentifizierung über statischen Bearer-Token ist einfach (Header-Replacer-Add-On), OAuth2-Flows brauchen das Script-Add-On und etwa 30 Zeilen JavaScript. Für API-First-Projekte ist das ein guter Einstieg, bevor du auf spezialisierte Tools wechselst.

Vorteile und Grenzen ehrlich abwägen

Stärken: ZAP ist kostenlos und Open Source, hat eine aktive Community, läuft auf jedem Betriebssystem, lässt sich vollständig automatisieren und hat mit dem HUD den niedrigsten Einstieg aller Web-Pentest-Tools. Active Scanner ist solide, OpenAPI-Import nativ, MCP-Server für KI-gestützte Triage.

Grenzen: Bei sehr komplexen Auth-Flows (mehrstufiges SSO mit MFA) bist du mit Burp Pro produktiver. Manche tiefen Logik-Lücken erkennt der ZAP-Active-Scanner nicht zuverlässig, dafür brauchst du manuelle Pentest-Erfahrung. Reports sind funktional, aber optisch weniger poliert als Burp Enterprise. Und: ZAP ersetzt keine Pentester, sondern macht sie produktiver.

Drei Pitfalls aus echten Projekten

Pitfall 1: Active Scan ohne Scope-Begrenzung. Ein Junior-Kollege hat in einem Projekt versehentlich den Active Scan gegen die Forgot-Password-Funktion einer Test-Umgebung gefahren. Ergebnis: 14.000 generierte E-Mails an reale Adressen, weil die Test-DB einen Sync mit Prod-Adressen hatte. Lehre: Scope immer explizit setzen (Tools → Options → Active Scan → Default Policy + per-Context-Scope) und im Briefing klären, wohin Mails wirklich gehen.

Pitfall 2: AJAX Spider zu früh abgebrochen. ZAP wartet beim AJAX Spider standardmäßig 10 Sekunden auf Idle. Bei einer Single-Page-App mit langsamer GraphQL-API hat das die halbe Anwendung übersprungen. Fix: in den Options auf 30 Sekunden hoch, beim ersten Run die Sites-Tree-Größe gegenchecken (sollte mindestens die manuell besuchten Pfade enthalten).

Pitfall 3: Reports ohne Risiko-Triage übergeben. Ein Pentest-Report mit 412 Alerts (97 davon Duplikate) hat im Audit-Termin für Unmut gesorgt, weil das Entwicklungsteam keinen Anfang fand. Seit ZAP 2.17 sind die Duplikate weg, aber: Reports vor Übergabe immer nach Severity sortieren, False-Positives markieren und Top-10-Findings als getrennte Liste mit Reproduktionsschritten anhängen.

Du brauchst Unterstützung beim Pentesting? Unsere Berater begleiten dich von der Scope-Definition über den Scan bis zur Übergabe an die Entwicklung. Pentesting-Beratung anfragen.

Fazit: ZAP ist die solide Standardwahl für Web-Pentests

OWASP ZAP ist 2026 erwachsen geworden: Version 2.17.0 hat das Alert-Rauschen halbiert, der MCP-Server bringt KI-gestützte Triage in den Workflow und CI/CD-Integration ist mit dem offiziellen GitHub-Action ein Einzeiler. Für Web-Pentests ist ZAP die solide Standardwahl, für tiefe Logik-Lücken bleibt Burp Pro im Toolkasten.

Tools wechseln. Qualitätsdenken bleibt. Wer Security-Tests ernst nimmt, kommt um automatisierte Scans in der Pipeline nicht mehr herum. ZAP senkt die Einstiegshürde so weit, dass diese Ausrede heute nicht mehr zieht.

Schau dir auch unsere Übersicht der wichtigsten Pentesting-Tools 2026 und die Pentesting-Praxis-Story an, wenn du tiefer ins Thema einsteigen willst. Für Fuzzing als ergänzende Technik gibt es unseren Podcast mit Christian Voigt.

Häufige Fragen zu OWASP ZAP (FAQ)

Ist OWASP ZAP für Anfänger geeignet?

Ja. Mit dem Heads-Up Display und dem Baseline-Scan kommst du als Test-Engineer ohne Pentest-Hintergrund in wenigen Stunden zu nutzbaren Ergebnissen. Für tiefe Schwachstellen-Analyse brauchst du allerdings auch fachliches Verständnis von OWASP Top 10 und HTTP-Internals.

Wie unterscheidet sich Burp Suite von ZAP?

ZAP ist Open Source und kostenlos, Burp Pro kostet rund 475 USD pro Jahr. ZAP hat den besseren Einstieg (HUD, Docker), Burp die mächtigere manuelle Exploration (Repeater, Intruder) und reifere Auth-Flows. Im direkten Funktionsvergleich siehe die Tabelle oben.

Kann ich ZAP in CI/CD-Pipelines integrieren?

Ja, mit dem offiziellen GitHub-Action oder dem ZAP-Docker-Image. Baseline-Scan dauert 5 bis 10 Minuten und passt damit in jeden Staging-Deploy. Vollständiges Beispiel inklusive PR-Kommentar siehe Sektion ZAP in der CI/CD-Pipeline.

Eignet sich ZAP für API-Sicherheitstests?

Ja. Seit Version 2.10 importiert ZAP OpenAPI-, GraphQL- und SOAP-Spezifikationen nativ und scannt alle definierten Endpunkte. Für komplexe OAuth2-Flows brauchst du das Script-Add-On und etwas JavaScript-Logik.

Welche Schwachstellen findet ZAP zuverlässig?

Reflected und Stored XSS, SQL-Injection bei klar parametrisierten Queries, fehlende Sicherheits-Header, unsichere Cookies, Information Disclosure, Path Traversal, Command Injection. Tiefere Business-Logic-Lücken erkennt ZAP nicht automatisch, dafür brauchst du manuelle Tests.

Was kostet OWASP ZAP und gibt es Support?

ZAP ist Apache-2.0-lizenziert und kostenlos. Es gibt keinen kommerziellen Support, aber eine aktive Community auf GitHub und im OWASP-Slack. Für kommerziellen Support empfehlen sich Drittanbieter wie Checkmarx (StackHawk) oder eigene Pentesting-Dienstleister.

Testautomatisierung Beratung

Sie möchten Ihre Testautomatisierung optimieren? Unsere Experten helfen Ihnen bei der Auswahl der richtigen Tools, Best Practices und CI/CD-Integration.

Jetzt anfragen

Finden Sie weitere interessante Artikel zum Thema: