Retour à l’étude BotGuard
Document de l’étude · Octobre 2026

Contrôles navigateur du 19 octobre 2026

Réglages de Chrome, signal webdriver et matrice factorielle contrôlée.

Powered by RESONEO

Signal d’automatisation et réglages de Chrome

Dans la matrice contrôlée, le résultat suit la valeur native de navigator.webdriver, indépendamment de la présence de --enable-automation. Ce constat porte sur les conditions testées, pas sur une règle universelle de Google.

Comparaison factorielle

Chrome 153.0.8010.52, même binaire et même SHA-256, même VPS, mêmes adresses IPv4 et IPv6, même requête « musée du Louvre site officiel », langue fr-FR/fr, viewport 1280 × 720. Chaque navigation utilise un profil neuf. Le getter reste natif ; sa valeur est vérifiée avant et après navigation. CDP est connecté dans toutes les cellules.

La fonctionnalité Blink AutomationControlled est désactivée dans les quatre combinaisons. La commande CDP Emulation.setAutomationOverride contrôle le signal natif indépendamment de la présence du flag. Deux blocs contiennent chacun les quatre combinaisons dans un ordre randomisé, fixé avant exécution (graine 20261019). Deux témoins ordinaires, sans désactivation de la fonctionnalité ni flag, encadrent les essais.

Flag --enable-automationwebdriver natifRésultat
Absentfalse2 résultats sur 2
Présentfalse2 résultats sur 2
Absenttrue2 refus sur 2
Présenttrue2 refus sur 2

Les deux témoins affichent les résultats. Les dix navigations sont complètes, sans erreur technique ni changement des adresses de sortie. Aucun effet propre du flag n’est distinguable dans cette matrice. L’intervention sur le signal natif soutient un rôle causal dans cet environnement ; elle ne permet pas de connaître le score serveur ni d’attribuer le verdict à une lecture particulière d’une VM.

Contrôles des réglages et du pilotage

La comparaison des navigateurs et des réglages comprend 37 navigations, distinctes de la matrice factorielle. Les options proviennent du processus Chrome lancé par Playwright 1.51, hors canal de pilotage, profil et URL de départ.

ConfigurationObservation
Chrome normal avec port de débogage ouvertRésultats, avec ou sans Playwright connecté
Liste de 17 fonctions désactivées3 résultats sur 3
29 autres réglages de Playwright3 résultats sur 3
--enable-automation seul, sans intervention sur le signal1 refus ; webdriver=true
Ensemble des 31 réglages, sans PlaywrightRefus

Les groupes couvrent les 31 réglages ; la combinaison des 30 réglages sans le flag n’a pas été testée. Les refus de cette comparaison de réglages ne sont mesurés qu’une fois par configuration. Les contrôles du flag et des groupes vérifient aussi la sortie IPv6 utilisée par Chrome ; les comparaisons générales Chrome/Camoufox et port de débogage ne contrôlent que l’IPv4.

Un remplacement JavaScript du getter retournant false reçoit également un refus, alors que le témoin natif qui le suit affiche les résultats. Ce remplacement n’est donc pas une intervention neutre et ne se confond pas avec le contrôle natif de la matrice.

Classification et portée

Les documents acceptés affichent les résultats Search en HTTP 200 avec #search. Les refus conduisent le document principal vers /sorry, puis à une réponse 429. La classification recoupe navigation, contenu et captures d’écran ; une requête de fond vers /sorry ne constitue pas un refus du document principal. Dans la comparaison du flag seul, la page de vérification est suivie d’un rechargement environ 0,2 seconde plus tard.

Deux répétitions par cellule, une machine, un réseau et une requête : ces effectifs ne permettent pas d’estimer un taux de détection généralisable. Les profils neufs ne sont pas identiques bit à bit et les états serveur ne sont pas contrôlés. Les interventions restent des commandes du navigateur dans un environnement où AutomationControlled est désactivé. Ni l’unicité du signal dans la décision de Google ni sa suffisance dans tous les environnements ne sont établies. Aucun CAPTCHA n’est résolu. Profils, cookies, tokens et traces brutes restent privés.

Retour à l’étude BotGuard