WebGL GPU renderer differs between the main thread and a Worker OffscreenCanvas

br.webgl_worker_vs_main  ·  convicts

browserlayer
coherencecategory
7evaders caught

What it catches

The GPU analog of worker_divergence. A getParameter GPU spoof patches the main realm's WebGLRenderingContext.prototype but cannot reach Worker scope, so a Worker's OffscreenCanvas WebGL reports the REAL UNMASKED_RENDERER while the main thread reports the spoofed one — one physical GPU cannot render as two. Catches a GPU spoof that is otherwise coherent (correct OS, native invariants preserved) but forgets the Worker realm. Grounded headless: a real (SwiftShader) browser reports the identical renderer in both realms (no fire); a main-only getParameter spoof diverges. EXPERIMENTAL: grounded only on software rendering (no GPU here) — a real-hardware browser whose Worker OffscreenCanvas software-falls-back could diverge legitimately, so it stays corroborating until validated against a Tier-3 real-GPU device.

Signals it reads

browser.webgl_worker_divergence

How it fires

present

Evaders it caught 7

Bypassed by 10

Frontier evaders that reach the detector uncaught (scored only suspicious, defeating every convicting tell) — this check is not one that stops them. The red-team frontier this detection still has to convict.

← all detections