WebUSB Extension for Firefox

Scope of the discussion

  • Thread centers on whether exposing USB to web pages (via WebUSB and this Firefox extension) is desirable, safe, and worth standardizing.
  • Strong split between proponents (convenience, cross‑platform, sandboxing) and opponents (attack surface, UX pitfalls, long‑term risks).

Security, privacy, and permissions

  • Critics see WebUSB as major new attack surface in an already complex browser sandbox; a WebUSB 0‑day could let any site tamper with connected devices.
  • Concerns include:
    • Malicious firmware (e.g., keyboards becoming keyloggers or HID “rubber ducky” devices).
    • Difficulty explaining risk to non‑technical users who habitually click “allow.”
    • Permission‑popup fatigue with many different browser capabilities.
    • Potential use of USB device identity as a tracking vector.
  • Supporters argue:
    • Access is per‑device, per‑site, and explicitly user‑prompted; storage devices are excluded.
    • Compared to downloading native drivers/executables (often with broad system privileges), a browser sandbox is safer in practice.
    • Users already run untrusted binaries; WebUSB doesn’t meaningfully change that risk profile.

Use cases and benefits

  • Frequently cited successes: flashing GrapheneOS (even from another phone), BBC micro:bit education, Web MiniDisc, keyboard configuration/firmware flashing, BLE thermometer firmware, thermal printers, RTL‑SDR dongles, FlipperZero, ESPHome, Meshtastic, Stadia controller conversion, IoT configuration, VR/AR sideloading.
  • Advantages noted:
    • Single cross‑platform implementation instead of OS‑specific drivers.
    • No need to install persistent vendor software; closing the tab removes it.
    • Helpful on platforms like Chromebooks or where native tools are weak or unavailable.

Mozilla, standards, and implementation strategy

  • Mozilla currently rejects WebUSB on security/privacy grounds; some applaud this caution, others call it “security theater” or anti‑user.
  • Debate over standards process:
    • One side claims the spec is stalled mainly due to Apple’s resistance and store economics.
    • Another notes standards require two independent implementations; so far only Blink‑based browsers implement it.
  • Some feel WebUSB should stay opt‑in via extensions, hidden flags, or “developer” settings; others argue such gating kills adoption and entrenches Chrome‑only web apps.

Longevity, lock‑in, and philosophy

  • Worry that hardware vendors may ship only web apps, which can disappear, leaving devices unmanageable.
  • Counter‑view: native drivers and proprietary desktop apps also vanish; web apps are at least inspectable and often more portable.
  • Broader philosophical split:
    • One camp wants powerful “personal computing” in the browser, matching native capabilities.
    • Another wants a simpler, safer web with fewer powerful APIs, accepting fewer features to protect users and reduce complexity.