Remix.run Logo
lxgr an hour ago

I wish such shenanigans would simply trigger the little speaker icon most browser display on tabs these days.

Given that they don't (at least in my experience), I'm assuming "playing silent audio" is a sufficiently common thing for websites to do to have motivated browsers into doing the slightly more complicated thing of actually analyzing audio streams for content...

Now I wonder, does this also allow websites to continue running in the background on mobile browsers? Playing media is one of the very few things that can convince iOS Safari to keep a tab running indefinitely, in my experience.

nubinetwork 42 minutes ago | parent | next [-]

It does on my Firefox, I had to close their tab because it also tricks kde into thinking I'm playing audio.

emctech an hour ago | parent | prev | next [-]

I wonder if it is something firefox and chrome devs need to look at because if it is accessing the audio device surely it should be notified to the user.

lxgr an hour ago | parent [-]

As I mentioned, I suspect that this is an active choice, as just displaying the icon whenever a media context exists seems much easier than inspecting the audio stream for non-zero volume media.

I can only assume that there are legitimate reasons for this as well, e.g. websites preparing/maintaining audio context for lower latency when they intermittently play audio etc.

emctech 39 minutes ago | parent [-]

Someone else mentioned that cloudflare uses the webaudio for verification challenge, but only triggers it briefly.

lxgr 38 minutes ago | parent [-]

Ugh... Seems like we need an audio API web permission, or maybe do something like browser already do for some of the other APIs and actually require API users to actually play something or display a warning/play an annoying chime otherwise.

pmontra 33 minutes ago | parent | prev | next [-]

The speaker icon would be handy but I think that it depends from both the good will of Firefox and the installed add ons. Of course if an add on blocks the audio file there is no need to display the speaker icon for that file.

To give you the idea of what is going on, this is what uMatrix shows about www.aliexpress.com in my Firefox browser on my laptop. It would be more difficult to copy and paste from uMatrix on my Android phone. It shows a number of sites. Nothing in first party and these that I must fully enable to make the site work (css, image, script, xhr)

* aliexpress.com

* ase.aliexpress.com

* it.aliexpress.com (my country two letters domain)

* umdc-global.aliexpress.com

* aidcgroup.net

* ase.aidcgroup.net

* 67372.ase.aidcgroup.net

* alibaba-inc.com

* epss.alibaba-inc.com

* alicdn.com

* ae01.alicdn.com

* assets.alicdn.com

* aliexpress-media.com

* ae-pic-a1.aliexpress-media.com

* assets.aliexpress-media.com

* aliyun.com

* acjs.aliyun.com

Scary list, right? According to google aidcroup is

> Alibaba International IPP Platform

> https://ipp.aidcgroup.net

> Alibaba International is committed to the protection of intellectual property rights. Right holders and their agents can enforce intellectual property ...

Let me add a /s to the last line

There are two more sites that I can completely block

* googlesyndication.com

* pagead2.googlesyndication.com

so even Alibaba runs ads on Google.

I did not instrument the browser like the author of the post did, so I don't know where the audio comes from. There is nothing listed in the media column of uMatrix. This does not mean that the post is inaccurate. It could be that the browser gets the audio stream from a request in one of the other categories.

uBlockOrigin blocks two of other requests.

1. https://g.alicdn.com/code/npm/@ali/gmod-pop-disclosure-code/...

and this one that I anonymize

2. https://aplus.aliexpress.com/g.gif?logtype=0&title=WebPush Permission&pre=https://it.aliexpress.com/?gatewayAdapt=glo2ita&scr=1920x1080&_p_url=https://it.aliexpress.com/wp.html&cna=<whatever cna is>&category=&aplus=&$${beacon_mini}$$=&yunid=&=&trid=<trid>&asid=<base64 stuff>$${get_sign}$$&p=1&o=linux&b=firefox153&s=1920x1080&w=gecko&ism=other&cache=<7 letters>&lver=8.15.25&jsver=aplus_std&pver=0.7.12&_pw=0&_ph=0&tag=1&stag=-1&lstag=-1&_slog=0

Probably the audio file is coming from one of the unblocked requests but my Debian laptop does not pair with my Bluetooth earpieces so I can't test it.

emctech 11 minutes ago | parent [-]

It doesn't actually stream an audio file, the scripts generate audio at runtime using a sawtooth oscillator. It also only happens after several seconds.

pmontra a minute ago | parent [-]

Thanks. So one of the downloaded scripts is generating the audio and the browser should detect it.

downrightmike an hour ago | parent | prev | next [-]

I wish the browser would classify the fingerprinting and not load the site and show a security risk warning like it does for http sites. Then Advanced > Accept risk to continue.

@FireFoxDudes You need to be addressing fingerprinting

miki_oomiri an hour ago | parent [-]

How? How would a browser "know" what classifies as finger printing? Literally every piece of the engine is used for finger printing.

It can be mitigated, a bit, but I don't see how browsers can win that battle.

Finger printing is a lost battle in my opinion, unless we drastically reduce what a web engine can do (like Tor does).

lxgr 39 minutes ago | parent | next [-]

I feel like there are two levels of fingerprinting here, and a lot of the confusion is downstream of not properly distinguishing them:

There's the kind that tries to find out what browser vendor, OS, and sometimes hardware you use, and the kind that tries to identify you across visits, unrelated origins etc.

I agree that the former is probably inherently impossible to avoid to a large extent, but the latter is both a bigger privacy issue and at least in theory possible to prevent.

bigbuppo 37 minutes ago | parent | prev [-]

Just assume any site using javascript is using it for nefarious purposes.

ryandrake an hour ago | parent | prev [-]

It's insane that browsers just hand over API access to my microphone and/or camera to rando web developers. Yes, I know things like Zoom exist. IMO software like that simply shouldn't be possible on browsers, period.

Making the browser into a general purpose system SDK was a mistake--maybe the biggest mistake in personal computing's history.

lxgr 37 minutes ago | parent [-]

This issue is about audio output. Audio and video input are both behind per-site permissions.

pteraspidomorph 28 minutes ago | parent [-]

Also, people can and should go to the firefox settings > Permissions and data > Autoplay and change the Default for all websites to "Block Audio" (at least).

You can set per-hostname exceptions if you like! CTRL + I > Permissions