
Сканирует устройства Bluetooth Low Energy на уязвимости Fast Pair (CVE-2025-36911), проверяя, принимают ли аксессуары незашифрованные запросы Key-Based Pairing, что позволяет захватывать устройства и отслеживать их.
Инструмент для исследования безопасности, предназначенный для обнаружения Bluetooth-аксессуаров, уязвимых к атакам WhisperPair
🌐 Исследование WhisperPair • 📦 Установка • 🚀 Использование • 🔬 Технические детали
Этот инструмент предназначен только для авторизованного тестирования безопасности и исследований. Тестирование устройств без явного разрешения может нарушать законы вашей юрисдикции. Тестируйте только те устройства, которые вам принадлежат или на которые у вас есть разрешение.
Google Fast Pair позволяет выполнять сопряжение в одно касание и синхронизировать учётные записи для поддерживаемых Bluetooth-аксессуаров. Хотя Fast Pair внедрён многими популярными потребительскими брендами, исследователи обнаружили, что многие флагманские продукты реализовали Fast Pair некорректно, что создаёт уязвимость, позволяющую злоумышленнику перехватывать устройства и отслеживать жертв с помощью сети Find Hub от Google.
WhisperPair — это семейство практических атак, использующих недостаток реализации Fast Pair во флагманских аудиоаксессуарах. Результаты показывают, как небольшое «дополнение» для удобства использования может привести к масштабным рискам безопасности и конфиденциальности для сотен миллионов пользователей.
📖 Полную исследовательскую статью и подробности см. на whisperpair.eu
WhisperPair позволяет злоумышленникам принудительно сопрягать уязвимый аксессуар Fast Pair (например, беспроводные наушники или гарнитуру) с устройством, контролируемым атакующим, без согласия пользователя. Это даёт атакующему полный контроль над аксессуаром, позволяя:
Производительность атаки:
- ⏱️ Медианное время: 10 секунд
- 📏 Тестированное расстояние: до 14 метров
- 🚫 Физический доступ не требуется
Некоторые устройства также поддерживают сеть Find Hub от Google, позволяющую пользователям находить потерянные аксессуары с помощью краудсорсинговых отчётов о местоположении с других устройств Android. Однако, если аксессуар никогда не был сопряжён с устройством Android, злоумышленник может добавить аксессуар в свою учётную запись Google, что позволит отслеживать пользователя через скомпрометированный аксессуар.
Жертва может увидеть нежелательное уведомление об отслеживании через несколько часов или дней, но это уведомление будет показывать её собственное устройство. Это может побудить пользователей отклонить предупреждение как ошибку, позволяя злоумышленнику следить за жертвой в течение длительного времени.
Недостаток заключается в том, что многие аксессуары не выполняют критически важный шаг в процессе сопряжения.
Чтобы запустить процедуру Fast Pair, искатель (Seeker, телефон) отправляет сообщение Key-Based Pairing (KBP) поставщику (Provider, аксессуар), указывая, что хочет выполнить сопряжение. Согласно спецификации Fast Pair:
«Если аксессуар не находится в режиме сопряжения, он должен игнорировать такие сообщения.»
Однако многие устройства на практике не выполняют эту проверку, что позволяет неавторизованным устройствам запускать процесс сопряжения. После получения ответа от уязвимого устройства злоумышленник может завершить процедуру Fast Pair, установив обычное Bluetooth-сопряжение.

Byte 0: Тип сообщения (0x00 = KBP запрос)
Byte 1: Флаги
Бит 0: Запрос действия устройства
Бит 4: Запрос связывания (bonding)
Bytes 2-7: BLE-адрес поставщика (6 байт)
Bytes 8-15: Случайная соль (должна быть зашифрована общим секретом)
Исправленное устройство проверит, что соль правильно зашифрована с помощью общего секрета, полученного через ECDH. Уязвимое устройство принимает любую полезную нагрузку длиной 16 байт без проверки.
Эта атака использует тот факт, что устройства, не являющиеся Android, не выполняют процедуру Fast Pair при подключении к аксессуару. Устройства Android записывают ключ учётной записи (Account Key) на аксессуар после завершения сопряжения. Этот ключ устанавливает право собственности — первый записанный ключ отмечается как ключ владельца (Owner Account Key).
Таким образом, если жертва никогда не подключала свой аксессуар к устройству Android, злоумышленник будет отмечен как владелец после записи своего ключа учётной записи.
WhisperPair — не изолированная проблема. Исследования показывают, что затронуты несколько устройств, производителей и чипсетов. Это демонстрирует системный сбой, а не отдельную ошибку разработчика. Небезопасные реализации в массовом порядке попали на рынок, что указывает на цепочку нарушений соответствия на трёх уровнях:
| Уровень | Состояние |
|---|---|
| Реализация | ❌ Не выполнена |
| Валидация | ❌ Не выполнена |
| Сертификация | ❌ Не выполнена |
| Свойство | Значение |
|---|---|
| Время атаки | ~10 секунд (медианное) |
| Расстояние | До 14 метров (протестировано) |
| Требования | Стандартное оборудование |
| Взаимодействие с пользователем | Не требуется |
| Физический доступ | Не требуется |
Многие устройства, сертифицированные для Fast Pair от различных производителей, оказались уязвимыми:
| Производитель | Известные затронутые модели |
|---|---|
| OnePlus | Buds 3, Buds Pro 2, Buds Z |
| Pixel Buds Pro, Pixel Buds A-Series | |
| Samsung | Galaxy Buds2 Pro, Galaxy Buds FE |
| JBL | Различные модели |
| Sony | Различные модели |
⚠️ Этот список не является исчерпывающим. Многие другие устройства могут быть уязвимы.
Единственный способ исправить эту уязвимость — установить обновление программного обеспечения, выпущенное производителем аксессуара.
Хотя многие производители выпустили исправления для своих затронутых устройств, обновления ПО могут быть ещё не доступны для каждого уязвимого устройства. Мы призываем исследователей и пользователей проверить наличие исправлений напрямую у производителя.
cd fastpair-scanner
# Создание виртуального окружения (рекомендуется)
python -m venv venv
source venv/bin/activate
# Установка зависимостей
pip install -r requirements.txt
# Базовое сканирование (10 секунд)
python main.py scan
# Расширенное сканирование (30 секунд)
python main.py scan -d 30
Сканирование и автоматическое тестирование всех обнаруженных устройств:
python main.py scan --mass-test
python main.py test AA:BB:CC:DD:EE:FF
python main.py -v scan --mass-test
╔══════════════════════════════════════════════════════════════╗
║ Сканер уязвимости Fast Pair ║
║ Инструмент обнаружения CVE-2025-36911 ║
╚══════════════════════════════════════════════════════════════╝
Сканирование устройств Fast Pair (10.0 с)...
────────────────────────────────────────────────────────────────
███░ 5D:55:42:37:D7:60 - OnePlus Buds 3 [СОПРЯЖЕНИЕ]
ID модели: 347C9F
Тестирование 1 устройства на CVE-2025-36911...
[1/1] Тестирование OnePlus Buds 3
Подключено, обнаружение сервисов...
Найдена характеристика KBP, отправка тестового запроса...
🔴 УЯЗВИМО! Устройство приняло незашифрованный KBP запрос
────────────────────────────────────────────────────────────────
Итог:
Всего устройств: 1
Уязвимых: 1
Этот инструмент тестирует устройства по следующей методике:
0xFE2C)...1234...)Данное программное обеспечение предоставляется только для образовательных и авторизованных целей тестирования безопасности. Авторы не несут ответственности за неправомерное использование этого инструмента. Всегда получайте соответствующее разрешение перед тестированием любых устройств.
Лицензия MIT — см. LICENSE для подробностей.
Основано на исследованиях с whisperpair.eu