OWASP ZAP erklärt: was es ist und 10 typische Prüfungen
Bei Apps, mit denen du ein Bankkonto verbindest, fällt oft das Wort „Sicherheitsscan“, und selten meint es dasselbe. Wir erklären eines der bekanntesten Werkzeuge, ZAP: was es tut, was nicht und was sein Einsatz wirklich über eine App aussagt.
Was ZAP ist
ZAP (Zed Attack Proxy), vielerorts noch OWASP ZAP genannt, ist ein kostenloser Open-Source-Sicherheitsscanner für Webanwendungen. Seine Website beschreibt es als unabhängiges Open-Source-Projekt. Es arbeitet als Proxy zwischen Browser und Anwendung: Es sieht jede Anfrage und jede Antwort und kann sie deshalb analysieren.
Es wird sowohl von Menschen genutzt, die eine App von Hand untersuchen, als auch von automatisierten Abläufen, die es bei jeder Codeänderung starten.
Der Baseline-Scan: passiv, ohne Angriffe
In automatisierten Testabläufen ist meist der Baseline-Modus im Einsatz. Laut ZAP-Dokumentation lässt er den Spider gegen das Ziel laufen (standardmäßig eine Minute), wartet, bis die passive Analyse fertig ist, und meldet die Ergebnisse. Die Dokumentation hält fest, dass das Skript keine echten Angriffe ausführt und höchstens wenige Minuten dauert.
Das ist ein wichtiger Unterschied. Ein passiver Scan liest, was die Anwendung ohnehin jedem Besucher antwortet: Header, Cookies, Seitenquelltext. Ein aktiver Scan schickt erst präparierte Anfragen, um herauszufinden, ob sich die Anwendung austricksen lässt. Deshalb darf er nur auf eigene Systeme oder mit Erlaubnis des Eigentümers gerichtet werden.
10 typische Prüfungen
Die Namen stammen aus der Alarmliste von ZAP. Welche davon auftauchen, hängt von Version und Konfiguration ab, und eine Meldung ist ein Anlass zum Hinschauen, kein Beweis für einen Einbruch.
- Content Security Policy (CSP) Header Not Set. Der Header fehlt, der dem Browser sagt, woher Skripte geladen werden dürfen. Er begrenzt den Schaden eingeschleusten fremden Codes.
- Missing Anti-clickjacking Header. Die Seite lässt sich in einen fremden Frame einbetten, und Nutzer können zu einem Klick auf etwas verleitet werden, das sie nicht sehen.
- X-Content-Type-Options Header Missing. Der Browser darf den Dateityp raten, statt dem Server zu vertrauen.
- Strict-Transport-Security Header Not Set. Der Browser bekommt nicht die Anweisung, diese Seite immer über HTTPS aufzurufen.
- Cookie No HttpOnly Flag. Ein Skript auf der Seite kann das Cookie lesen, etwa ein Sitzungs-Cookie.
- Cookie without SameSite Attribute. Das Cookie wird auch bei Anfragen von fremden Seiten mitgeschickt, was CSRF-Angriffe erleichtert.
- Server Leaks Version Information via “Server” HTTP Response Header Field. Der Server verrät, welche Software er in welcher Version nutzt.
- Information Disclosure - Suspicious Comments. Im Seitenquelltext gebliebene Kommentare können einem Angreifer Hinweise geben.
- Cross-Domain JavaScript Source File Inclusion. Die Seite lädt Skripte von anderen Domains, ihre Sicherheit hängt also auch von diesen ab.
- Vulnerable JS Library. Die Seite nutzt eine JavaScript-Bibliothek in einer Version mit bekannter Schwachstelle.
Daneben tauchen oft noch „Re-examine Cache-control Directives“, „Permissions Policy Header Not Set“ und „Sub Resource Integrity Attribute Missing“ auf.
Was ein passiver Scan nicht verrät
Ein sauberes Baseline-Ergebnis heißt nicht „die App ist sicher“. Der Scan meldet sich nicht als Nutzer an, prüft nicht, ob ein Elternteil aus einer Klasse in eine andere schauen kann, und versucht nicht, schädliche Daten einzuschleusen. Dafür braucht es Berechtigungstests, die für die konkrete App geschrieben sind, einen aktiven Scan und einen Penetrationstest. Der Baseline-Scan ist ein günstiger, wiederholbarer erster Filter, mehr nicht.
Wie es bei uns aussieht
In ClassKasa, CzynszOK und Kasandro läuft der Baseline-Scan bei jedem Pull Request gegen die gebaute App und lässt den Build bei neuen Funden fehlschlagen. Der Scan meldet sich nicht an, deckt also Bereiche hinter der Anmeldung nicht ab. Einen vollständigen Überblick darüber, was wir in der veinito.-Gruppe prüfen, gibt die Sicherheitsseite.
Open Banking erklärt: Was eine App wirklich sieht, wenn du dein Konto verbindest
Was Open Banking und PSD2 sind, was eine App mit Kontozugriff sieht, wie die Zustimmung abläuft und widerrufen wird und wie du eine Lizenz prüfst.
Lesen →WeiterlesenEine Lizenz, drei Produkte: ein Fintech aus Polen für die ganze EU
Wie ein kleines Unternehmen aus Wrocław drei Open-Banking-Produkte auf der AIS-Lizenz von Enable Banking baut und warum es von Anfang an für die ganze EU plant.
Lesen →WeiterlesenEin Penetrationstest von ClassKasa mit KI-Agenten: Ablauf und Funde
Wie der Inhaber ClassKasa im Mai 2026 mit Claude Code und pentest-ai-agents testete, was er fand, was behoben wurde und was der Test nicht abdeckt.
Lesen →