Защита отпечатков WebGPU: контроль идентичности GPU с BotBrowser
Как BotBrowser контролирует информацию адаптера WebGPU, функции и ограничения через защиту отпечатков на основе профилей.
Риск для конфиденциальности
WebGPU, преемник WebGL, раскрывает детали адаптера GPU, наборы функций и аппаратные ограничения. Эти значения могут использоваться для отслеживания по отпечаткам.
Как BotBrowser контролирует идентичность WebGPU
BotBrowser управляет сигналами WebGPU на уровне движка браузера, обеспечивая согласованность значений WebGPU с загруженным профилем.
Контроль WebGPU на основе профилей
При загрузке профиля информация адаптера WebGPU, функции и ограничения автоматически совпадают:
chrome --bot-profile="/path/to/profile.enc" \
--user-data-dir="$(mktemp -d)"
Явная конфигурация WebGPU
Используйте флаг --bot-config-webgpu для точного контроля:
chrome --bot-profile="/path/to/profile.enc" \
--bot-config-webgpu='{"vendor":"nvidia","architecture":"ampere","device":"geforce rtx 3080"}' \
--user-data-dir="$(mktemp -d)"
Согласованность WebGL и WebGPU
BotBrowser обеспечивает согласованность идентичности GPU между API WebGL и WebGPU.
Кроссплатформенный контроль GPU
Запустите профиль с дискретным NVIDIA GPU на машине с интегрированной графикой Intel. BotBrowser обеспечивает отчет обоих API об идентичности GPU профиля.
Проверка
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();
Начало работы
- Скачайте BotBrowser с GitHub
- Загрузите профиль с
--bot-profile - Используйте
--bot-config-webgpuдля явной конфигурации WebGPU - Проверьте согласованность идентичности GPU между WebGL и WebGPU