GL_RENDERER и Vendor strings: где WebGL выдаёт аппаратный след
WebGL редко светит только «тип видеокарты». В fingerprint попадает связка параметров: GL_VENDOR, GL_RENDERER, UNMASKED_VENDOR_WEBGL, UNMASKED_RENDERER_WEBGL, набор supported extensions и даже особенности поведения при вызове одинаковых шейдеров. Браузерное окружение передает больше данных, чем кажется.
Для практической оценки смотрят не один атрибут, а их согласованность:
— Vendor string должен совпадать с драйверной моделью и ОС
— Renderer не должен противоречить заявленному GPU
— Набор расширений обязан укладываться в профиль платформы
— Значения canvas/WebGL должны вести себя стабильно между сессиями
Отдельный сигнал — «маскировка через шаблон». Когда строка выглядит слишком общей, но остальные API выдают точный стек, это создаёт аномалию. Анализируем энтропию параметров: важна не уникальность одного поля, а стыковка всех полей в одной модели окружения. Несовпадения между WebGL, navigator, AudioContext и шрифтами часто заметнее, чем сами строки vendor.
Для защиты полезно проверять не только наличие API, но и профиль шума: одинаковые подмены, редкие комбинации расширений, синхронные артефакты в canvas и WebGL. Скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Fingerprint-кузница
@fingerprint_forge_ubt
GL_RENDERER и Vendor strings: где WebGL выдаёт аппаратный след
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.