La plupart des outils d’aspiration de données et d’abus au paiement reposent sur les mêmes quelques frameworks : Selenium, Puppeteer et Playwright. C’est pratique pour les opérateurs de bots, car ces frameworks sont bien documentés et faciles à scripter. Mais cela signifie aussi qu’ils laissent une empreinte constante et bien connue.

Ce qui les trahit

Quelques-uns des signaux les plus fiables :

  • Marqueurs WebDriver : navigator.webdriver et les propriétés d’automatisation associées sont activés par défaut, sauf si l’opérateur les supprime volontairement
  • GPU en rendu logiciel : les environnements headless se rabattent souvent sur un rendu logiciel (SwiftShader, llvmpipe) au lieu d’un vrai matériel, ce qui se voit nettement dans les empreintes WebGL et canvas
  • Environnement incohérent : un user agent qui se dit Chrome sur macOS, avec des polices, un fuseau horaire et un nombre de cœurs qui ne correspondent à aucun vrai Mac, est un indice fort
  • Interaction absente ou artificielle : pas de vrai rendu accéléré par le GPU, pas de rythme de saisie naturel, et des écouteurs d’événements qui se déclenchent selon des schémas qu’aucun périphérique humain ne produit

Pourquoi corriger un seul signal ne suffit pas

Les opérateurs de bots avancés corrigent une partie de tout cela : ils masquent navigator.webdriver, imitent un fabricant de GPU, injectent de faux mouvements de souris. Le recoupement fonctionne quand même, car falsifier chaque signal de façon cohérente coûte cher. Un marqueur WebDriver masqué ne corrige pas un moteur WebGL qui ne correspond pas. Un trajet de souris scripté ne reproduit pas le micro-tremblement d’un vrai pavé tactile.

Skyfense évalue des dizaines de ces signaux ensemble au lieu de se fier à un seul. Une visite propre sur dix-neuf signaux et incohérente sur un reçoit une décision très différente d’une visite incohérente partout, et cette combinaison est bien plus difficile à falsifier d’un seul coup pour les frameworks d’automatisation.

Cela arrive à votre boutique ?Des visites et des paniers, pas de ventes : voyez comment Skyfense règle le problème →