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>
This commit is contained in:
parent
3ab313e733
commit
6c7e69e635
3 changed files with 53 additions and 8 deletions
|
|
@ -1012,6 +1012,25 @@ Wirkung: Der Erst-Scan einer Site (der den ganzen Bestand prüft) wird deutlich
|
|||
rate-limited Free-Modelle sofort übersprungen werden und die verbleibenden Anfragen nebenläufig
|
||||
laufen.
|
||||
|
||||
### Vollständige Bildabdeckung (kein blinder Fleck)
|
||||
|
||||
Pro Scan werden maximal `image.max_images_per_scan` Bilder geprüft (Kostendeckel). Damit jenseits
|
||||
dieses Fensters **kein Bild dauerhaft ungeprüft** bleibt — sonst könnte ein Angreifer z. B. ein
|
||||
strafbares Logo auf einer ansonsten stabilen Seite platzieren —, holt **jeder** Scan zusätzlich
|
||||
noch nicht analysierte Bilder nach, bis der gesamte Bildbestand abgedeckt ist. Reihenfolge:
|
||||
zuerst Bilder auf geänderten Seiten und bereits geflaggte, dann mit dem Restbudget der noch
|
||||
unbekannte Rest.
|
||||
|
||||
**Initiale Einrichtung großer Bildbestände:** Hat eine Site sehr viele Bilder (z. B. 200), dauert
|
||||
die volle Abdeckung mehrere Scans. Zum schnelleren Aufbau kann `max_images_per_scan` vorübergehend
|
||||
erhöht werden. In dieser Phase markiert die KI auch legitime Inhalte (z. B. Marken-/Partnerlogos
|
||||
auf Firmenseiten) — diese werden einmalig mit `ai-dismiss --hash <fp>` akzeptiert. Da die Quittung
|
||||
am **Byte-Hash** hängt, wird ein später ausgetauschtes Bild (andere Bytes → neuer Hash) automatisch
|
||||
neu geprüft und nicht stillschweigend mitakzeptiert.
|
||||
|
||||
Hinweis zur Byte-Änderung bekannter Bilder auf stabilen Seiten: Diese deckt die Datei-Prüfung
|
||||
(`check-assets`) ab — sie schlägt an, wenn sich der Inhalt einer bekannten Datei ändert.
|
||||
|
||||
Audio- und Video-Prüfung sind als abschaltbare Erweiterungspunkte vorbereitet
|
||||
(`ai_analysis.audio` / `ai_analysis.video`, default deaktiviert) und können aktiviert werden,
|
||||
sobald eine Website solche Mediendateien direkt einbindet.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue