Fingerprinting WebGPU: další generace po Canvasu a WebGL
WebGPU odhaluje hlubší schopnosti hardwaru než Canvas a WebGL dohromady — a je už dostupné v Chrome, Edge i Firefoxu. Co prozrazuje a proč během 2–3 let nahradí starší techniky fingerprintingu.
WebGPU dorazilo do Chrome 113 v roce 2023. V roce 2026 je dostupné ve všech hlavních prohlížečích na všech hlavních platformách. Na rozdíl od WebGL — prohlížečového API obalujícího OpenGL ES 2.0 — je WebGPU přímé rozhraní k moderním grafickým API: Vulkan na Linuxu, Metal na macOS, DirectX 12 na Windows.
To mění rozsah toho, na co se prohlížeč může zeptat hardwaru pod sebou. Fingerprinting přes Canvas a WebGL stál na výstupech renderování. WebGPU umožňuje ptát se přímo na schopnosti samotné GPU a odhaluje architektonické detaily, k nimž výstup renderování může jen naznačovat cestu.
Pro fingerprinting je to skokové zlepšení kvality signálu.
Co odhaluje WebGPU a WebGL ne
Diagnostický povrch WebGL je omezený. Nejužitečnější je rozšíření WEBGL_debug_renderer_info, které vrací řetězce výrobce a rendereru — často podvržené antidetect prohlížeči nebo odstraněné funkcemi na ochranu soukromí.
WebGPU nabízí objekty GPUAdapter a GPUAdapterInfo s podstatně bohatšími daty:
- Vendor — identifikátor výrobce GPU (NVIDIA, AMD, Intel, Apple, Qualcomm).
- Architecture — rodina architektury GPU (Ampere, RDNA 2, Xe-LP, Apple M2, Adreno).
- Device — konkrétní model, je-li dostupný.
- Description — člověku srozumitelný řetězec.
Kromě identifikace odhaluje WebGPU limity GPU — přesné číselné schopnosti hardwaru. Lze se na ně dotázat přes rozhraní GPUSupportedLimits a zahrnují přes 30 číselných vlastností:
- Maximální rozměry textur —
maxTextureDimension2D - Maximální velikost bufferu —
maxBufferSize - Maximální počet bind groups —
maxBindGroups - Maximální rozměry compute workgroup
- Maximální počet vertex atributů
- Požadavky na zarovnání storage bufferů
Každou z těchto hodnot nastavuje ovladač GPU podle schopností hardwaru. Různé generace GPU — i u téhož výrobce — mají odlišné kombinace limitů. GPU z roku 2019 má jiné limity než GPU z roku 2023 ze stejné rodiny.
Proč se to hůř podvrhává
Antidetect prohlížeče podvrhují Canvas a WebGL tím, že zachytí volání API a upraví výsledky. Canvas vrací hashe vykreslených pixelů — prohlížeč může vykreslit a pak hash vyměnit. U WebGL se dotazuje na malý počet řetězců, které lze nahradit vcelku.
WebGPU je jiné. Povrch API je rozsáhlý — stovky metod a vlastností. Každé volání potřebuje věrohodnou návratovou hodnotu. Podvrhující vrstva musí:
- Udržet konzistentní identitu napříč všemi číselnými limity — GPU, které se vydává za NVIDIA RTX 4090, musí vracet každou hodnotu limitu odpovídající tomuto hardwaru.
- Zvládnout skutečné provedení výpočtů. WebGPU umožňuje spouštět compute shadery. Pokud podvrhující vrstva tvrdí vysoký výkon, ale dodává pomalé výpočty, nesoulad je odhalitelný podle časování.
- Sledovat vývoj napříč aktualizacemi ovladačů. Každá verze ovladače GPU má mírně odlišné limity. Statické tabulky pro podvrh zastarávají s vydáním nových ovladačů.
Skutečný hardware tohle všechno poskytuje zdarma. Podvrh hardwaru vyžaduje udržovat databázi pravdivých kombinací limitů pro každý model GPU a každou verzi ovladače — trvalou údržbovou zátěž, do níž se většina antidetect prohlížečů zatím nepustila.
Výpočetní výkon jako otisk
WebGPU umožňuje spouštět v prohlížeči libovolné compute shadery. Detekční systémy tak mohou provádět standardizované zátěže a měřit, jak dlouho trvají.
Benchmark lámání hashů, násobení matic nebo výpočetní úloha blízká renderování běží rychlostí danou hardwarem. Dva návštěvníci tvrdící stejný model GPU, ale podávající odlišný výpočetní výkon, lžou o hardwaru.
Technika zcela obchází statický podvrh otisku. Návštěvník může tvrdit jakýkoli řetězec GPU. Nemůže tvrdit výpočetní výkon, který nemá.
Cenou je uživatelský komfort. Běh compute shaderu na pozadí spotřebovává cykly GPU a může působit jako zpomalení. To omezuje, jak agresivně lze techniku nasadit — obvykle jako jednorázovou kontrolu podezřelých relací, nikoli jako průběžné monitorování.
Dostupnost funkcí jako signál
WebGPU odhaluje volitelné funkce přes GPUAdapter.features. Některé GPU podporují konkrétní rozšíření:
timestamp-query— vyžaduje moderní GPU s výkonnostními čítačishader-f16— poloviční přesnost s pohyblivou řádovou čárkou, běžná u mobilních GPUtexture-compression-bc— Block Compression, standard na desktoputexture-compression-etc2— mobilní formát komprese texturtexture-compression-astc— mobilní formát komprese textur
Sada funkcí je pro každý model GPU deterministická. Windows stroj, který tvrdí mobilní funkce Adreno, se prozradí. Mobilní zařízení, které tvrdí čistě desktopové kompresní formáty, se prozradí.
Soulad s WebGL
Před WebGPU měly prohlížeče jeden hlavní povrch pro dotazy na GPU: WebGL. Teď mají dva a musejí se shodovat.
WebGL i WebGPU odhalují tutéž GPU. Jejich odpovědi musí být konzistentní. Prohlížeč hlásící přes WebGL NVIDIA RTX 4080, ale vracející limity WebGPU odpovídající integrované Intel GPU, není na skutečném hardwaru možný.
Konzistence napříč API je další detekční signál. Podvrhnout jedno API je přímočaré. Podvrhnout dvě API vzájemně konzistentně je výrazně těžší — a současné antidetect prohlížeče to většinou nedělají.
Co WebGPU prozrazuje o systému a ovladači
Kromě identifikace GPU odhaluje WebGPU kontext grafického zásobníku:
- Na Windows může WebGPU prozradit, zda se používá Direct3D 11 nebo Direct3D 12, což koreluje s verzí systému a érou ovladače.
- Na macOS podporovaná verze Metalu prozrazuje verzi macOS — protože verze Metalu přicházejí s aktualizacemi systému.
- Na Linuxu úrovně podpory Vulkanu prozrazují distribuci a původ ovladače (například proprietární NVIDIA versus otevřený Mesa).
Žádný z těchto signálů není přímý — každý vyžaduje interpretaci. Dohromady však skládají obraz softwarového zásobníku, který by měl korelovat s hlášeným otiskem prohlížeče. Nesrovnalosti ukazují na podvrh.
Časový plán adopce v detekčních zásobnících
Fingerprinting WebGPU není v roce 2026 ještě mainstreamovou detekční technikou, a to ze tří důvodů:
- Podpora v prohlížečích se stále stabilizuje. WebGPU ve Firefoxu vyšlo v roce 2024, ale s omezeným pokrytím funkcí. V Safari vyšlo WebGPU v roce 2024, ale s jinými limity než v Chrome. Detekční systémy potřebují široké pokrytí, než se o signály WebGPU opřou.
- Skutečná podpora WebGPU u uživatelů je stále neúplná. Starší zařízení nemají GPU s podporou funkcí WebGPU. Detekční systém, který penalizuje návštěvníky bez WebGPU, riskuje blokování legitimních uživatelů na pět let starém hardwaru.
- Antidetect prohlížeče zatím nevybudovaly plnohodnotný podvrh WebGPU, což znamená, že signály založené na WebGPU jsou dnes účinné proti sofistikovaným útočníkům přesvědčeným, že zametli stopy. To se změní s rostoucím rozšířením detekce a reakcí podvrhovacích nástrojů.
Horizont adopce 2–3 roky je realistický. Do let 2027–2028 budou signály WebGPU pro detekci botů stejně zásadní jako dnes WebGL. Otázka pro detekční týmy zní, kdy začít sbírat data z WebGPU — a odpověď je teď, aby historická základna existovala ve chvíli, kdy se tyto signály stanou primárními.
Co to znamená pro obránce
Fingerprinting přes Canvas je zralá technika. Fingerprinting přes WebGL je zralá technika. Obě jsou aktivně podvrhovány antidetect nástroji s rozumnou úspěšností.
Fingerprinting přes WebGPU je technika mladá. Nástroje pro podvrh ji nedohnaly. Vzniká tak okno — pravděpodobně 18–36 měsíců — kdy signály WebGPU čistě oddělují skutečné uživatele od sofistikovaných botů. Do toho okna se vyplatí investovat.
Signály, které produkuje, jsou navíc strukturálně hůře podvrhnutelné než Canvas nebo WebGL. Renderování lze zachytit. Výpočetní výkon ne. O sadách funkcí lze lhát, ale ne konzistentně napříč celým povrchem API. Každá generace fingerprintingových technik zvyšuje cenu podvrhu. WebGPU ji zvyšuje výrazně.
Pro platformy, které to s detekcí botů v roce 2026 a dále myslí vážně, se signál přesouvá právě k WebGPU.