WebGPU-fingeravtryck: nästa generation efter Canvas och WebGL
WebGPU blottlägger djupare hårdvarukapacitet än Canvas och WebGL tillsammans — och finns redan i Chrome, Edge och Firefox. Vad det avslöjar, och varför det ersätter äldre fingeravtrycksteknik inom 2–3 år.
WebGPU kom med Chrome 113 år 2023. Till 2026 finns det i alla större webbläsare på alla större plattformar. Till skillnad från WebGL — ett webbläsar-API som kapslade in OpenGL ES 2.0 — är WebGPU ett direkt gränssnitt mot moderna GPU-API:er: Vulkan på Linux, Metal på macOS, DirectX 12 på Windows.
Det förändrar vad en webbläsare kan fråga om den underliggande hårdvaran. Fingeravtryck via Canvas och WebGL byggde på renderingsutdata. WebGPU tillåter direkta kapacitetsfrågor mot själva GPU:n och blottlägger arkitekturdetaljer som renderingsutdata bara kan antyda.
För fingeravtryck är det ett språngartat lyft i signalkvalitet.
Vad WebGPU blottlägger som WebGL inte gör
WebGL:s diagnostiska yta är begränsad. Det mest användbara är tillägget WEBGL_debug_renderer_info, som returnerar leverantörs- och renderarsträngar — ofta spoofade av antidetect-webbläsare eller bortrensade av integritetsfunktioner.
WebGPU ger objekten GPUAdapter och GPUAdapterInfo med betydligt rikare data:
- Vendor — identifieraren för GPU-tillverkaren (NVIDIA, AMD, Intel, Apple, Qualcomm).
- Architecture — GPU:ns arkitekturfamilj (Ampere, RDNA 2, Xe-LP, Apple M2, Adreno).
- Device — den specifika modellen där den finns tillgänglig.
- Description — en läsbar sträng.
Utöver identifiering blottlägger WebGPU GPU-gränsvärden — hårdvarans exakta numeriska kapacitet. De kan efterfrågas via gränssnittet GPUSupportedLimits och omfattar över 30 numeriska egenskaper:
- Maximala texturdimensioner —
maxTextureDimension2D - Maximal buffertstorlek —
maxBufferSize - Maximalt antal bind groups —
maxBindGroups - Maximala dimensioner för compute workgroups
- Maximalt antal vertexattribut
- Justeringskrav för storage buffers
Vart och ett av dessa värden sätts av GPU-drivrutinen utifrån hårdvarans kapacitet. Olika GPU-generationer, även inom samma tillverkare, har olika kombinationer av gränsvärden. En GPU från 2019 har andra gränsvärden än en GPU från 2023 i samma familj.
Varför detta är svårare att spoofa
Antidetect-webbläsare spoofar Canvas och WebGL genom att fånga upp API-anropen och ändra resultaten. Canvas returnerar hashar av renderade pixlar — webbläsaren kan rendera och sedan byta ut hashen. WebGL efterfrågas på ett litet antal strängar som kan ersättas rakt av.
WebGPU är annorlunda. API-ytan är stor — hundratals metoder och egenskaper. Varje anrop behöver ett rimligt returvärde. Ett spoofinglager måste:
- Visa en konsekvent identitet över alla numeriska gränsvärden — en GPU som utger sig för att vara en NVIDIA RTX 4090 måste returnera varje gränsvärde som matchar den hårdvaran.
- Klara faktisk beräkningskörning. WebGPU tillåter att compute shaders körs. Om ett spoofinglager hävdar hög prestanda men levererar långsam beräkning är avvikelsen upptäckbar via tidtagning.
- Följa utvecklingen över drivrutinsuppdateringar. Varje drivrutinsversion har något olika gränsvärden. Statiska spoofingtabeller blir föråldrade när nya drivrutiner släpps.
Verklig hårdvara ger allt detta gratis. Att spoofa hårdvara kräver att man underhåller en databas över sanna gränsvärdeskombinationer per GPU-modell per drivrutinsversion — en löpande underhållsbörda som de flesta antidetect-webbläsare ännu inte tagit på sig.
Beräkningsprestanda som fingeravtryck
WebGPU tillåter godtyckliga compute shaders i webbläsaren. Det innebär att detektionssystem kan köra standardiserade arbetslaster och mäta hur lång tid de tar.
En hash-knäckningsbenchmark, en matrismultiplikation eller en renderingsnära beräkningsuppgift körs alla i en hastighet som bestäms av den underliggande hårdvaran. Två besökare som påstår sig ha samma GPU-modell men levererar olika beräkningsprestanda ljuger om hårdvaran.
Tekniken kringgår statisk fingeravtrycksspoofing helt. En besökare kan hävda vilken GPU-sträng som helst. Hen kan inte hävda en beräkningsprestanda hen inte har.
Avvägningen är användarupplevelsen. Att köra en compute shader i bakgrunden förbrukar GPU-cykler och kan upplevas som tröghet. Det begränsar hur aggressivt tekniken kan användas — typiskt som en engångskontroll av misstänkta sessioner snarare än löpande övervakning.
Funktionstillgänglighet som signal
WebGPU blottlägger valfria funktioner via GPUAdapter.features. Vissa GPU:er stöder särskilda tillägg:
timestamp-query— kräver en modern GPU med prestandaräknareshader-f16— halvprecisions flyttal, vanligt på mobila GPU:ertexture-compression-bc— Block Compression, standard på desktoptexture-compression-etc2— mobilt texturformattexture-compression-astc— mobilt texturformat
Funktionsuppsättningen är deterministisk per GPU-modell. En Windows-maskin som påstår sig ha mobila Adreno-funktioner åker fast. En mobil enhet som påstår sig ha komprimeringsformat som bara finns på desktop åker fast.
Samstämmighet med WebGL
Före WebGPU hade webbläsare en primär yta för GPU-frågor: WebGL. Nu har de två, och de måste vara överens.
WebGL och WebGPU blottlägger samma underliggande GPU. Deras svar måste vara konsekventa. En webbläsare som rapporterar NVIDIA RTX 4080 via WebGL men returnerar WebGPU-gränsvärden som matchar en integrerad Intel-GPU är omöjlig på verklig hårdvara.
Samstämmighet mellan API:er är ytterligare en signal för detektion. Att spoofa ett API är okomplicerat. Att spoofa två API:er på ett inbördes konsekvent sätt är betydligt svårare — och dagens antidetect-webbläsare gör det till stor del inte.
Vad WebGPU avslöjar om operativsystem och drivrutin
Utöver GPU-identifiering blottlägger WebGPU kontext om grafikstacken:
- På Windows kan WebGPU avslöja om Direct3D 11 eller Direct3D 12 används, vilket korrelerar med OS-version och drivrutinsera.
- På macOS avslöjar stödd Metal-version macOS-versionen — eftersom Metal-versioner följer med OS-uppdateringar.
- På Linux avslöjar nivåerna av Vulkan-stöd distribution och drivrutinens ursprung (till exempel proprietära NVIDIA kontra öppna Mesa).
Ingen av dessa signaler är direkt — var och en kräver tolkning. Men tillsammans bygger de en bild av den underliggande mjukvarustacken som bör korrelera med det rapporterade webbläsarfingeravtrycket. Avvikelser tyder på spoofing.
Tidslinje för införande i detektionsstackar
WebGPU-fingeravtryck är ännu inte en mainstream-detektionsteknik 2026, av tre skäl:
- Webbläsarstödet stabiliseras fortfarande. Firefox WebGPU kom 2024, men med begränsad funktionstäckning. Safari WebGPU kom 2024, men med andra gränsvärden än Chrome. Detektionssystem behöver bred täckning innan de kan luta sig mot WebGPU-signaler.
- Det faktiska WebGPU-stödet hos användarna är fortfarande ofullständigt. Äldre enheter har inte GPU:er som stöder WebGPU-funktioner. Ett detektionssystem som bestraffar besökare utan WebGPU riskerar att blockera legitima användare på fem år gammal hårdvara.
- Antidetect-webbläsare har ännu inte byggt fullständig WebGPU-spoofing, vilket gör att WebGPU-baserade signaler just nu är effektiva mot sofistikerade angripare som tror att de dolt sina spår. Det ändras i takt med att detektionen får spridning och spoofingverktygen svarar.
En införandehorisont på 2–3 år är realistisk. Till 2027–2028 kommer WebGPU-signaler att vara lika centrala för botdetektion som WebGL är i dag. Frågan för detektionsteam är när man ska börja samla WebGPU-data — och svaret är nu, så att den historiska baslinjen finns när signalerna blir primära.
Vad detta betyder för försvarare
Canvas-fingeravtryck är en mogen teknik. WebGL-fingeravtryck är en mogen teknik. Båda spoofas aktivt av antidetect-verktyg med rimlig framgång.
WebGPU-fingeravtryck är en ung teknik. Spoofingverktygen har inte kommit ikapp. Det skapar ett fönster — troligen 18–36 månader — där WebGPU-signaler rent skiljer verkliga användare från sofistikerade bottar. Det fönstret är värt att investera i.
Signalerna som tekniken ger är dessutom strukturellt svårare att spoofa än Canvas eller WebGL. Rendering kan fångas upp. Beräkningsprestanda kan det inte. Man kan ljuga om funktionsuppsättningar, men inte konsekvent över hela API-ytan. Varje generation av fingeravtrycksteknik höjer kostnaden för spoofing. WebGPU höjer den betydligt.
För plattformar som tar botdetektion på allvar 2026 och framåt är WebGPU dit signalen är på väg.