Vérification des métadonnées SVG
SVG est un format d'image, mais son contenu est du texte.
Contrairement à une image qui ressemble à un PNG ou JPEG, un fichier SVG peut conserver sous forme XML des formes, textes, commentaires, noms de calques, informations d'outil, ID et descriptions.
Même si rien ne semble poser problème visuellement, ouvrir le fichier comme texte peut révéler un nom de créateur, une entreprise, un projet, un texte d'origine ou l'outil d'édition.
Si vous publiez anonymement une image ou un schéma SVG, il faut le vérifier non comme une simple « image », mais comme un fichier texte publié.
Cet article explique quelles informations peuvent rester dans un SVG et quoi vérifier avant publication.
Un SVG est une image lisible
SVG signifie Scalable Vector Graphics : un format qui décrit des images vectorielles en XML.
Cercles, lignes, textes, tracés, couleurs et positions sont écrits sous forme de balises et d'attributs. Le navigateur peut l'afficher comme image, mais un éditeur de texte peut aussi en lire le contenu.
| Élément dans un SVG | Information pouvant rester | Point d'attention pour l'anonymat |
|---|---|---|
| Élément text | Texte dans l'image | Un texte invisible peut aussi rester |
| Élément metadata | Créateur, outil, description | L'environnement de création devient visible |
| Commentaire | Note de travail, nom | Facile à manquer car invisible |
| id et class | Nom de calque ou de pièce | Projet ou terme interne peut rester |
| Nom de fichier | Nom, affaire, date | Visible tel quel lors du partage |
Le danger du SVG vient du décalage entre apparence et contenu.
Un texte que l'on pense avoir effacé à l'écran peut rester dans le XML.
Les informations des outils de design peuvent rester
Les SVG sont souvent exportés depuis des outils de design ou de dessin.
À l'export, nom de l'outil, paramètres, noms de calques, noms d'objets et modèles peuvent rester.
| Information restante | Exemple | Point d'attention |
|---|---|---|
| Outil de création | Illustrator, Figma, Inkscape, etc. | L'environnement de création peut être déduit |
| Nom de calque | client-logo, school-map | Nom de dossier ou d'organisation visible |
| ID d'objet | user-name, draft-title | Usage d'origine visible |
| Commentaire | TODO, note de travail | Information interne restante |
| Nom de modèle | Modèle contenant le nom d'entreprise | L'affiliation se relie |
Le nom d'un outil seul n'est pas toujours grave.
Mais un nom d'entreprise, d'école, de dossier, de projet interne ou d'utilisateur touche directement l'anonymat.
Attention au texte invisible
Dans un SVG, du texte invisible ou trop petit peut rester.
Par exemple, déplacer un nom hors du cadre, le rendre transparent ou masquer un calque ne retire pas forcément le texte du XML.
| État | Apparence | Contenu |
|---|---|---|
| Texte transparent | Invisible | Reste comme élément text |
| Texte hors écran | Non affiché | Reste avec des coordonnées |
| Calque masqué | Invisible | Les informations de calque peuvent rester |
| Texte très petit | Difficile à remarquer | Lisible en zoom ou dans le XML |
Même si l'image semble correcte, ouvrez le contenu comme texte.
Pour un SVG nécessitant l'anonymat, il est important de ne pas publier après une simple vérification visuelle.
Ce qu'il faut vérifier
Avant publication d'un SVG, vérifiez ces informations.
| Point de contrôle | Raison |
|---|---|
| Nom du créateur | Un nom ou compte peut rester |
| Entreprise ou école | Affiliation ou dossier visible |
| Nom de calque et ID | Projet interne pouvant rester |
| Commentaire | Note de travail ou information supprimée visible |
| Texte invisible | Texte absent de l'apparence mais présent |
| Nom de fichier | Visible tel quel au partage |
La méthode est simple.
Ouvrez le SVG dans un éditeur de texte et cherchez nom, e-mail, entreprise, école, projet, lieu, commentaire et chaîne inutile.
Utilisation des outils d'optimisation SVG
Il existe des outils d'optimisation qui réduisent les métadonnées ou attributs inutiles des SVG.
SVGO est un outil courant pour optimiser les SVG. Le dépôt officiel explique ce qui peut être retiré et les plugins disponibles.
URL : https://github.com/svg/svgo
Si vous utilisez SVGO, partez du principe que vous traitez localement avec l'outil officiel. Téléverser un SVG à haut risque vers un service Web d'optimisation transmet les chaînes XML et le nom de fichier à l'extérieur.
Cependant, passer un outil ne garantit pas la sécurité.
Les informations restantes dépendent des réglages. L'outil retire surtout des attributs ou métadonnées inutiles ; il ne juge pas le texte réellement dessiné, l'arrière-plan ni le sens de l'image.
Même après SVGO, le contenu final doit être vérifié par une personne.
Convertir en PNG rend-il sûr ?
Convertir un SVG en image raster comme PNG fait en général disparaître les informations XML comme texte.
Mais cela ne rend pas l'image totalement sûre.
Les textes, arrière-plans, logos, cartes et informations d'écran visibles restent. Le fichier image converti peut aussi recevoir d'autres métadonnées.
| Ce que la conversion réduit | Ce qui reste | Point d'attention |
|---|---|---|
| Commentaires XML | Texte visible dans l'image | Vérification visuelle nécessaire |
| Noms de calques | Logos et arrière-plans | Affiliation ou lieu visible |
| ID d'objet | Métadonnées de l'image convertie | Vérifier aussi le fichier de sortie |
La conversion est une option utile.
Mais après conversion, il faut encore vérifier l'apparence et les informations du fichier.
Procédure pratique avant partage
Fixez une procédure avant de publier un SVG.
Copiez d'abord le fichier source et créez un fichier de publication séparé. Ouvrez ensuite le contenu dans un éditeur de texte et cherchez noms ou organisations. Affichez-le ensuite dans un navigateur pour vérifier les textes et logos visibles. Enfin, vérifiez que le nom du fichier de publication ne contient pas d'information personnelle.
| Ordre | Action | Objectif |
|---|---|---|
| 1 | Copier le fichier source | Séparer source et version publique |
| 2 | Ouvrir comme texte | Vérifier les informations dans le XML |
| 3 | Chercher noms et organisations | Trouver les indices directs |
| 4 | Afficher dans un navigateur | Vérifier les fuites visuelles |
| 5 | Renommer le fichier | Retirer l'information extérieure |
Répéter la même procédure réduit les oublis.
Plus vous êtes pressé, plus il faut éviter de juger seulement par l'apparence.
Revoir le format pour les SVG à haut risque
Pour un lancement d'alerte, des documents de reportage, des schémas liés au travail ou à l'école, ou des images qui protègent des personnes liées, demandez-vous s'il faut vraiment publier en SVG.
Le SVG est pratique, mais sa structure éditable conserve facilement des informations. Si le lecteur n'a pas besoin de zoomer ou modifier, publier une version PNG vérifiée peut être une option.
Cependant, la conversion PNG ne retire pas les textes ou arrière-plans visibles.
Changer de format ne sert pas à réduire la vérification, mais à changer le type d'informations à vérifier.
Résumé
Un SVG s'affiche comme une image, mais son contenu est du texte.
Nom de créateur, entreprise, école, nom de calque, ID, commentaire, texte invisible et note de travail peuvent rester.
Pour publier anonymement un SVG, regardez l'image et ouvrez aussi son contenu dans un éditeur de texte.
Un outil comme SVGO peut aider, mais ne doit pas être traité comme suffisant.
Au final, il faut vérifier ensemble le texte de la publication, l'apparence de l'image, le contenu XML et le nom de fichier.
Outils liés
ExifTool
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.
URL : https://exiftool.org/
MAT2
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.