Содержание
AliExpress заподозрили в аудио-фингерпринтинге пользователей через браузер: скрытый код на странице запускал обработку звука, хотя сам сайт ничего не проигрывал. Историю поднял разработчик Matt Callaghan, когда разбирался, почему его Bluetooth-наушники перестали нормально переключаться между ПК и телефоном.
Ситуация выглядит как классический баг из разряда «железо чудит». Но след быстро вывел не к Windows, драйверам или гарнитуре, а к странице маркетплейса в Firefox и Chrome.
Страница AliExpress держала аудиотракт без звука
Callaghan использовал мультипоинт в беспроводных наушниках: ПК обычно забирал приоритет, когда там шли уведомления или YouTube, а телефон играл музыку в остальное время. После открытия главной страницы AliExpress звук с телефона прекращался через несколько секунд, хотя на компьютере не играло ни видео, ни аудио.
Закрытие вкладки сразу возвращало нормальное поведение. Отключение звука на вкладке, в браузере или в Windows не помогало. Это важная деталь: проблема жила не в обычном медиаплеере страницы.
Разработчик сначала проверил привычные элементы HTML-медиа, но не нашёл ничего подозрительного. Потом он заметил задержку: эффект появлялся не сразу, а после короткого простоя страницы.
В коде нашли Web Audio API и нулевую громкость
Дальше Callaghan перешёл к Web Audio API. Он обернул конструктор AudioContext, чтобы увидеть момент создания аудиоконтекста, а затем проследил подключения через AudioNode.prototype.connect(). Так он вышел на два скрипта: collina.js и fireyejs.js.
По его разбору, эти файлы относятся к браузерным инструментам безопасности и антиабуза Alibaba. Скрипты строили аудиограф с генератором пилообразной волны, прогоняли сигнал через реализацию звука в браузере и считывали частотные данные через анализатор.
Громкость при этом выставлялась в ноль. То есть пользователь не слышал писка, шума или щелчков, но браузер продолжал живую обработку звука. Для Bluetooth-наушников этого хватало, чтобы ПК удерживал аудиоканал и мешал переключению на телефон.
Такая техника похожа на аудио-фингерпринтинг. Разные устройства, драйверы и браузеры чуть по-разному обрабатывают один и тот же сигнал. Сайт может измерить эти отличия и добавить их к цифровому отпечатку пользователя.
- Экран: размеры и связанные параметры отображения
- Память: сведения о device memory
- Браузер: плагины, поддержка аудио- и видеоформатов
- Графика: данные WebGL-рендеринга
- Поведение: производительность браузера и события мыши
По его наблюдениям, скрипты сериализовали и шифровали собранные данные. Затем они отправляли их в телеметрию Alibaba через fetch() или sendBeacon(). Это не доказывает злой умысел, но набор признаков слишком похож на продвинутый антифрод или трекинг.
Firefox и Brave уже защищаются от такого метода
Firefox после обсуждения заявил в X, что браузер включает встроенную защиту от фингерпринтинга. Mozilla отдельно указывала на изменения в Firefox 118, где добавили дополнительные меры против отпечатков через Web Audio.
Firefox напомнил, что такие атаки работают не через громкость, а через измерение результата аудиообработки. Поэтому обычная кнопка mute на вкладке не всегда решает проблему.
Brave тоже заявил, что блокирует аудио-фингерпринтинг по умолчанию. По словам разработчиков браузера, он подмешивает случайные данные в аудиовывод, меняет отпечаток для сайтов и сбрасывает эти данные между сессиями.
В этой истории пока есть аккуратная граница между фактом и обвинением. Факт — страница AliExpress создавала Web Audio-граф без слышимого звука, а это ломало мультипоинт у наушников Callaghan. Обвинение — что Alibaba использовала этот механизм именно для скрытого фингерпринтинга ПК.
Защита Firefox от Web Audio-фингерпринтинга появилась в Firefox 118, который Mozilla выпустила в сентябре 2023 года.