Hotjar ou Clarity ajouté par l'attaquant : session replay et RGPD
Un outil de session replay sur un site déjà compromis aggrave le volet données : formulaires, parfois des écrans d'espace client. Retirez le script, évaluez ce qui a pu être enregistré, documentez. Ce n'est pas un « petit tracking de plus ».
Un outil de replay sur un site déjà compromis aggrave le volet données. Retirez le script, évaluez ce qui a pu être enregistré, documentez.
Replay n'est pas un simple compteur de pages
Hotjar, Microsoft Clarity, des clones : ils enregistrent des sessions, des clics, souvent des extraits de page. Un pixel, déjà, exfiltre des événements. Un replay, lui, peut montrer ce que l'utilisateur a tapé si le masquage n'est pas en place — ou s'il a été volontairement ouvert.
Sur un site vitrine, l'enjeu est déjà un formulaire de contact. Sur une boutique ou un espace adhérent, c'est autre chose. Ajouter ça pendant un piratage n'est pas un hasard de « SEO ». C'est une collecte.
Vous n'aurez pas toujours accès aux replays (compte tiers). Partez d'une hypothèse haute pour documenter, puis affinez si vous récupérez le compte. Le constat fuite aime les faits ; ici, une partie restera en plausible.
Comment il arrive sur la page
Snippet dans le thème, plugin « Hotjar », tag GTM Custom HTML, champ Extra d'un builder, parfois un mu-plugin. Cherchez `hotjar`, `hjid`, `clarity.ms`, `clarity.js`. Plusieurs collages possibles, comme pour le pixel Meta.
Clarity se pose aussi via un plugin WordPress « officiel Microsoft ». Vérifiez l'ID projet. Officiel n'empêche pas un ID qui n'est pas le vôtre.
Un attaquant qui a GTM n'a pas besoin du FTP. Auditez le container. GTM.
Ce qui a pu être vu, concrètement
Pages publiques, captures de formulaires (nom, email, message, parfois plus si le masquage est off), URLs d'admin si un rédacteur a navigué connecté avec le script actif, écrans de commande. Les champs carte sont souvent exclus par les outils sérieux — « souvent » n'est pas une preuve sur un compte que vous ne voyez pas, ou sur un clone.
Un site d'avocat, de médecin, d'asso avec espace usager : calibre plus haut. Le secret professionnel et les données de santé ne se « compensent » pas par un bandeau cookies. Coupez les formulaires le temps du constat si le doute est sérieux.
Les replays ont une rétention (jours, semaines). Notez la date de pose estimée (première apparition dans un backup, une version GTM) et la date de retrait. Cette fenêtre est le cœur du document.
- Fenêtre : pose estimée → retrait.
- Types de pages où le script chargeait.
- Formulaires et espaces connectés concernés.
Retirer le script, tous les collages
Tous les snippets, tous les plugins, le tag GTM, puis purge cache page, objet, CDN. Un Clarity « qui revient », c'est presque toujours un second collage ou un cache. Vérifiez le HTML visiteur après purge.
Ne laissez pas le plugin installé « désactivé ». Sortez-le si l'ID n'était pas le vôtre. S'il l'était, tournez quand même : un attaquant a pu changer l'ID dans les réglages.
Les premiers gestes : copie avant de tout arracher, pour dater le snippet dans les fichiers.
Le compte Hotjar / Clarity de l'attaquant
Vous ne « videz » pas son cloud. Vous coupez l'arrivée. Signalez à l'éditeur (abus) si vous avez l'ID projet : parfois ils ferment un compte clairement malveillant. Ce n'est pas garanti, ce n'est pas immédiat, ça n'efface pas ce qui a déjà été vu.
Si c'est VOTRE compte Hotjar dont les accès ont été pris : révoquez les membres, tournez le mot de passe, 2FA, parcourez les sites du projet (un second domaine ajouté). Même rituel que la BM Meta.
Clarity lié à un compte Microsoft / Bing : relisez les utilisateurs. Une invitation inconnue, c'est une porte.
Masquage, formulaires, et ce qui reste trop tard
Le masquage des champs, s'il était actif sur VOTRE projet, réduit le plausible. Sur un projet tiers, vous n'en savez rien. N'écrivez pas au dossier « les mots de passe étaient masqués » sans preuve. Écrivez « masquage non vérifiable ».
Après retrait, le risque d'enregistrement nouveau cesse. Le risque de conservation chez le tiers, non. C'est le même écart que pour un export déjà téléchargé : on documente, on ne promet pas l'oubli.
Couper les formulaires sensibles le temps du nettoyage est un geste de réduction, pas une preuve que rien n'a transité avant.
Constater pour le RGPD, sans roman
Faits : script présent, dates, pages, outil, si le compte est à vous ou non, si des espaces authentifiés étaient inclus. Hypothèses : typologie des données possibles. Décisions : notification, information des personnes — à vous, avec un conseil. Nous fournissons le technique, pas la déclaration. Qui nous sommes.
Un replay sur un site déjà pirate n'implique pas que la base a été dumpée. Ce sont deux volets. Ne les fusionnez pas pour « simplifier » : vous sous-estimez l'un ou surestimez l'autre.
Mettez à jour le registre des sous-traitants quand c'est clos. Sous-traitants analytics.
Après : qui a le droit d'enregistrer
Si vous reposé Hotjar / Clarity : votre compte, masquage strict, exclusion admin et checkout si possible, mention dans la politique, moins d'invités. Si vous n'en avez pas besoin, ne le reposéz pas « parce que tout le monde le fait ». Un incident est un bon filtre.
Revue des scripts de replay dans la même passe que GTM et pixels, trimestrielle. Surveillance : un nouveau `clarity.js` est un signal.
Déclarer : joignez l'ID projet si vous l'avez, et si des pages d'espace client existaient. Ça calibre le constat, pas le prix d'un « pack RGPD » que nous ne vendons pas.