all 13 comments

sorted by: hot top controversial new old
[–] 72 points 2 months ago

More sneaky spyware bullshit causing problems as a side effect of its primary nefariousness

  • source
  • [–] 10 points 2 months ago (3 children)

    Yet another reason to avoid AliExpress, as if we need more.

    Their website makes it damn near impossible to make a purchase (buy 3 more for this deal!!!), changes prices when you put something in the cart, charges multiple times for shipping and then provides inaccurate tracking info once something finally ships. Last time I had a month's delay because everything sat for more than a week in the U.S. after clearing customs.

    Never again.

  • source
  • hideshow 3 child comments
  • [–] 3 points 2 months ago (2 children)

    Trying to push you into the app I bet

  • source
  • parent
  • hideshow 2 child comments
  • [–] 9 points 2 months ago (7 children)

    Honestly, this doesn't sound like spyware. More like absurd optimization. Here's why: Audio devices often go to sleep (to save battery) and can take a second or two to wake up. That's enough time that the end user will miss the first second or two of audio.

    By keeping the audio outputting something (even if it's just silence), they can guarantee that their little (often hilariously terrible) product videos will play the way they expect (which is loud and startling, of course!).

    This is just one of those stupid tricks that's bad for energy use but good for ignorant users who might complain that the first second of every AliExpress video is silent 🤷

    The reason why I believe this to be the case is because there's really nothing unique or interesting to be learned from an audio output loop that's literally sending zeros through itself. If you wanted to use that to fingerprint a user, you wouldn't need to keep it active. You could pass a single zero (silence) through and be done.

  • source
  • hideshow 7 child comments
  • [–] 48 points 2 months ago* (4 children)

    The WebAudio test is not the only measurement in these scripts. Inspection of the bundles found code that queries or measures:

    • canvas rendering and toDataURL()
    • WebGL renderer information, extensions, and shader precision
    • audio oscillator and analyser output
    • screen and viewport dimensions
    • device pixel ratio
    • hardware concurrency and device memory
    • installed browser plugins
    • supported audio and video formats
    • WebRTC behaviour
    • browser performance timing
    • mouse, touch, focus, and scroll events
    • device motion and orientation
    • properties commonly associated with browser automation

    There is also code for serialising and encrypting results, making requests to Alibaba telemetry services, and sending data with fetch() or sendBeacon().

    Not sure you need all this to play audio.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 6 points 2 months ago (3 children)

    If it's part of a fingerprinting lib, then they just fucked it up. Because the fingerprinting can be done in one ~16ms window of time when the script runs and then you can break down the audio objects and pretend nothing happened.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 7 points 2 months ago

    Audio fingerprinting works because small differences in browser versions, operating systems, audio libraries, and hardware can produce slightly different results from the same generated signal. It is not necessarily enough to uniquely identify a device by itself, but it becomes much more useful when combined with canvas, WebGL, hardware, timing, and interaction data.

    The gaining happens after retrieval of the results it seems: so it's just silent for the end user. And perhaps they do both fingerprinting, and ensure audio devices remain awake.

  • source
  • parent
  • [–] 10 points 2 months ago

    If that's actually their problem, they could easily just play a small amount of silence before a video's content. They don't need to be constantly tying up an audio stream.

  • source
  • parent
  • 1 comment in c/hackernews@lemmy.bestiver.se view that post
    [–] 6 points 2 months ago

    The constructor stack traces pointed to two scripts:

    • https://assets.aliexpress-media.com/g/AWSC/uab/1.140.0/collina.js
    • https://assets.aliexpress-media.com/g/AWSC/fireyejs/1.231.67/fireyejs.js

    The WebAudio test is not the only measurement in these scripts. Inspection of the bundles found code that queries or measures:
    canvas rendering and toDataURL()
    WebGL renderer information, extensions, and shader precision
    audio oscillator and analyser output
    screen and viewport dimensions
    device pixel ratio
    hardware concurrency and device memory
    installed browser plugins
    supported audio and video formats
    WebRTC behaviour
    browser performance timing
    mouse, touch, focus, and scroll events
    device motion and orientation
    properties commonly associated with browser automation \

    Blocking those 2 scripts with ublock worked, according to the author, which is good. I shop on ali once in a while and, while I expect a lot of stupid fucking shit and an actually insufferable experience without ublock, from it and any other marketplace site, that's way too sneaky

  • source
  • 1 comment in c/pulse_of_truth@infosec.pub view that post
    [–] 1 point 2 months ago

    Is that bad?

  • source