Supprimer les scripts et le code caché des fichiers SVG
07 Pas un format de photo du tout - un risque complètement différent
Tous les autres formats de ce site sont des pixels rastérisés enveloppés dans un conteneur binaire. Le
SVG est différent : c'est du texte XML brut décrivant des formes, et le XML peut contenir un élément
<script>, des gestionnaires d'événements en ligne (onload=,
onclick=), ou des déclarations d'entité XXE - du vrai code, pas seulement des données
voyageant avec le fichier. Il n'y a pratiquement aucun risque EXIF/GPS ici (les SVG ne sont pas des
sorties d'appareil photo), mais le risque de contenu actif est réel et spécifique à ce format en
particulier.
Aller plus loin : pourquoi le SVG ne peut pas être "nettoyé" comme d'autres formats
Il n'existe pas de sous-ensemble sûr de XML/script arbitraire à préserver tout en supprimant "juste
les mauvaises parties" - donc cet outil n'essaie pas. Tout SVG est rastérisé : rendu en pixels plats
via un moteur de rendu renforcé qui n'exécute jamais de contenu
<script> et ne fait jamais de requête réseau pendant le rendu, et ce résultat en
pixels passe ensuite par le même processus de reconstruction que n'importe quel autre format. La
sortie est toujours un PNG - il n'existe délibérément pas de chose telle qu'un "SVG désinfecté" ici,
le même raisonnement expliqué sur la page de comparatif.
Ce qui est réellement signalé avant la rastérisation
Le rapport indique exactement ce qui a été trouvé avant d'être rejeté - éléments
<script>, URI javascript:, attributs de gestionnaires d'événements en
ligne, éléments <foreignObject>, et déclarations d'entité DOCTYPE - pour que vous
voyiez spécifiquement ce qu'il y avait dans le fichier, pas juste un message générique de "ceci a été
nettoyé".