Hacker News
WebUSB Extension for Firefox
nezza-_-
|next
[-]
I can ship a cross-platform application that accesses a hardware device without having to deal with all the platform specifics, and with decent sandboxing of my driver.
I think one way to make it more "secure" against unwitting users would be to only support WebUSB for devices that have a WebUSB descriptor - would allow "origin" checking.
sva_
|next
|previous
[-]
infogulch
|root
|parent
|next
[-]
lxgr
|root
|parent
|previous
[-]
Truly opening new possibilities, since I wouldn't have been comfortable running some sketchy script or local binary.
[1] https://web.minidisc.wiki/ [2] https://github.com/pvvx/ATC_MiThermometer
chillfox
|next
|previous
[-]
afavour
|next
|previous
[-]
Orygin
|next
|previous
[-]
Retr0id
|root
|parent
|next
[-]
tjoff
|root
|parent
|next
[-]
Right now that isn't the case and I can't remember last the time I had to uninstall untrustworthy native drivers.
A lot to lose, very little to gain?
1313ed01
|root
|parent
|next
|previous
[-]
rafram
|root
|parent
|next
|previous
[-]
kristofferR
|root
|parent
[-]
skydhash
|root
|parent
|next
|previous
[-]
Retr0id
|root
|parent
|next
[-]
monegator
|root
|parent
|next
|previous
[-]
but really most devices you want to interface to via webusb are CDC and DFU so.. problem solved?
Retr0id
|root
|parent
|next
[-]
monegator
|root
|parent
[-]
Anyway OS 2.0 descriptors are a custom USB descriptor that basically tells the device to use WinUSB as the driver. The burden then is in the application that will have to implement the read/writes to the endpoints instead of using higher level functions provided by the custom driver.
If you ever developed software with libUSB, using WinUSB on the windows side makes things super easy for cross platform development, and you don't have to go through all the pain to have a signed driver. Win-win in my book.
pjc50
|root
|parent
|previous
[-]
monegator
|root
|parent
[-]
zb3
|root
|parent
|next
|previous
[-]
troupo
|root
|parent
|next
[-]
1. Permission popups fatigue
2. Usually users select the apps they install, most sites are ephemeral. And yes, even with apps, especially on Android, people click through permission dialogs without looking because they are often too broad and confusing. With expected results such as exfiltrating user data.
gear54rus
|root
|parent
|previous
[-]
yjftsjthsd-h
|root
|parent
|next
[-]
lpcvoid
|root
|parent
|previous
[-]
limagnolia
|root
|parent
|next
[-]
gear54rus
|root
|parent
|next
|previous
[-]
exe34
|root
|parent
|next
|previous
[-]
"I know what I'm doing, and giving a random website access to my USB host is the right thing to do."
"I'm an idiot."
zb3
|root
|parent
|previous
[-]
lpcvoid
|root
|parent
|next
[-]
Maybe an about:config switch to enable it would be enough to stop casuals from pwning their peripherals.
barnabee
|root
|parent
[-]
Orygin
|root
|parent
|next
|previous
[-]
How is not implementing a Draft spec, which may compromise security badly, breaking computing?
Overreacting much?
zb3
|root
|parent
[-]
However in this particular case, even the security argument doesn't hold, either I:
a) know that I want to use USB - in that case I'll switch browsers or download a native binary (even more unsafe), it's not that I'd decide that I no longer want to flash my smartphone
b) I don't understand what's happening but I follow arbitrary instructions anyway - WebUSB changes nothing.
Zopieux
|next
|previous
[-]
I hope Mozilla can eventually stop playing their silly role in the security theater of “but what if our users are dumb” and actually deliver those "power-user" features that would allow me to uninstall Chrome for good. Oh, and also, --app= flag please.
troupo
|root
|parent
[-]
It's not security theater. If you go to Chromium settings -> Site settings -> permissions, and expand "additional permissions", you will see a total of 26 different permissions, each gated by the same generic "you want to use this" popup.
Permission popup fatigue is quite real, and not a security theater. And that's on top of the usual questions of implementation complexity etc.