Protection des empreintes WebGPU : controle de l'identite GPU avec BotBrowser
Comment BotBrowser controle les informations d'adaptateur WebGPU, fonctionnalites et limites via une protection d'empreinte basee sur les profils.
Le risque pour la vie privee
WebGPU, le successeur de WebGL, expose les details de l'adaptateur GPU, les ensembles de fonctionnalites et les limites materielles. Ces valeurs peuvent etre utilisees pour le suivi par empreinte.
Comment BotBrowser controle l'identite WebGPU
BotBrowser gere les signaux WebGPU au niveau du moteur du navigateur, assurant que les valeurs WebGPU sont coherentes avec le profil d'empreinte charge.
Controle WebGPU base sur les profils
Lors du chargement d'un profil, les informations d'adaptateur WebGPU, fonctionnalites et limites correspondent automatiquement :
chrome --bot-profile="/path/to/profile.enc" \
--user-data-dir="$(mktemp -d)"
Configuration WebGPU explicite
Utilisez le flag --bot-config-webgpu pour un controle precis :
chrome --bot-profile="/path/to/profile.enc" \
--bot-config-webgpu='{"vendor":"nvidia","architecture":"ampere","device":"geforce rtx 3080"}' \
--user-data-dir="$(mktemp -d)"
Coherence WebGL et WebGPU
BotBrowser assure que l'identite GPU est coherente entre les APIs WebGL et WebGPU.
Controle GPU multiplateforme
Executez un profil configure pour un GPU NVIDIA discret sur une machine avec des graphiques Intel integres. BotBrowser assure que les deux APIs rapportent l'identite GPU du profil.
Verification
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 gpuInfo = await page.evaluate(async () => {
const adapter = await navigator.gpu.requestAdapter();
const info = await adapter.requestAdapterInfo();
return {
vendor: info.vendor,
architecture: info.architecture,
device: info.device,
features: [...adapter.features],
canvasFormat: navigator.gpu.getPreferredCanvasFormat(),
};
});
console.log('WebGPU:', gpuInfo);
await browser.close();
Pour commencer
- Telechargez BotBrowser depuis GitHub
- Chargez un profil avec
--bot-profile - Utilisez
--bot-config-webgpupour une configuration WebGPU explicite - Verifiez la coherence de l'identite GPU entre WebGL et WebGPU