Skip to main content
Blog
Blog Attacks

Attraper les bots Playwright et browserless à la façon dont bouge le curseur

Taux réels de capture du mouvement de souris piloté par Playwright et de l'API 'humanlike' de browserless.io, attrapés sur ordinateur rien qu'au curseur.

Jul 01, 2026 7 min read
Attraper les bots Playwright et browserless à la façon dont bouge le curseur

Il y a trois façons pour un script de bouger une souris sur une page : téléporter le curseur droit sur sa cible, ajouter un humaniseur qui dessine une courbe lisse, ou payer une API commerciale qui livre un mouvement "humanlike" clé en main. Le modèle de curseur de bureau de cside, cursor_v2, attrape les trois à la façon dont bouge la souris. Cet article donne les taux de capture, sur ordinateur, de bout en bout.

Rien de tout cela ne dépend du navigateur. Que l'automatisation tourne sur du Playwright brut, une bibliothèque d'humanisation comme WindMouse ou NaturalMouse, ou l'API BrowserQL de browserless.io, le modèle note la même chose : le mouvement qu'une main réelle laisse derrière elle, qu'un script ne peut toujours pas reproduire. C'est le complément d'un article précédent sur l'art d'attraper les bots à leur façon de bouger ; ici, l'accent est mis sur Playwright et browserless.io en particulier.

La version courte :

  • Un script Playwright qui téléporte le curseur, sans aucune humanisation, est attrapé 98,2% du temps, à froid.
  • Ajoutez un humaniseur standard (courbes de bézier) ou une bibliothèque basée sur la physique comme WindMouse ou NaturalMouse, et le taux de capture bouge à peine : de 97% à 100%.
  • L'API BrowserQL de browserless.io livre un mode "humanlike" avec des trajectoires de souris courbées et des événements de clic de confiance, clé en main. Environ 70% du trafic browserless contre lequel nous testons tourne déjà avec ce mode activé.
  • Courber une trajectoire n'est pas la même chose que bouger comme une personne. cursor_v2 signale 100% des sessions "humanlike" browserless en direct, à un taux de faux positifs inférieur à 1% sur les vrais humains.

Quelle que soit la façon dont vous générez la trajectoire

Le Playwright brut est souvent exactement ce qu'il semble être : vous appelez mouse.move(x, y) et le curseur saute droit sur la cible sans trajectoire entre les deux. C'est le cas le moins cher, et il est aussi facile à attraper qu'il en a l'air.

Un humaniseur change la forme. Au lieu d'un saut, le curseur suit une courbe de bézier lisse. Les bibliothèques basées sur la physique vont plus loin : WindMouse et NaturalMouse sont conçues pour imiter l'accélération, le dépassement et les petites corrections qu'une main réelle effectue. Chacune a été notée sur ordinateur, de bout en bout, à travers le modèle déployé.

ApprochenAUCRecall @ FPR ≤ 1%Attrapé
Téléportation en ligne droite (sans humaniseur)5000,99598,6%98,2%
Humaniseur à courbe de bézier (réservé)5000,99999,6%99,6%
Humaniseur de bézier quantifié (réservé)5000,99999,6%99,6%
WindMouse (basé sur la physique)4991,00099,4%97,0%
NaturalMouse (basé sur la physique)5001,000100,0%100,0%

Contrôle : 160 mouvements humains réels, réservés, notés par le même pipeline. Zéro signalé.

Courber la trajectoire change son apparence, pas ce qu'une main laisse réellement. Chaque approche ici reste au-dessus de 97% attrapé, sur ordinateur, rien qu'au mouvement.

Puis browserless.io entre en scène

browserless.io vend du Chromium headless distant sous forme d'API. Vous pilotez un vrai navigateur via un langage de requête appelé BrowserQL sans exécuter Chromium vous-même. C'est un produit légitime avec des usages légitimes, et c'est aussi une façon populaire de faire tourner des bots.

BrowserQL livre un mode "humanlike". Activez-le et les clics et défilements se déclenchent comme des événements de confiance, et la souris est routée par des trajectoires courbées, à forme humaine, au lieu de se téléporter de A à B. Dans le trafic contre lequel nous testons, environ 70% tourne déjà avec le mode "humanlike" activé. Les gens essaient déjà.

Courbé n'est pas humain

La forme d'une trajectoire est la moitié de ce qu'une main laisse, pas la totalité. cursor_v2, le même modèle qui a signalé un agent LLM pilotant le navigateur furtif Camoufox dans un test précédent, ne note pas un mouvement sur sa seule forme. Quoi qu'il note d'autre, le mode "humanlike" n'y a pas touché. Une trajectoire courbée est une version plus jolie de la même téléportation.

En direct, sur du trafic réel capturé de browserless.io avec le mode "humanlike" activé, cursor_v2 attrape tout. Dans une comparaison contrôlée de 54 sessions réelles capturées de browserless face à 529 sessions humaines réelles, le système combiné a attrapé les 54 et signalé environ 1% des humains.

MétriqueRésultat
Sessions "humanlike" browserless en direct attrapées100%
Recall en distribution @ FPR ≤ 1%99,5%
Taux de faux positifs humains au seuil0,6%

Tableau de bord de détection d'agents d'IA de cside

browserless.io a bien fait la géométrie : trajectoires courbées, événements de clic de confiance. Attrapé quand même, car la forme d'une trajectoire n'a jamais été toute l'histoire. La même indépendance parcourt la pile à deux étages dans attraper les bots qui ne veulent pas être attrapés.

Ce que cela attrape, quel que soit le navigateur

Rien de tout cela ne dépend de la façon dont le navigateur a été automatisé. Playwright, Puppeteer, une session CDP brute, l'API de browserless.io : le modèle ne voit rien de tout ça. Il voit s'il y avait une main réelle sur la souris, et un script, aussi bien qu'il feigne la forme d'une trajectoire, n'en est toujours pas une.

Si vous cherchez précisément à barrer la route à Playwright, comment bloquer Playwright couvre le côté fingerprint ; le mouvement est la couche qui tient quand le fingerprint est propre. Pour l'ensemble de signaux plus large derrière l'automatisation furtive, voyez comment détecter les agents d'IA et les navigateurs furtifs.

Les limites, dites clairement

Un compte rendu de sécurité ne vaut la peine d'être lu que s'il est honnête sur ses limites.

Le taux de faux positifs est faible, pas nul. Au seuil déployé, le taux de faux positifs humains est de 0,6%, et dans la comparaison environ 1% des vrais humains ont été signalés. C'est un coût réel, et c'est pourquoi la production attend plusieurs mouvements notés comme bot d'affilée avant d'agir, plutôt que de réagir à un seul geste étrange.

Le résultat browserless est mesuré face à un échantillon fini de sessions humaines réelles, pas face à chaque curseur qui existera jamais. Lisez le 100% comme validé pour cette capture et ce contrôle, et le levier ouvert comme l'ampleur du vrai mouvement humain contre lequel calibrer.

Ces chiffres sont la vue par mouvement, avant l'anti-rebond de production. Ils omettent aussi volontairement ce que le modèle regarde réellement, ses seuils, et tout ce qu'un auteur de bots pourrait utiliser pour s'y ajuster.

Comment cside s'intègre

cside vous donne une visibilité sur chaque script, requête et session qui touche votre site, ainsi que le signal comportemental pour distinguer les vrais utilisateurs de l'automatisation qui se cache parmi eux. Le modèle de curseur est une couche d'une pile de détection qui sépare déjà humains, bons bots et agents malveillants à la couche du navigateur, après que les indices statiques ont été falsifiés.

Découvrez la détection d'agents d'IA de cside

Pour aller plus loin sur cside

Avneh Bhatia
AI Researcher

Making machines learn. Applied math major currently developing the next generation of bot detection models at cside.

FAQ

Frequently Asked Questions

Oui. Un script Playwright qui appelle mouse.move pour téléporter le curseur droit sur sa cible, sans trajectoire entre les deux et sans humanisation, est attrapé 98,2% du temps à un taux de faux positifs inférieur à 1% sur les vrais humains (AUC 0,995). C'est l'automatisation la moins chère possible et la plus facile à attraper.

À peine. Face au modèle cursor_v2 de cside, un humaniseur à courbe de bézier est attrapé 99,6% du temps, WindMouse 97,0% et NaturalMouse 100%, le tout sur ordinateur. Courber la trajectoire change son apparence, pas les autres signaux qu'une main réelle laisse, donc le taux de capture reste au-dessus de 97%.

BrowserQL est le langage de requête de browserless.io pour piloter un vrai navigateur distant. Son mode 'humanlike' déclenche les clics et défilements comme des événements de confiance et route la souris par des trajectoires courbées, à forme humaine, clé en main. Environ 70% du trafic browserless contre lequel nous testons tourne déjà avec ce mode activé. Dans une capture en direct, cursor_v2 a signalé 100% des sessions 'humanlike' browserless à un taux de faux positifs humains de 0,6%.

Dans une comparaison contrôlée de 54 sessions réelles capturées de browserless face à 529 sessions humaines réelles, le système combiné a attrapé les 54 et signalé environ 1% des humains. Au seuil déployé, le taux de faux positifs humains est de 0,6%, et le recall en distribution est de 99,5% à un taux de faux positifs inférieur ou égal à 1%.

Surveillez et sécurisez vos scripts tiers

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Commencez gratuitement, ou essayez Business avec un essai de 14 jours.

cside Interface du tableau de bord affichant la surveillance des scripts et les analyses de sécurité
Related Articles
Réserver une démonstration