"""zap-hooks.py -- Haken fuer die ZAP-Grundpruefung (quick-261009-p0m). Wird von .gitea/scripts/zap-baseline.sh schreibgeschuetzt in den ZAP-Container eingebunden und mit `--hook=` geladen. Nur Standardbibliothek. Aufgaben: 1. Die klassische Spinne soll Formulare weder ausfuellen noch absenden. So bleibt die Pruefung rein passiv: es werden nur Seiten abgerufen (GET), nie Daten an die Anwendung geschickt (kein POST). 2. Nur wenn die Umgebungsvariable ZAP_BASIC_AUTH gesetzt ist (Anmeldedatei-Weg des Skripts), wird ein Ersetzungsregel fuer den Kopf Authorization eingetragen. Der Wert steht nie in einem Aufruf oder einer Ausgabe. """ import os def zap_started(zap, target): # Keine Formulare verarbeiten, keine Formulare absenden. zap.spider.set_option_process_form(False) zap.spider.set_option_post_form(False) auth = os.environ.get("ZAP_BASIC_AUTH") if auth: zap.replacer.add_rule( description="basicauth", enabled=True, matchtype="REQ_HEADER", matchstring="Authorization", matchregex=False, replacement=auth, initiators="", )