Playwright va-t-il remplacer Puppeteer pour dissimuler des bad bots ?
Les bad bots, ou bots malveillants, sont utilisés pour une multitude d’objectifs nuisibles : web scraping (extraction du contenu de sites Web), attaques de « credential stuffing » (tentative de connexion à grande échelle avec des identifiants volés), et attaques de déni de service distribués (DDoS), pour ne citer que ces exemples. Néanmoins, les entreprises en ligne ciblées par les bad bots sont de plus en plus nombreuses à mettre en place des dispositifs de défense, sous la forme de solutions anti-bots spécialisées.
L’un des plus grands défis pour les développeurs de bad bots consiste donc à contourner les solutions de sécurité qui les démasquent et les bloquent régulièrement. Pour éviter d’être détecté, leur meilleure tactique est d’imiter le trafic humain d’une façon aussi convaincante que possible.
Le mode headless (sans tête) de Chrome, instrumenté avec la bibliothèque Puppeteer d’automatisation de navigateur basée sur Node.js, est devenu la solution par excellence pour créer des bots au comportement similaire à celui des êtres humains. Puppeteer est une solution efficace et simple qui permet de créer des bots dont l’empreinte est extrêmement proche de celles de navigateurs Chrome normaux.
Microsoft vient de lancer une nouvelle structure d’instrumentation open-source. Le nouvel outil, appelé Playwright (“dramaturge”), va permettre aux bad bots de gommer encore plus les subtiles différences qui permettent aux solutions de détection de bots de faire la distinction entre bots et humains. Il sera par conséquent plus difficile que jamais de détecter que le navigateur est automatisé.
Qu’est-ce que Playwright ?
Playwright est un framework d’instrumentation open-source qui permet aux développeurs de contrôler un navigateur et d’automatiser les actions à l’aide de JavaScript. Il est très semblable à Puppeteer, ce qui n’a rien de surprenant : il a en effet été mis au point par la même équipe qui avait à l’origine créé Puppeteer chez Google, mais qui est depuis passée chez Microsoft.
Tout comme Puppeteer, Playwright offre un accès complet aux fonctionnalités du navigateur et peut s’exécuter en mode headless intégral (émulant la fonctionnalité du navigateur) sur un serveur distant. En revanche, alors que Puppeteer n’est compatible qu’avec Chrome et avec la version Nightly de Firefox (c’est-à-dire la version bêta), Playwright prend lui en charge Headless Chrome, Headless Firefox et Webkit au sein de la même API.
Pour reprendre les propres mots de l’équipe de développement, “Playwright vise à mettre en œuvre [une] plate-forme d’automatisation Web pluri-navigateurs, toujours actualisée, performante, fiable et rapide. Avec Playwright, notre objectif principal est d’améliorer les tests automatisés des interfaces utilisateur en éliminant les incohérences, en accélérant l’exécution et en fournissant des indications sur le fonctionnement du navigateur.”
Recommençant avec une page blanche, les développeurs ont pu intégrer les leçons apprises et apporter des améliorations qui auraient nécessité des modifications majeures de l’API de Puppeteer. Si Playwright tient ses promesses, il est bien possible qu’il remplace Puppeteer.
Playwright va rendre encore plus complexe la détection des bots
L’objectif principal de Playwright est de simplifier les tests automatisés des interfaces utilisateur. Les testeurs professionnels des interfaces frontales ont accueilli le lancement de Playwright avec un très vif enthousiasme.

Ils ne sont toutefois pas les seuls à saliver à l’idée des nouvelles opportunités offertes par Playwright.
Comme on l’a expliqué, Puppeteer est largement utilisé pour dissimuler la nature des bad bots et leur permettre de se faire passer pour du trafic humain. Playwright fait bouger encore un peu plus les lignes en permettant aux développeurs de bots d’alterner avec une extrême facilité entre différents navigateurs pour leurs bots.
Pour les acteurs mal intentionnés qui souhaitent que leur activité de bot continue de passer inaperçue, l’avantage très pratique est qu’ils n’ont plus besoin de falsifier leurs empreintes pour donner l’impression que leurs requêtes proviennent de différents navigateurs, car ce sera effectivement le cas.
Par ailleurs, Playwright est livré avec des versions modifiées de Chrome, de Firefox et de Webkit (Safari). Playwright avec Headless Chrome est très similaire à Puppeteer avec Headless Chrome. En revanche, les modifications apportées à Firefox et Webkit créent des obstacles supplémentaires à la détection :
- Le navigateur Firefox possède un agent utilisateur légitime
- Dans Firefox et Webkit, la propriété navigator.webdriver = false, tout comme dans les navigateurs utilisés par les internautes humains.
Comme l’API de Playwright est très semblable à celle de Puppeteer, les développeurs de bot peuvent migrer très facilement de l’un à l’autre.
La conséquence est que les bots utilisant Playwright seront encore plus difficiles à détecter que les bots Puppeteer, pourtant déjà très sournois, et que des pirates compétents ne tarderont pas à apprendre à exploiter la nouvelle structure. DataDome s’attend à observer très prochainement une augmentation du trafic généré par des bots utilisant Playwright vers les sites Web de ses clients.
Quelles solutions pour détecter les bots utilisant Playwright ?
Grâce aux frameworks d’instrumentation telles que Puppeteer et, très bientôt, Playwright, les bots peuvent utiliser (presque) exactement les mêmes technologies que les humains. Ajoutons à cela l’accès à un gigantesque vivier d’adresses IP qu’ils peuvent faire varier aléatoirement à chaque requête, et ils deviennent quasiment impossibles à distinguer des visiteurs humains.
Les stratégies de défense classiques, telles que la mise sur une liste de blocage d’agents utilisateurs et le test de la présence d’attributs tels que navigator.webdriver, ne suffisent plus à tenir en échec les opérateurs de bots déterminés à dissimuler leur activité. Dans ce cas, à quelles solutions faire appel pour détecter et déjouer les bots créés avec Playwright ?
Premièrement, une solution spécialisée en protection anti-bot est une obligation absolue. Les outils de cybersécurité conventionnels comme les pare-feux d’application Web (WAF) ne sont tout bonnement pas prévus pour exécuter l’analyse comportementale sophistiquée qui s’impose ici. L’idée qu’il est possible de se protéger de la nouvelle génération de bad bots sans implémenter une solution spécialisée est purement illusoire.
Deuxièmement, votre solution de détection de bots doit posséder de puissantes options de détection côté client. Une prise d’empreintes côté serveur est à la fois nécessaire et utile pour détecter les bots moins sophistiqués, mais les bots utilisant Playwright ne peuvent tout simplement pas être détectés sans une analyse comportementale sophistiquée côté client.
Nous ne pouvons pas entrer plus dans les détails sans révéler aux développeurs de bad bots des indices qui leur permettraient de deviner les aspects sur lesquels ils vont devoir se focaliser. Il nous suffira donc de dire que le moteur de détection de DataDome est prêt à affronter Playwright : nos algorithmes ont été actualisés et intègrent désormais des signaux spécifiques à Playwright, ce qui permettra aux sites Web, aux applications mobiles et aux API de nos clients de rester protégés de toutes les menaces automatisées.
Vous souhaitez garder une longueur d’avance sur la prochaine grande menace automatisée ? Démarrez votre essai gratuit de 30 jours de DataDome dès aujourd’hui, ou contactez-nous pour nous demander une démo.