integrity_scanner_fuer_stat.../tests
Dieter Schlüter 6c7e69e635 fix: volle Bildabdeckung — kein dauerhaft ungeprüftes Bild mehr
Sicherheitslücke: Die Bildanalyse baute keine Abdeckung auf. Nach dem ersten
Budget-Fenster (max_images_per_scan) wurden nur noch Bilder auf GEÄNDERTEN
Seiten oder bereits geflaggte nachgeholt. Bilder auf stabilen Seiten jenseits
des ersten Fensters blieben dauerhaft ungeprüft (real: 10 von 201 analysiert).
Ein Angreifer hätte so ein strafbares Logo (z. B. Hakenkreuz) auf einer
stabilen Firmenseite platzieren können, ohne dass die KI es je inhaltlich prüft.

Fix: Jeder Scan holt zusätzlich noch nicht analysierte Bilder (URL nicht im
Ledger) bis zum Budget nach → volle Abdeckung baut sich über mehrere Scans auf
(wie beim Text). Priorität: geänderte/geflaggte Bilder zuerst, dann Restbudget
für die Abdeckung. Byte-Änderungen bekannter Bilder deckt check-assets ab.

Bewusste Entscheidung GEGEN ai_analysis.image.exclude_paths: ein Pfad-Ausschluss
(z. B. /content/companies/) wäre genau der blinde Fleck — strafbare Logos würden
durchrutschen. Stattdessen: initiales "Gemecker" anhören, legitime Logos einmalig
per ai-dismiss akzeptieren (Quittung am Byte-Hash → ausgetauschtes Bild flaggt neu).

Tests: 255 grün (+1: Abdeckung baut sich über mehrere Scans bis 100% auf).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 04:02:35 +02:00
..
__init__.py feat: initial implementation of website integrity scanner 2026-06-12 00:51:41 +02:00
test_ai_analyzer.py fix: volle Bildabdeckung — kein dauerhaft ungeprüftes Bild mehr 2026-06-13 04:02:35 +02:00
test_alerter.py fix: Report und Alarm-Mail konsistent (gemeinsamer Renderer) 2026-06-13 03:35:05 +02:00
test_assets.py feat: Laientauglichkeit — Auto-Modus, Klartext-Ausgabe, einfachere Doku 2026-06-12 11:14:05 +02:00
test_baseline.py feat: initial implementation of website integrity scanner 2026-06-12 00:51:41 +02:00
test_checker.py fix: Bugfixes, toten Code entfernt, Cache-Normalisierung & Session 2026-06-12 03:20:32 +02:00
test_cloak.py feat: Cloaking-Erkennung per Doppel-Crawl (Browser-UA vs. Googlebot-UA) 2026-06-12 04:02:24 +02:00
test_crawler.py feat: exclude_paths — skip dynamic areas (RSS feeds, news archives) from scan 2026-06-12 13:14:06 +02:00
test_differ.py feat: exclude_paths — skip dynamic areas (RSS feeds, news archives) from scan 2026-06-12 13:14:06 +02:00
test_ext_links.py fix: retry external link check with browser UA on 403 2026-06-12 11:40:27 +02:00
test_extractor.py fix: Bugfixes, toten Code entfernt, Cache-Normalisierung & Session 2026-06-12 03:20:32 +02:00
test_plain.py fix: always report broken internal links + show source pages 2026-06-12 12:18:38 +02:00
test_state.py feat: Laientauglichkeit — Auto-Modus, Klartext-Ausgabe, einfachere Doku 2026-06-12 11:14:05 +02:00