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.
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é
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
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
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é
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
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.
Questions fréquentes
Pourquoi un SVG a-t-il besoin d'être assaini ?
Que se passe-t-il si un SVG contient du code dangereux ?
L'assainissement dégrade-t-il mes visuels ?
L'assainissement s'applique-t-il aussi au remplacement de fichier ?
Fonctionnalités liées
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.