tradfi
Новини Пристрої 18.02.2026 comment views icon

Інженер знайшов баг у ПЗ китайської маски для сну: він дозволяв "атакувати" інших власників електроімпульсами

author avatar

Олександр Федоткін

Автор новин та статей

Інженер знайшов баг у ПЗ китайської маски для сну: він дозволяв "атакувати" інших власників електроімпульсами
Xiaomi

Інженер Айміліос Хацистам виявив баг у розумній масці для сну китайського виробництва, придбаній ним на Kickstarter.


У власному блозі чоловік заявляє, що маска від невеликої китайської дослідницької компанії зчитувала мозкову активність незнайомих людей та надсилала їм електричні імпульси уві сні. Він зазначає, що пристрій включає функції ЕЕГ-моніторингу мозку, електричної стимуляції навколо очей, вібрації, підігріву та звуку.

Однак застосунок для її користування виявився недоробленим до кінця. Оскільки маска постійно відключалась, Айміліос Хацистам попросив ШІ Claude змінити протокол Bluetooth та створити просту вебпанель управління. Claude першочергово просканував навколишнє середовище на наявність пристроїв з Bluetooth Low Energy. Він виявив пристрій інженера серед 35 інших у зоні дії, підключився та визначив інтерфейс через два канали передачі даних. Один канал відправляв команди, а інший здійснював їхню потокову передачу.

Після цього ШІ намагався встановити зв’язок з маскою, відправивши близько 100 командних шаблонів, серед яких були кадри Modbus, JSON, необроблені байти та стандартні заголовки. Однак пристрій так і не відгукнувся через нестандартний протокол. Далі Claude взявся за сам застосунок. Він завантажив APK-файл для Android та декомпілював його за допомогою jadx. Виявилось, що застосунок створений на Flutter, що створює проблеми зі зворотним зв’язком.


Flutter компілює вихідний код Dart у нативний машинний код ARM64, однак його не можна декодувати як зазвичай у застосунках Android на Java. Ключова логіка міститься у двійковому файлі розміром 9 МБ. Однак навіть у скомпільованих бінарних файлах містяться рядки, зокрема, повідомлення про помилки, URL-адреси, журнали налагодження.

Claude запустив програму Strings на бінарному файлі. Серед тисяч сміттєвих рядків фреймворку Flutter він виявив вбудовані облікові дані для брокера повідомлень компанії, кінцеві точки хмарного API, 15 назв функції конструктора команд, зокрема, для налаштування вібрації, нагрівання, електростимуляції та інших, налагоджувальні повідомлення протоколу, які розкривають структуру пакета, заголовок, байти напрямку, типи команд, корисне навантаження, нижній колонтитул.

Claude використав blutter — спеціально призначений для декомпіляції скомпільованих файлів Dart з Flutter. Він відновлює функції з можливістю читати анотації. Клод визначив кодування і просто зчитав кожен байт команди з кожної функції. ШІ відправив шестибайтовий пакет запиту. Пристрій у відповідь повернув 153 байти включно з інформацією про номер моделі, версію прошивки, серійний номер, конфігурації всіх восьми каналів датчиків (ЕЕГ з частотою 250 Гц, дихання, 3-осьовий акселерометр, 3-осьовий гіроскоп). Заряд батареї 83%. 

ШІ також створив невелику вебпанель керування. Поки інженер розбирався у системі, Claude намагався використати закодовані облікові дані для підключення до MQTT-брокера компанії. MQTT, як пояснює Айміліос Хацистам, це стандартний протокол системи обміну повідомленнями між користувачем та виробником в інтернеті речей, де пристрої публікують показання датчиків та підписуються на команди. Потім пристрій почав отримувати дані. Не тільки від інженера — від усіх. Було активно близько 25 пристроїв. Зокрема, розумні маски для сну, що публікують дані ЕЕГ в режимі реального часу, датчики якості повітря, що реєструють температуру, вологість і вміст CO2, датчики присутності, що визначають зайнятість приміщення.

Інженер знайшов баг у ПЗ китайської маски для сну: він дозволяв "атакувати" інших власників електроімпульсами
aimilios.bearblog

Зокрема, Claude записав кілька хвилин ЕЕГ з двох активних масок для сну. Один користувач, ймовірно, перебував у швидкій фазі сну, інший у повільній та глибокій. Маска також забезпечує електростимуляцію м’язів навколо очей. Управління здійснюється за допомогою простої команди: режим, частота, інтенсивність, тривалість. Оскільки всі пристрої використовують одні й ті самі облікові дані та одного й того ж центрального програмного посередника (брокера), можливість зчитувати мозкову активність також означає можливість відправляти комусь власні мозкові імпульси.

Айміліос Хацистам умисно не називає назву продукту та компанії, однак зв’язався з виробником та повідомив про вразливість. Оскільки історія стала дуже обговорюваною на порталі Hacker News, інженер опублікував власну переписку з Claude.

ITC повідомляв, що Google нещодавно таки підтвердила баг Pixel з записаними повідомленнями, чутними на іншому боці, але не для всіх апаратів. Між тим магазини GameStop ненадовго стали “машиною для друку грошей” для геймерів Nintendo Switch 2 через баг в системі trade-in.

AirDrop і компанія: розробники створили сайт із багами, які Apple ігнорує роками

Джерело: Aimilios.bearblog

Що думаєте про цю статтю?
Голосів:
Файно є
Файно є
Йой, най буде!
Йой, най буде!
Трясця!
Трясця!
Ну такої...
Ну такої...
Бісить, аж тіпає!
Бісить, аж тіпає!
Loading comments...

Повідомити про помилку

Текст, який буде надіслано нашим редакторам: