v3.6.1 — Fuzzing der Input-Parser + Fix: Storno-Dialog im Vordergrund
🐛 Fix: Storno-Dialog erschien hinter der Detailkarte
Gemeldet: Cluster anklicken → in der Detailkarte bei einer Reservierung „Storno" drücken → der Kommentar-Dialog ging hinter der Karte auf.
Ursache: Die Detailkarte lag auf z-index:20, die Dialoge nur auf z-index:10. Dialoge jetzt auf z-index:40 → liegen über allem (End-to-End im Browser verifiziert: card=20 modal=40).
🔬 Fuzzing der Parser für ungetrusteten Input (Scorecard: Fuzzing erfüllt)
Neu: tests/fuzz/fuzz_parsers.py fuzzt genau die Stellen, an denen das Dashboard fremde Daten parst:
kapa/ldap.pyBER/TLV-Decoder — der handgeschriebene Parser für rohe LDAPS-Bytes (also potenziell von einem bösartigen AD). Das Lehrbuch-Fuzzing-Ziel._dn_to_cn(Distinguished Names) undparse_tag_json(vROps-Tag-JSON)
Zwei Modi, ehrlich gebaut:
- Coverage-guided mit Atheris (Dev/CI-Werkzeug, keine Laufzeit-Abhängigkeit) — Scorecards Fuzzing-Check erkennt das
import atheris - Standardbibliothek-Modus (
--stdlib, ohne Zusatzsoftware) — läuft überall, wird bei jedem Smoke-Lauf 2.000 Runden mitgeprüft
Ergebnis: 30.000 Zufallsrunden lokal → 0 unerwartete Abstürze. Der Code war schon robust; Fuzzing sichert das dauerhaft ab und schließt den Scorecard-Fuzzing-Punkt mit echtem Nutzen statt Kosmetik.
(Optional als nächster Schritt: ClusterFuzzLite für kontinuierliches CI-Fuzzing — bringt aber eine Container-Build-Kette mit, daher bewusst noch nicht drin.)
Qualität
123 Smoke-Checks + Frontend-Check grün · Deploy-Tags 3.6.1 · Commit + Tag signiert (Verified ✓)