AudioBuffer getChannelData and copyFromChannel disagree — readback noise shim
br.readback_noise · convicts
What it catches
getChannelData and copyFromChannel read the same AudioBuffer, so a real engine returns bit-identical bytes (verified diff=0 on Chrome 136); a farbling shim perturbing one path diverges. Deeper than audio_noise (render determinism). v0.73.7: this also fires on a real privacy browser's by-design audio farbling (Brave), which is the SAME footprint as canvas_noise/audio_noise — so it joins the detector.applicability privacy-browser N/A: dropped for a session positively identified as Brave/Tor/Mullvad/RFP-Firefox (browser.is_brave / rfp_browser+gecko) so a real privacy-browser user is not flagged. Only an INCONSISTENT shim (one readback path farbled, the other not) trips it. v0.73.9 LIVE POSITIVE validation: the AUDIO_READBACK_SPOOF stealth evader (a copyFromChannel-only audio farble) was run through the detector+edge stack and tripped br.readback_noise — the rule was previously unexercised (no fleet evader perturbed the audio readback inconsistently); it now has a live positive. (Canvas putImageData round-trips are NOT used: premultiplied alpha makes them lossy on every real browser.) v0.74.21 LIVE re-validation (2026-06-19): a fresh Camoufox capture through the live stack does NOT trip this — Camoufox sets no privacy-browser identity (applicability does not drop it), so the absence is real signal: its audio readback is internally CONSISTENT across getChannelData/copyFromChannel (a quality engine-level tool, not a naive one-path shim). CORRECTION of an earlier note that claimed Camoufox trips it — it does not. So the ONLY live positive remains the deliberately-inconsistent AUDIO_READBACK_SPOOF shim; no INDEPENDENT anti-detect tool in the fleet perturbs the readback inconsistently. STAYS experimental pending an independent second positive — promoting on a single self-constructed positive would be single-source over-leverage. Real-browser negative is CI-guarded (test_calibration_methodology asserts artifact-category clean on real headful Chromium/Firefox/WebKit). v0.74.35 LIVE re-validated 2026-06-20: the AUDIO_READBACK_SPOOF shim re-trips it on the live stack (label bot); no drift. Still experimental pending an independent second positive.
Signals it reads
browser.audio_readback_noise
How it fires
present
Evaders it caught 1
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.