Наушники перестали переключаться на ноутбук. Виновата открытая вкладка магазина.
Разработчик неделями ловил дурацкий баг: беспроводные наушники разучились прыгать между ноутбуком и телефоном. Виновником оказалась открытая вкладка AliExpress, которая проигрывала звук, который никто не слышит.
Если у вас наушники, которые держат сразу два устройства — телефон и ноутбук, — вы знаете это маленькое ежедневное волшебство: пришёл звонок, звук сам перескочил. И знаете маленькое ежедневное раздражение, когда это вдруг перестаёт работать без всякой причины.
Разработчик в блоге blog.laserphile.com докопался до причины, и она оказалась до обидного бытовой: открытая в браузере страница AliExpress. Страница тихо запускает звуковой движок браузера — WebAudio — и прогоняет через него крошечный сигнал. Вы не слышите ничего. Но операционная система видит приложение, которое играет звук, забирает гарнитуру в режим качественной музыки и больше её не отдаёт. В день, когда мы это пишем, пост вышел на главную Hacker News: 225 баллов и 69 комментариев — в основном от людей, которые ловили того же призрака и так и не нашли.
Этот звук существует не для того, чтобы его слышали. Он существует, чтобы его измерили. Каждое устройство обрабатывает аудио чуть-чуть по-своему — чип, драйвер, округление в вычислениях. Прогнали через него беззвучный тон, считали результат — и получили число, которое у вашей машины упрямо одно и то же, а у чужой немного другое. Это число и есть отпечаток. Ни куки, ни логина, ни баннера про согласие. Чистите куки, открывайте приватное окно, меняйте аккаунт: звук всё равно звучит как ваш ноутбук.
Технология не новая. Браузерные отпечатки описаны больше десяти лет назад, аудиоверсия — известный приём. Необычно другое: на этот раз слежка оставила след, который слышно ушами.
У слежки почти никогда не бывает симптомов. У этой он есть.
И теперь подумайте, сколько всего проходит мимо вас бесследно. Страница, которая считывает особенности вашего звука, не стоит ничего и не показывает ничего. Эту нашли только потому, что Bluetooth multipoint — та самая функция, что держит два подключения разом, — штука хрупкая, и беззвучный тон держал соединение в заложниках. Мы не знаем, задумывал ли AliExpress этот побочный эффект, и придумывать мотив не станем. Публично в компании это, насколько мы видим, никто не объяснял.
Всех, кто купил недорогие, но приличные наушники и ругает их за баг, в котором они не виноваты, — а это почти любой человек до сорока с ноутбуком и телефоном. Ещё тех, кто ходит по магазинам во вкладке, которую никогда не закрывает: странице маркетплейса не нужен ваш логин, чтобы понять, что это вы. И если вы учитесь чему-то рядом с веб-разработкой или безопасностью — заметьте, как это вскрылось. Не исследователь приватности с лабораторией. Один раздражённый человек, который чинил свои наушники.
Следить стоит за двумя вещами. Первая — уберёт ли AliExpress тихо этот вызов WebAudio или изменит его: скрипт страницы кто-нибудь сравнит с прежней версией в ближайшие дни, и в тредах Hacker News это всплывёт. Вторая — закрутят ли гайки Chrome или Firefox: в Firefox защита от аудиоотпечатка уже есть в строгом режиме, а открытый вопрос в том, начнёт ли хоть один браузер требовать от страницы объяснений, зачем она открыла звуковой контекст, в котором ничего не играет. Если ваш multipoint вдруг заработает как раньше, а прошивку наушников вы не обновляли, — вы поймёте, чья сторона сдвинулась.
Отпечаток сработал безупречно. Сдали его наушники. Все остальные сайты, которые делают сегодня ровно то же самое, делают это без симптомов — и единственная причина, по которой мы об этом пишем, в том, что один человек хотел, чтобы его наушники снова переключались на ноутбук.
Источники: blog.laserphile.com (пост автора, август 2026); обсуждение на Hacker News, тред #49372583 (225 баллов, 69 комментариев на момент публикации).