Clustraly
Médiathèque

Assainissement SVG (SvgSanitizer) : des vectoriels propres, sans scripts cachés

Assainissement SVG (SvgSanitizer) une fonctionnalité du module Médiathèque de Clustraly. L'assainissement SVG (SvgSanitizer) nettoie chaque fichier SVG avant écriture disque, retire scripts et attributs dangereux, et rejette tout document qui reste suspect.

Le SVG est un format vectoriel idéal pour vos logos et icônes mais c'est un document XML qui peut embarquer du code exécutable. Clustraly nettoie chaque fichier avant qu'il touche le disque, et rejette tout ce qui reste douteux.

Le bénéfice

Acceptez des SVG sans ouvrir la porte aux scripts

Le SVG offre des visuels nets à toutes les tailles, mais derrière l'image se cache un document XML capable de porter du code exécutable. Clustraly neutralise ce risque à votre place : chaque fichier passe au nettoyage avant même d'atteindre le disque.

Vous téléversez comme n'importe quelle image ; la protection s'exécute en arrière-plan, sans configuration ni étape manuelle.

  • Nettoyage automatique, sans réglage
  • Le rendu vectoriel reste intact
  • Le code exécutable est retiré ou bloqué
Fonctionnement

La couche 5b nettoie chaque SVG avant l'écriture disque

Tout fichier SVG traverse SvgSanitizer::clean() avant d'être stocké. Les déclarations DOCTYPE et ENTITY sont retirées en amont par expression régulière, ce qui coupe court aux attaques XXE et « billion-laughs ».

Le DOM est ensuite chargé avec LIBXML_NONET, sans aucun accès réseau, et volontairement sans LIBXML_NOENT, donc sans expansion d'entités.

  • Exécuté avant tout stockage sur disque
  • Parade XXE et « billion-laughs »
  • Aucun accès réseau pendant l'analyse
Ce qui est neutralisé

Balises actives et attributs dangereux, supprimés

Les balises capables d'exécuter ou d'animer du contenu sont supprimées via local-name(), indépendamment du namespace : script, foreignObject, iframe, embed, object, animate, set et leurs équivalents.

Les attributs à risque partent avec elles : gestionnaires on*, URIs javascript: ou data:…script dans href, src et xlink:href, styles javascript: et expression().

  • Suppression indépendante du namespace
  • Gestionnaires d'événements on* retirés
  • URIs javascript: et data: neutralisées
  • Styles expression() éliminés
Garde-fous

Re-vérifié après nettoyage, rejeté au moindre doute

Défense en profondeur : la sortie nettoyée est re-parsée et ré-inspectée. S'il reste quoi que ce soit de dangereux, le document entier est rejeté plutôt que corrigé à moitié.

L'upload est alors refusé avec une réponse 422 et l'événement est journalisé en catégorie « sécurité », pour que rien ne passe en silence.

  • Double inspection après nettoyage
  • Rejet complet, jamais de demi-mesure
  • Refus signalé (422) et journalisé
Cas d'usage

Logos, icônes et illustrations de sources externes

Vous récupérez un logo chez un prestataire, un pack d'icônes sur une marketplace ou une illustration d'un designer. Téléversez-les directement : Clustraly les assainit sans que vous ayez à auditer le XML à la main.

Et parce que la même chaîne se ré-exécute au remplacement de fichier, un SVG mis à jour repasse toujours par le même filtre.

  • Fichiers de designers et prestataires
  • Packs d'icônes de marketplaces
  • Revalidé à chaque remplacement
Pourquoi ça compte

La sécurité par défaut, sans effort de votre part

Vous téléversez, Clustraly assainit. Aucune configuration, aucune manipulation : la couche 5b s'exécute sur chaque SVG, au premier upload comme au remplacement. Vous gardez la main sur vos visuels, la protection tourne toute seule.

FAQ

Questions fréquentes

Pourquoi un SVG a-t-il besoin d'être assaini ?
Un SVG est un document XML qui peut embarquer des scripts, des gestionnaires d'événements ou des références externes. Sans nettoyage, l'ouvrir dans un navigateur pourrait exécuter du code. L'assainissement retire ces éléments avant tout stockage.
Que se passe-t-il si un SVG contient du code dangereux ?
SvgSanitizer retire les balises actives et les attributs à risque, puis re-inspecte le résultat. S'il reste quoi que ce soit de suspect, le document entier est rejeté, l'upload refusé avec une réponse 422 et l'événement journalisé en catégorie sécurité.
L'assainissement dégrade-t-il mes visuels ?
Non. Seuls les éléments exécutables et les références dangereuses sont retirés. Les formes, chemins, couleurs et le rendu vectoriel de votre logo ou de votre icône restent intacts.
L'assainissement s'applique-t-il aussi au remplacement de fichier ?
Oui. La chaîne de validation complète, assainissement SVG compris, se ré-exécute à chaque remplacement de fichier, exactement comme au premier téléversement.
Prêt à commencer ?

Des SVG que vous publiez l'esprit tranquille

L'assainissement SVG (SvgSanitizer) fait partie du téléversement sécurisé de la Médiathèque Clustraly. Vous acceptez des vectoriels de vos designers ou de sources externes, Clustraly se charge de les rendre sûrs et bloque nettement ceux qui ne le sont pas.