Взлом периферии с помощью ИИ: полный контроль над веб-камерой, микрофоном и монитором

Everything I own, owned

Взлом периферии с помощью ИИ: полный контроль над веб-камерой, микрофоном и монитором

Автор использовал агентный реверс-инжиниринг на базе Claude Opus 5, чтобы взломать пять своих устройств: веб-камеру Insta360 Link, монитор ASUS ROG Swift PG42UQ, микрофон Shure MV7, карту захвата Elgato Cam Link 4K и лампу Elgato Key Light Mini. За 13 часов работы и 98 запросов он получил полный контроль над прошивками, включая отключение индикатора записи, доступ к командной оболочке микрофона и обход проверки подписи на лампе. Результаты выложены в открытые репозитории.

Один HTTP POST-запрос `ATSE=0200ED94,0E001009` превращает проверку подписи в пустую операцию, позволяя прошить устройство без легитимной подписи.
  1. SillyUsername

    Я делал то же самое, но с выделенной машиной для GPU Silicon Motion sm750. Бюджетная видеокарта с одним HDMI-выходом для серверов и максимальным разрешением 1080p. Она основана на более старой версии того же оборудования с VGA/DVI.

    Я всё ещё тестирую, но, ого. Мой новый драйвер теперь работает с моим ультрашироким соотношением 21:9 при 2048x864, а также поддерживает 2048x1152.

    Драйвер работает хорошо и теперь имеет полную поддержку DRM и DKMS. Он также работает на современном Linux, после того как производитель решил поддерживать только ядро до 5.x, поддержка Windows, очевидно, всё ещё в порядке.

    Он нашёл много ошибок в исходном коде, например, кто-то не читал спецификации HDMI / не имел понятия, что делает.

    Новый драйвер полностью соответствует спецификациям по таймингам и последовательностям, больше не зависает при выключении и игнорирует EDID, чтобы разрешить больше режимов экрана.

    Он также имеет двойную буферизацию, теневую буферизацию и пользовательский режим дизеринга с магическим квадратом для 16-битного цвета, и он просто летает по сравнению с 32-битным режимом. Дизеринг, который я придумал, был основан на том, что я создал годы назад для ретро-железа, но он настолько хорош, что (на мой взгляд) неотличим от обычных артефактов JPEG и его довольно трудно найти/увидеть. Мне несколько раз приходилось просить Codex проверить, не работает ли GPU в 32-битном цвете.

    У GPU всё ещё есть раздражающий баг: он не работает стабильно через KVM без потери синхронизации в VESA-режимах, но я не уверен, что это вина железа GPU, так как при прямом подключении всё работает идеально.

    Я собираюсь выложить репозиторий на GitHub, как только [...]

  2. ndiddy

    > Мой монитор ASUS ROG Swift PG42UQ был именно тем, с чего я начал, потому что меня раздражало всплывающее окно, которое время от времени появляется и предлагает запустить "очистку пикселей". Я никогда сознательно не запускал очистку пикселей на этом мониторе и никогда не буду, мне всё равно, и я хотел бы, чтобы это окно исчезло навсегда. Может быть, есть какое-то отладочное меню или что-то, что может его отключить, или в худшем случае мы пропатчим ветку в прошивке?

    Обратите внимание, что это OLED-монитор, так что "очистка пикселей", вероятно, какая-то функция защиты от выгорания. Вы могли бы попросить ИИ посмотреть на прошивку и описать, что она делает.

  3. phh

    Мне очень нравится эта статья и этот дух. Я накопил кучу дешёвого хлама/IoT, возможно, я буду ими владеть!

    Два момента:

    - Чтобы омрачить праздник: европейская директива RED делает обязательными безопасные обновления для всего, что подключено к интернету (подозреваю, именно поэтому у Elgato Key Light Mini подписанные прошивки). Так что OEM-производители теперь обязаны препятствовать этому. (EN18031-1). Она даже требует, чтобы сетевые учётные данные (WiFi SSID/PSK) хранились в защищённом хранилище (не знаю, можно ли выполнить это требование без secure boot. Думаю, у Elgato есть?). "Безопасное обновление" loosely определяется как "целостность и подлинность действительны на момент установки", так что это требование не запрещает нам модернизировать наше оборудование, но наиболее вероятная реализация OEM-производителей это запрещает.

    - Когда вы хотите сделать это на Android-смартфонах (пожалуйста, делайте!): рекомендую идти через GSI/Treble: так вы быстро получите загружающуюся ОС. Нужно будет исправить много вещей, но в основном это будет userspace, с которым агенту будет проще работать. Агент сможет декомпилировать userspace OEM и сравнить с userspace AOSP, и реализовать отличия. (Это по сравнению с "легаси" или официальным методом LineageOS, которые более запутанны, включая работу с ядром, и просто добиться "загрузки" может быть сложно).

  4. philips

    Я пару недель назад реверс-инжинирил формат файлов заметок Supernote с помощью агента. Годами сообщество просило документацию по формату. И за несколько часов агент, имея около двадцати примеров файлов и тридцать с лишним промптов, смог восстановить формат.

    Вручную это было бы совершенно нецелесообразно для нишевого устройства. Теперь за несколько часов есть работающий код и документация.

    https://github.com/philips/supernote-typescript/blob/main/pl...

    https://philips.github.io/supernote-typescript/

  5. Waterluvian

    Две недели назад я сказал Claude: "У меня есть <wifi outlet relay> в локальной сети по адресу <IP>. Предположи, что у тебя есть прямой контроль над ним." И после примерно 8 подтверждений команд у меня была новая прошивка.

    Заметьте, он нашёл и использовал существующую библиотеку для прошивки устройств этого семейства. Но было потрясающе сделать за 20 минут то, на что раньше ушли бы часы и часы исследований и возни, которые мне были неинтересны. Я просто хотел WiFi-лаву-лампу.

  6. srcreigh

    > Честно говоря, я ещё не осмелился записать модифицированную прошивку на устройство — это довольно дорогой монитор — но когда-нибудь я до этого дойду.

    Если у вас нет рабочих патчей, то это не считается владением.

    Я бы очень хотел лучше понять, как безопасно итеративно патчить прошивку. На прошлой неделе я убил роутер, пытаясь добавить путь загрузки TFTP в загрузочный раздел. Просто отстойно, что это так рискованно.

    Кстати, нам также нужны хорошие инструменты для глитчинга, потому что некоторые прошивки даже дешёвых устройств недоступны в незашифрованном виде, а чтение флеша отключено...

    Мы ещё не там, но надеюсь, скоро будем.

  7. bobek

    Честно говоря, это одна из тех вещей, которые впечатляют в LLM. Я недавно оживил флип-дот панель из старого автобуса, реверс-инжинирив и заменив её прошивку -- https://www.bobek.cz/buse/

  8. teddyh

    Ключевой вывод:

    > И существование WebUSB, WebHID и WebBluetooth означает, что для некоторых устройств, в зависимости от того, какие классы используются, момент неосторожности пользователя при принятии запроса разрешений может навсегда открыть бэкдор в одном из его подключённых устройств.

  9. Retr0id

    Использование LLM для реверс-инжиниринга и поиска багов — это очень весело. Сегодня я сообщил об абсолютно потрясающем баге в VRP Google. Уязвимость была в HTTP API, исходников которого у меня нет, только реверснутая клиентская логика.

    Идея бага была моя, из разряда "неужели они были настолько глупы, что забыли сделать xyz". Написание кода для проверки уязвимости вручную заняло бы несколько часов нудной работы, включая восстановление protobuf-схем и т.д. Раньше я бы просто не стал этим заниматься, потому что, на мой взгляд, шансы на успех были слишком малы, чтобы тратить время. Но это был однострочный промпт, так почему бы и нет. И это сработало!

  10. Abishek_Muthian

    На данный момент производителям следует просто открыть исходники своих прошивок, так как для реверс-инжиниринга больше нет барьеров. Вместо этого они получат армию конечных пользователей, готовых бесплатно тратить своё время и токены на исправление их багов.

Ещё за этот день

2026-08-24