WebGPU-fingerprinting: de volgende generatie na Canvas en WebGL
WebGPU legt diepere hardwarecapaciteiten bloot dan Canvas en WebGL samen — en is al beschikbaar in Chrome, Edge en Firefox. Wat het prijsgeeft, en waarom het oudere fingerprintingtechnieken de komende 2–3 jaar vervangt.
WebGPU verscheen in 2023 in Chrome 113. In 2026 is het beschikbaar in alle grote browsers op alle grote platforms. Anders dan WebGL — een browser-API die OpenGL ES 2.0 omhulde — is WebGPU een directe interface naar moderne GPU-API's: Vulkan op Linux, Metal op macOS, DirectX 12 op Windows.
Dat verandert wat een browser kan opvragen over de onderliggende hardware. Fingerprinting via Canvas en WebGL leunde op renderingoutput. WebGPU maakt directe capability-queries op de GPU zelf mogelijk en legt architectuurdetails bloot waar renderingoutput hooguit naar kan hinten.
Voor fingerprinting is dat een sprongsgewijze verbetering in signaalkwaliteit.
Wat WebGPU blootlegt en WebGL niet
Het diagnostische oppervlak van WebGL is beperkt. Het nuttigste onderdeel is de extensie WEBGL_debug_renderer_info, die vendor- en renderer-strings teruggeeft — vaak gespooft door antidetect-browsers of gestript door privacyfuncties.
WebGPU biedt GPUAdapter- en GPUAdapterInfo-objecten met aanzienlijk rijkere gegevens:
- Vendor — de identificatie van de GPU-fabrikant (NVIDIA, AMD, Intel, Apple, Qualcomm).
- Architecture — de architectuurfamilie van de GPU (Ampere, RDNA 2, Xe-LP, Apple M2, Adreno).
- Device — het specifieke model, waar beschikbaar.
- Description — een leesbare string.
Naast identificatie legt WebGPU GPU-limieten bloot: de exacte numerieke capaciteiten van de hardware. Ze zijn op te vragen via de interface GPUSupportedLimits en omvatten meer dan 30 numerieke eigenschappen:
- Maximale textuurafmetingen —
maxTextureDimension2D - Maximale buffergrootte —
maxBufferSize - Maximaal aantal bind groups —
maxBindGroups - Maximale afmetingen van compute workgroups
- Maximaal aantal vertex-attributen
- Uitlijningseisen voor storage buffers
Elk van deze waarden wordt door het GPU-stuurprogramma bepaald op basis van wat de hardware kan. Verschillende GPU-generaties, zelfs binnen dezelfde fabrikant, hebben andere combinaties van limieten. Een GPU uit 2019 heeft andere limieten dan een GPU uit 2023 uit dezelfde familie.
Waarom dit lastiger te spoofen is
Antidetect-browsers spoofen Canvas en WebGL door de API-aanroepen te onderscheppen en de resultaten aan te passen. Wat Canvas teruggeeft zijn hashes van gerenderde pixels — de browser kan renderen en daarna de hash omwisselen. Bij WebGL wordt een klein aantal strings opgevraagd die in hun geheel vervangen kunnen worden.
WebGPU ligt anders. Het API-oppervlak is groot: honderden methoden en eigenschappen. Elke aanroep heeft een plausibele retourwaarde nodig. Een spooflaag moet:
- Een consistente identiteit tonen over alle numerieke limieten — een GPU die beweert een NVIDIA RTX 4090 te zijn, moet elke limietwaarde teruggeven die bij die hardware hoort.
- Echte compute-uitvoering aankunnen. WebGPU laat compute shaders draaien. Claimt een spooflaag hoge prestaties maar levert hij trage compute, dan is die mismatch via timing detecteerbaar.
- De evolutie over driverupdates bijhouden. Elke driverversie heeft licht afwijkende limieten. Statische spooftabellen verouderen zodra nieuwe driverversies uitkomen.
Echte hardware levert dit alles gratis. Hardware spoofen vereist het bijhouden van een database met de werkelijke limietcombinaties per GPU-model per driverversie — een doorlopende onderhoudslast die de meeste antidetect-browsers nog niet op zich hebben genomen.
Rekenprestatie als fingerprint
WebGPU laat willekeurige compute shaders in de browser draaien. Daardoor kunnen detectiesystemen gestandaardiseerde workloads uitvoeren en meten hoe lang die duren.
Een hash-kraakbenchmark, een matrixvermenigvuldiging of een rendering-nabije rekenopdracht draaien allemaal op een snelheid die door de onderliggende hardware wordt bepaald. Twee bezoekers die hetzelfde GPU-model claimen maar verschillende rekenprestaties leveren, liegen over hun hardware.
De techniek omzeilt statische fingerprint-spoofing volledig. Een bezoeker kan elke GPU-string claimen die hij wil. Hij kan geen rekenprestatie claimen die hij niet heeft.
De keerzijde is gebruikerservaring. Een compute shader op de achtergrond verbruikt GPU-cycli en kan als traagheid worden ervaren. Dat beperkt hoe agressief de techniek inzetbaar is — doorgaans als eenmalige controle bij verdachte sessies in plaats van doorlopende monitoring.
Beschikbaarheid van features als signaal
WebGPU legt optionele features bloot via GPUAdapter.features. Sommige GPU's ondersteunen specifieke extensies:
timestamp-query— vereist een moderne GPU met performance countersshader-f16— halve precisie drijvende komma, gangbaar op mobiele GPU'stexture-compression-bc— Block Compression, standaard op desktoptexture-compression-etc2— mobiel textuurformaattexture-compression-astc— mobiel textuurformaat
De featureset is deterministisch per GPU-model. Een Windows-machine die mobiele Adreno-features claimt, valt door de mand. Een mobiel apparaat dat desktop-only compressieformaten claimt, valt door de mand.
Samenhang met WebGL
Vóór WebGPU hadden browsers één primair GPU-queryoppervlak: WebGL. Nu zijn het er twee, en ze moeten het met elkaar eens zijn.
WebGL en WebGPU leggen dezelfde onderliggende GPU bloot. Hun antwoorden moeten consistent zijn. Een browser die via WebGL NVIDIA RTX 4080 rapporteert maar WebGPU-limieten teruggeeft die bij een geïntegreerde Intel-GPU passen, bestaat niet op echte hardware.
Consistentie tussen API's is een extra detectiesignaal. Eén API spoofen is rechttoe rechtaan. Twee API's onderling consistent spoofen is aanzienlijk lastiger — en huidige antidetect-browsers doen dat grotendeels niet.
Wat WebGPU prijsgeeft over besturingssysteem en driver
Naast GPU-identificatie legt WebGPU context over de grafische stack bloot:
- Op Windows kan WebGPU onthullen of Direct3D 11 of Direct3D 12 wordt gebruikt, wat correleert met de OS-versie en het drivertijdperk.
- Op macOS verraadt de ondersteunde Metal-versie de macOS-versie, omdat Metal-versies met OS-updates meekomen.
- Op Linux verraden de niveaus van Vulkan-ondersteuning de distributie en de herkomst van de driver (bijvoorbeeld het propriëtaire NVIDIA tegenover het opensource Mesa).
Geen van deze signalen is direct — elk vraagt om interpretatie. Maar samen vormen ze een beeld van de onderliggende softwarestack dat moet corresponderen met de gerapporteerde browserfingerprint. Discrepanties wijzen op spoofing.
Tijdlijn voor adoptie in detectiestacks
WebGPU-fingerprinting is in 2026 nog geen mainstream detectietechniek, om drie redenen:
- Browserondersteuning stabiliseert nog. WebGPU in Firefox kwam in 2024 uit, maar met beperkte featuredekking. Safari's WebGPU kwam in 2024 uit, maar met andere limieten dan Chrome. Detectiesystemen hebben brede dekking nodig voordat ze op WebGPU-signalen kunnen leunen.
- De feitelijke WebGPU-ondersteuning bij gebruikers is nog onvolledig. Oudere apparaten hebben geen GPU die WebGPU-features ondersteunt. Een detectiesysteem dat bezoekers zonder WebGPU afstraft, riskeert legitieme gebruikers op vijf jaar oude hardware te blokkeren.
- Antidetect-browsers hebben nog geen volwaardige WebGPU-spoofing gebouwd, waardoor WebGPU-signalen nu juist effectief zijn tegen geraffineerde aanvallers die denken hun sporen te hebben gewist. Dat verandert naarmate detectie breder wordt toegepast en spooftools daarop reageren.
Een adoptiehorizon van 2–3 jaar is realistisch. Tegen 2027–2028 zijn WebGPU-signalen even centraal voor botdetectie als WebGL dat vandaag is. De vraag voor detectieteams is wanneer ze WebGPU-data gaan verzamelen — en het antwoord is nu, zodat de historische baseline er is tegen de tijd dat deze signalen primair worden.
Wat dit betekent voor verdedigers
Canvas-fingerprinting is een volwassen techniek. WebGL-fingerprinting is een volwassen techniek. Beide worden actief gespooft door antidetect-tooling, met redelijk succes.
WebGPU-fingerprinting is een jonge techniek. Spooftools zijn nog niet bijgetrokken. Dat creëert een venster — vermoedelijk 18–36 maanden — waarin WebGPU-signalen echte gebruikers helder scheiden van geraffineerde bots. In dat venster is investeren de moeite waard.
De signalen die het oplevert zijn bovendien structureel lastiger te spoofen dan Canvas of WebGL. Rendering laat zich onderscheppen. Rekenprestatie niet. Over featuresets valt te liegen, maar niet consistent over het hele API-oppervlak. Elke generatie fingerprintingtechniek verhoogt de kosten van spoofing. WebGPU verhoogt die aanzienlijk.
Voor platforms die botdetectie in 2026 en daarna serieus nemen, is WebGPU waar het signaal naartoe beweegt.