Retour au Blog
Empreinte

Protection des proprietes Navigator par BotBrowser : identite de navigateur coherente

Comment BotBrowser controle les proprietes navigator, User-Agent, Client Hints et valeurs materielles pour maintenir une identite de navigateur coherente entre les sessions.

Le risque pour la vie privee

L'objet navigator expose les details materiels, les informations du systeme d'exploitation, la version du navigateur et les preferences linguistiques a chaque script de la page. Ces proprietes peuvent etre combinees comme signal de pistage. BotBrowser vous donne un controle total sur toutes les valeurs navigator depuis un seul profil d'empreinte.

Controle Navigator base sur le profil

Chaque profil BotBrowser definit un ensemble complet et internement coherent de proprietes navigator. Le chargement d'un profil applique toutes les valeurs avant l'execution de tout code de page :

chrome --bot-profile="/path/to/profile.enc" \
       --user-data-dir="$(mktemp -d)"

Cela controle navigator.userAgent, navigator.platform, navigator.hardwareConcurrency, navigator.deviceMemory, navigator.languages et tous les en-tetes HTTP correspondants depuis une source unique.

Configuration de la marque du navigateur

Changez toute l'identite de marque du navigateur avec un seul flag :

chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-browser-brand=edge

Cela met a jour simultanement la chaine User-Agent, navigator.userAgentData.brands, les en-tetes Sec-CH-UA et les proprietes specifiques au fournisseur.

Controle linguistique

Remplacez les parametres de langue pour correspondre a toute region :

chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-languages="fr-FR,fr,en-US,en"

Cela met a jour navigator.language, navigator.languages et l'en-tete HTTP Accept-Language.

Coherence des Client Hints

BotBrowser controle les User-Agent Client Hints au niveau du moteur. L'API JavaScript (navigator.userAgentData.getHighEntropyValues()) et les en-tetes HTTP (Sec-CH-UA, Sec-CH-UA-Platform) retournent des valeurs correspondant au profil charge.

Verification

Apres avoir lance BotBrowser avec un profil, verifiez la coherence :

console.log('UA:', navigator.userAgent);
console.log('Platform:', navigator.platform);
console.log('Cores:', navigator.hardwareConcurrency);
console.log('Memory:', navigator.deviceMemory);
console.log('Languages:', navigator.languages);

const ua = await navigator.userAgentData.getHighEntropyValues([
  'platform', 'fullVersionList'
]);
console.log('CH Platform:', ua.platform);
console.log('CH Versions:', ua.fullVersionList);

Toutes les valeurs doivent correspondre au profil charge.

Pour commencer

  1. Telechargez BotBrowser depuis GitHub
  2. Chargez un profil d'empreinte avec --bot-profile
  3. Utilisez --bot-config-browser-brand pour controler l'identite du navigateur
  4. Verifiez avec CreepJS ou les DevTools du navigateur
#navigator#fingerprinting#privacy#user-agent#client-hints