AliExpress 静默指纹识别干扰蓝牙
AliExpress runs silent WebAudio fingerprinting that breaks Bluetooth multipoint
我的 Bluetooth multipoint 耳机在打开 AliExpress 页面后突然无法切换回手机播放音乐。排查发现,页面通过 collina.js 和 fireyejs.js 脚本静默创建了 WebAudio 上下文,用于采集浏览器指纹。虽然音量被设为零,但音频链路被激活,导致系统误判音频正在播放。这种隐蔽的指纹技术不仅收集了 Canvas、WebGL 等大量设备信息,还产生了真实的硬件副作用。最终我通过 uBlock Origin 屏蔽了相关脚本,恢复了正常的音乐播放体验。
如果 AliExpress 没有阻断我的音乐,我可能永远不会去探究这个网站在背后做了什么。
HN 评论区
326- lxgr
我真希望这种小把戏能直接触发如今大多数浏览器在标签页上显示的那个小小喇叭图标。
鉴于它们并没有(至少在我的经验里是这样),我推测“播放静音音频”是网站做得相当普遍的一件事,以至于促使浏览器去实施稍微复杂一点的操作,即真正分析音频流的内容……
现在我不禁好奇,这是否也允许网站在移动浏览器后台继续运行?据我的经验,播放媒体是让 iOS Safari 无限期保持标签页运行的极少数手段之一。
- mgerdts
用我以前的助听器时,我注意到访问各种各样的网站会导致环境噪音的放大倍数发生变化。我一直以为它是在对蓝牙做些什么,而且可能没什么好理由。当时我用的是 iPhone 13 和一款 Kirkland/Phonak 助听器。
最近我没再注意到这种情况,不过我现在换了两款较新的 Phonak 助听器,而且 iOS 也更新过几次了。也许这种静音蓝牙的小把戏对我的新助听器干扰较小,或者编程方式有所不同。但毫无疑问,这些小把戏肯定还在继续。
- patspam
我在过去几周注意到,如果我最近打开过 AliExpress iOS 应用(即它在后台运行),我的车载音响就会发疯,以为我在给它发送音频指令。杀掉 AliExpress 应用立刻解决了问题。看到这种情况发生不止一次后,我断定这是某种鬼鬼祟祟的行为,于是卸载了该应用。
- tomrittervg
WebAudio 指纹识别在很大程度上已被缓解(在 Firefox 中,可能还有其他浏览器)——我写了一篇简要概述,讨论了当前数值的分布情况以及我们最近的努力。https://ritter.vg/blog-webaudio_alibaba.html
- forestry
所以苹果会将它们从 App Store 移除。这就是他们为封闭系统辩护的全部理由——他们会保护用户免受恶意应用的侵害。对吧?
- compsciphd
我会争辩说,或许播放音频的能力应该像使用网络摄像头/麦克风一样受到权限控制。
不过我敢打赌,很多人会乐意允许 AliExpress 播放音频,因为该网站上可能有一些人们想播放并收听的视频。
话虽如此,这也有可能是一次性权限。即使我想在 AliExpress 购物,如果我知道他们在做这种事,只要这困扰我,每次我想播放带音频的视频时,我都更愿意被要求批准一次。
- miki123211
啊,原来这就是 Wolt(欧洲的 Doordash)在干的事。
我注意到使用其应用时,Voice Over(iOS 屏幕阅读器)会发出杂音并随机改变音量,但我一直以为这只是 iOS 的常规怪异行为,也可能是误用了某些 iOS API。现在我怀疑这很可能就是指纹识别。
- emctech
最近我遇到了蓝牙耳机的问题。它们支持多点蓝牙音频,因此可以同时连接我的电脑和手机。
打开 AliExpress 网页会导致一个静音音频流,保持 PC 到耳机的连接处于活动状态,从而阻塞了我的手机音频。
调查结果显示,有混淆代码正在运行设备指纹识别,其副作用是产生一个静音音频流,Firefox、Chrome 和 Windows 都无法识别,但它却保持了蓝牙连接的活跃状态。