Chrome 56 adds Web Bluetooth API
theregister.co.uk
theregister.co.uk
The API allows a webpage to ask for access to a device in response to a user action only. At this point the user has to give the page permission to access Bluetooth devices. The browser then prompts the user to choose a device from a list of available devices, and the webpage is granted access to whichever device the user picks. That's all. There's no "list every Bluetooth device in the area" API (at least not yet), unless I'm missing something.
More reading: https://medium.com/@jyasskin/the-web-bluetooth-security-mode...
And also: https://medium.com/@urish/is-now-a-good-time-to-start-using-...
And also also: https://developers.google.com/web/updates/2015/07/interact-w...
Yeah, we're a tabloid and, yes, we're rude. But at The Reg, we do take accuracy extremely seriously. We want to be right. If you spot anything wrong, corrections@theregister.co.uk goes straight to our editors: it's a great way to get things fixed fast. Thanks.
oh wait, where did my plugins configuration go? why cant I disable plugins I dont want?
Also, is scanning for devices a 100% passive receive-only operation, or would it be possible to design a custom beacon device that identifies hosts that try to scan the beacon?
Now don't worry, it will be opt out. Your browser will loose the ability to download files altogether if you disable this but such is the price of being a tinfoil-hatter.
EDIT: One way to abuse the API (keep in mind that this is a documented risk in the spec) is in case of XSS accessing devices which are already granted permissions for. For example, if your health app has access to your heart rate monitor, an XSS vector will potentially have the power to pull this information straight from the device or abuse it in some other way if the device suffers from input validation problems. The former is not such a big deal because in case of XSS it is assumed that access to private information is granted. The later is slightly more interesting but you need scale to pull an interesting exploitation. It can be done but it is limited at present IMHO.
https://news.ycombinator.com/item?id=13153104 (34 comments)
https://news.ycombinator.com/item?id=13136111 (149 comments)
The only problem is BLE on Android is still a hilariously buggy mess. Maybe they can rewrite the stack again...
[!] You have a perfectly good computer running in front of you, with powerful hardware, geometry translation and audio rendering devices ready to be bent to your will.
[!] You have excellent (paid and free) tools and the Internet provides documentation on everything....
[?] Why shove more and more functionality into the browser, which can't even be considered a single proper 'platform' or 'target', since you have to account for several cross-browser/os combinations... In the end, we need frameworks which must patch and shoehorn lots of stuff in our actual code just to deal with cross-browser/os .
[..] In the end, we achieve better and better performance per cycle on one side and waste it more and more on the other. Of course, power efficiency and other important metrics on our increasingly mobile world go out of the window as well.
[.] We could be improving our tooling and languages to enable programmers to achieve good cross-compilation performance everywhere, and making most interfaces properly standard (opengl, communication stack) would make all this accessible and easy.
I leave you with two questions:
positive mindset: is this about lowering the entry bar to 'app' development?
negative (realist?) mindset: is this about vendor lock-in, hardware sales and consumerism?
Allowing every site access to quietly scan for devices would be pretty horrible, but that's not the case from my understanding.
Chrome 56 quietly added Bluetooth snitch API
Trust us, says Google, we understand privacy