Skripte und versteckten Code aus SVG-Dateien entfernen
07 Überhaupt kein Fotoformat - ein völlig anderes Risiko
Alle anderen Formate dieser Website sind rasterisierte Pixel, verpackt in einem Binärcontainer. SVG ist
anders: Es ist reiner XML-Text, der Formen beschreibt, und XML kann ein
<script>-Element, Inline-Event-Handler (onload=, onclick=)
oder XXE-Entitätsdeklarationen enthalten - echten Code, nicht nur Daten, die mitreisen. Hier gibt es
praktisch kein EXIF-/GPS-Risiko (SVGs sind keine Kameraausgabe), aber das Risiko aktiven Inhalts ist
real und spezifisch für dieses eine Format.
Tiefer einsteigen: warum SVG nicht wie andere Formate "bereinigt" werden kann
Es gibt keine sichere Teilmenge beliebigen XML/Skripts, die man bewahren könnte, während man "nur
die schlechten Teile" entfernt - also versucht dieses Werkzeug es nicht. Jedes SVG wird rasterisiert:
zu flachen Pixeln gerendert durch einen abgesicherten Renderer, der niemals
<script>-Inhalt ausführt und während des Renderns niemals eine Netzwerkanfrage
stellt, und dieses Pixel-Ergebnis durchläuft dann denselben Rekonstruktionsprozess wie jedes andere
Format. Die Ausgabe ist immer ein PNG - so etwas wie ein "desinfiziertes SVG" gibt es hier absichtlich
nicht, dieselbe Überlegung, die auf der Vergleichsseite
behandelt wird.
Was vor der Rasterisierung tatsächlich gemeldet wird
Der Bericht zeigt genau, was gefunden wurde, bevor es verworfen wurde -
<script>-Elemente, javascript:-URIs, Inline-Event-Handler-Attribute,
<foreignObject>-Elemente, und DOCTYPE-Entitätsdeklarationen - damit Sie speziell
sehen, was in der Datei war, nicht nur eine allgemeine Meldung wie "das wurde bereinigt".