Retour au Blog
Empreinte

Protection des empreintes WebGL : controle de l'identite GPU avec BotBrowser

Comment BotBrowser controle l'identite GPU WebGL et ses parametres via une protection d'empreinte basee sur les profils.

Le risque pour la vie privee

WebGL expose des informations detaillees sur le materiel GPU, incluant le fabricant, le renderer, les extensions supportees et les limites de capacite. Ces informations forment une empreinte distinctive pour le suivi entre sites web.

Comment BotBrowser controle l'identite WebGL

BotBrowser gere les empreintes WebGL au niveau du moteur du navigateur, assurant que toutes les valeurs WebGL forment un profil materiel coherent et realiste.

Identite GPU basee sur les profils

Lors du chargement d'un profil d'empreinte, les parametres WebGL correspondent automatiquement au GPU cible :

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

Configuration WebGL explicite

Pour un controle precis, utilisez la configuration WebGL explicite :

chrome --bot-profile="/path/to/profile.enc" \
       --bot-config-webgl='{"vendor":"Google Inc.","renderer":"ANGLE (NVIDIA GeForce GTX 1660 SUPER)"}'

Controle GPU multiplateforme

Executez un profil configure pour un GPU NVIDIA sur une machine avec du materiel AMD ou Intel. BotBrowser assure que WebGL rapporte l'identite GPU du profil.

Verification

Apres le lancement, confirmez que les valeurs WebGL correspondent :

const { chromium } = require('playwright-core');

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: ['--bot-profile=/path/to/profile.enc'],
  headless: true,
});

const page = await (await browser.newContext()).newPage();
const webgl = await page.evaluate(() => {
  const canvas = document.createElement('canvas');
  const gl = canvas.getContext('webgl');
  const ext = gl.getExtension('WEBGL_debug_renderer_info');
  return {
    vendor: gl.getParameter(ext.UNMASKED_VENDOR_WEBGL),
    renderer: gl.getParameter(ext.UNMASKED_RENDERER_WEBGL),
  };
});
console.log('WebGL:', webgl);
await browser.close();

Pour commencer

  1. Telechargez BotBrowser depuis GitHub
  2. Chargez un profil d'empreinte avec --bot-profile
  3. Utilisez --bot-config-webgl pour une configuration GPU explicite
  4. Verifiez l'identite WebGL avec le script ci-dessus
#webgl#gpu#fingerprinting#privacy#hardware