Pixels, chat et analytics ajoutés par l'attaquant
Un pixel Meta ou un chat tiers que vous n'avez pas posé exfiltre des pages vues, parfois des saisies. Inventoriez les scripts tiers après chaque incident. Ce n'est pas « de l'analytics » : c'est un destinataire non choisi, donc un sujet RGPD autant que technique.
Un pixel Meta ou un chat tiers que vous n'avez pas posé exfiltre des pages vues, parfois des saisies. Inventoriez les scripts tiers après chaque incident.
Ce que l'attaquant gagne avec un pixel
Des URLs visitées, des identifiants de clic, parfois le contenu de formulaires si l'outil enregistre les frappes. Ce n'est pas toujours un dump SQL. C'est une exfiltration continue, silencieuse, qui survit à un « nettoyage » de fichiers PHP trop étroit. Les pages de paiement sont la cible noble ; une page de contact suffit à faire mal.
L'attaquant revend, ou redirige vers son propre pixel. Votre marque paie la pub d'un autre, ou nourrit un fichier. Les deux sont des traitements hors de votre registre.
Un bandeau cookies « tout accepter » ne légitime pas un outil que vous n'avez pas choisi. Le consentement porte sur *vos* sous-traitants, pas sur un inconnu.
Où ça se cache dans un CMS
En-tête / pied du thème, widget, page builder, option `custom_html` en base, GTM que vous aviez, GTM qu'ils ont créé, plugin « header footer », mu-plugin, fichier JS dans uploads. Search Console n'aide pas beaucoup. Le code source de la page vue en navigation privée, si.
Comparez à une sauvegarde propre, ou à un export de la config analytics d'avant. Un ID de pixel que personne ne reconnaît est le critère, pas un scan antivirus (souvent muet).
Les iframes de chat (Crisp, Tawk, un clone) : même famille. Calendly / prise de RDV injectée : autre article possible, même inventaire.
- Thème, builder, options HTML.
- GTM et « header scripts ».
- JS dans les médias.
Inventaire : la liste de vérité
Une page : outil, ID, qui l'a posé, finalité, date de découverte, date de retrait. Faites-la avec le marketing *et* le technique. Le marketing « on n'a jamais eu Hotjar » est une information. Le HTML dit le contraire : le HTML gagne.
Incluez les outils légitimes. L'incident est l'occasion de tuer les doublons (trois pixels Facebook, un ancien UA Google). Moins de surface.
Cette liste entre dans le constat si des données ont pu partir (pages, formulaires). Catégories : données de navigation, éventuellement saisies.
Chat, heatmaps, tag managers
Un chat enregistre souvent les messages et des emails. Si ce n'est pas votre contrat, c'est une fuite vers un tiers inconnu. Coupez, demandez (si vous trouvez le compte) la suppression — souvent impossible sans accès. Notez la limite.
Heatmaps / session replay : gravité plus haute (saisies, parfois cartes). Traitez comme un accès aux contenus de page, pas comme « un petit JS ».
Un GTM dont vous avez perdu l'accès admin : l'attaquant peut reposer le pixel après votre retrait dans le thème. Reprenez le compte Google, révoquez les utilisateurs, ou retirez GTM le temps du chantier. Voir clés et accès.
Retirer sans casser le métier
Identifiez *votre* pixel avant de tout arracher. Un e-commerçant qui vire GA4 et le pixel légitime le vendredi soir se réveille sans stats *et* croit que c'est encore le pirate. Annotez. Retirez l'inconnu d'abord.
Purgez les caches (plugin, CDN). Le script « retiré » qui s'affiche encore une heure n'est pas une réinfection forcément — vérifiez le cache avant de tout réinstaller.
Si le script est en base, un thème « reset » ne suffit pas. Même leçon que le spam en options. Injection si d'autres signes d'écriture.
Constats et personnes
Destinataire non autorisé + données de navigation (et éventuellement formulaires) : violation possible. Le risque dépend de ce qui partait (simple page vue vs replay des cartes). Le guide fuite s'applique. N'affirmez pas « ce n'est que de la pub » pour éviter les 72 h : le replay n'est pas de la pub.
Informez si le risque est élevé (saisies, paiement). Pour de simples pageviews d'un pixel pub, l'analyse peut conclure autrement — écrivez-la. Pas de phrase magique unique.
Mettez à jour le registre : sous-traitant retiré, sous-traitants légitimes confirmés. Obligations.
Prévenir la repose automatique
Une backdoor réécrit le footer. Un cron, un mu-plugin, un utilisateur GTM. Fermez ça, sinon l'inventaire est un rituel quotidien. Permissions, plus de PHP dans uploads.
Comptes Meta / Google Ads : révisez les accès. Un partenaire pub parti en 2022 a encore « admin » : il n'est pas forcément le pirate, c'est une porte.
CSP plus tard, à froid, si vous avez la main. Pas un copier-coller le soir de l'incident qui casse le checkout.
Routine d'après
Une fois par mois : view-source sur home, fiche produit, checkout, contact. Cinq minutes. Moins cher qu'un second dump « analytics ».
Toute pose d'outil passe par la liste et le registre. Plus de « le stagiaire a mis un essai ».
Créer un espace si le JS revient tout seul. Joignez l'ID du pixel et l'URL de la page, pas un discours « on a du malware dans Facebook ».
- Inventaire écrit, IDs, propriétaires.
- Retrait de l'inconnu + cache.
- Comptes pubs et GTM repris.