AIエージェントがマイク、Webカメラ、モニターのファームウェアを次々とリバースエンジニアリング
Everything I own, owned

著者がClaude Opus 5を使い、手元にある周辺機器5台(Webカメラ、モニター、マイク、ビデオキャプチャ、キーライト)のファームウェアをエージェント駆動でリバースエンジニアリングした記録。各デバイスのファームウェア更新プロトコルやセキュリティ機構を解析し、LEDの無効化、コマンドシェルの発見、署名検証の回避などの成果を報告。特に、Shure MV7マイクには認証なしで特権を得られるコマンドシェルが、Elgato Key Light Miniにはネットワーク経由で署名チェックを無効化できる脆弱性が存在することを明らかにした。総作業時間は約13時間、プロンプト数は98。
単一のHTTP POSTリクエスト「ATSE=0200ED94,0E001009」で署名チェックが無効化され、正規の署名なしでファームウェアを自由に更新できるようになる。
HNでの議論
346- SillyUsername
私はこれをやりましたが、Silicon Motion sm750 GPU専用のマシンで行いました。サーバー向けの予算向けシングルHDMI出力GPUカードで、最大解像度は1080pです。同じハードウェアの古いVGA/DVIバージョンに基づいています。
まだテスト中ですが、すごいです。私の新しいドライバーは、ウルトラワイド21:9比の2048x864で動作し、2048x1152も管理できます。
ドライバーはうまく動作し、完全なDRMとDKMSサポートを備えています。メーカーがカーネル5.xまでしか対応しないと決めた後も、最新のLinuxで動作します。Windowsサポートはもちろん問題ありません。
元のソースには多くの欠陥が見つかりました。例えば、誰かがHDMI仕様を読んでいない、または何をしているのか分かっていないなどです。
新しいドライバーは完全に仕様のタイミングとシーケンスに準拠しており、シャットダウン時にハングしなくなり、より多くの画面モードを許可するためにEDIDを無視します。
また、ダブルバッファリング、シャドウバッファリング、16ビットカラー用のカスタム魔法陣ディザモードを備えており、32ビットモードと比較して非常に高速です。私が発明したディザは、数年前にレトロハードウェア用に作ったものから派生しましたが、非常に優れているため、一般的なJPEGアーティファクトと区別がつかず、見つけたり見たりするのが非常に難しいです。GPUが32ビットカラーでないかどうかを確認するために、Codexに数回尋ねる必要がありました。
GPUにはまだ厄介なバグがあり、VESAモードでKVM経由で一貫して動作せず、同期が失われることがありますが、これがGPUハードウェアによるものだとは確信していません。直接接続すると完全に動作します。
すぐにGitHubリポジトリを公開する予定です。
- ndiddy
> 私のASUS ROG Swift PG42UQモニターが実際に始まりでした。時々表示される「ピクセルクリーニング」を実行するように促すポップアップオーバーレイにイライラしたからです。このモニターでピクセルクリーニングを意図的に実行したことは一度もなく、今後も実行しません。どうでもいいので、そのオーバーレイを永久に消したいです。たぶん、それをオフにするデバッグメニューがあるかもしれませんし、最悪の場合、ファームウェアのブランチをパッチするかもしれません。
これはOLEDモニターなので、「ピクセルクリーニング」はおそらく焼き付き防止機能の一種です。AIにファームウェアを調べて、それが何をするのか説明してもらうことができるでしょう。
- phh
この記事とその精神を絶対に愛しています。私は多くの粗悪で安価なIoTを蓄積してきたので、おそらくそれらを所有することになるでしょう!
2つのこと:
- 水を差すようですが、欧州のRED指令は、インターネットに接続されるものには安全なアップグレードを義務付けています(それがElgato Key Light Miniが署名付きファームウェアを持っている理由だと思います)。したがって、OEMはあなたがそれを防ぐことを義務付けられています(EN18031-1)。また、ネットワーク資格情報(WiFi SSID/PSK)をセキュアストレージに保存することも要求されます(セキュアブートなしでその要件を満たせるかどうかはわかりません。Elgatoはおそらく満たしているでしょう?)。「安全なアップグレード」は「インストール時に完全性と信頼性が有効であること」と緩く定義されているため、この要件は私たちがハードウェアをアップグレードすることを禁止していませんが、OEMの最も可能性の高い実装はそれを防ぐでしょう。
- Androidスマートフォンでそれを行いたい場合(ぜひやってください!):GSI/Trebleルートを経由することをお勧めします。この方法なら、すぐに起動するOSが得られます。修正すべきことはたくさんありますが、ほとんどがユーザースペースのものであり、エージェントが扱いやすくなります。エージェントはOEMのユーザースペースを逆コンパイルし、AOSPのユーザースペースと比較して、違いを実装できるでしょう。(これは「レガシー」またはLineageOS公式メソッドと比較して、カーネル関連を含むより複雑で、「起動する」までに複雑になる可能性があります)。
- philips
数週間前、私はエージェントを使ってSupernoteのノートファイル形式をリバースエンジニアリングしました。何年もの間、コミュニティはその形式のドキュメントを求めていました。そして数時間で、エージェントは20以上のファイル形式のサンプルフィクスチャと30以上のプロンプトで、その形式を逆引き出すことができました。
ニッチなデバイスにとって、手作業でこれを行うのは完全に価値がありませんでした。今では、数時間の労力で動作するコードとドキュメントがあります。
https://github.com/philips/supernote-typescript/blob/main/pl...
- Waterluvian
2週間前、Claudeに「LAN上の<IP>に<WiFiコンセントリレー>がある。それを直接制御して。」と言いました。そして約8回のコマンド承認の後、新しいファームウェアがそれで動作していました。
もちろん、このデバイスファミリー用の既存のファームウェア書き込みライブラリを見つけて使用しました。しかし、おそらく何時間もの調査と試行錯誤が必要だったであろうことを20分でできたのは素晴らしいと感じました。私はただWiFiラバランプが欲しかっただけです。
- srcreigh
> まだ修正ファームウェアを書き込む勇気はありません - かなり高価なモニターです - が、いつかはやるつもりです。
正直、動作するパッチがなければ、本当に所有しているとは言えません。
安全に反復的にファームウェアをパッチする方法をよりよく理解したいです。先週、ブートパーティションにTFTPブートパスを追加しようとしてルーターを文鎮化しました。リスクが高いのは本当に残念です。
関連して、優れたグリッチツールも必要です。なぜなら、安価なデバイスでも一部のファームウェアは暗号化されずに利用できず、フラッシュ読み取りが無効になっているからです...
私たちはまだそこに到達していませんが、すぐに到達することを願っています。
- bobek
正直、これはLLMについて興奮する数少ないことの一つです。最近、古いバスのフリップドットパネルをリバースエンジニアリングしてファームウェアを置き換えることで復活させました -- https://www.bobek.cz/buse/
- Retr0id
LLMをリバースエンジニアリングやバグハンティングに使うのはとても楽しいです。今日、GoogleのVRPに絶対的な大バグを報告しました。その脆弱性は、ソースコードがないHTTP APIエンドポイントにあり、リバースエンジニアリングしたクライアントロジックだけがありました。
バグのアイデアは私のもので、「さすがにxyzを忘れるほど愚かではないだろう」という種類のものでした。脆弱性を探るコードを手書きするには、protobufスキーマの再構築など、数時間の単調な作業が必要だったでしょう。以前なら、成功の可能性が低すぎて価値がないと思い、わざわざやらなかったでしょう。しかし、それは一文のプロンプトだったので、なぜやらないのかと思いました。そして、それはうまくいきました!
- teddyh
重要なポイント:
> WebUSB、WebHID、WebBluetoothの存在は、一部のデバイスでは、使用されるクラスの詳細によって、ユーザーが権限プロンプトを受け入れる一瞬の不注意が、接続されたデバイスの1つを恒久的にバックドア化する可能性があることを意味します。
- Abishek_Muthian
この時点で、メーカーはファームウェアをオープンソース化すべきです。リバースエンジニアリングへの参入障壁がないからです。代わりに、時間とトークンを費やして無料でバグを修正してくれるエンドユーザーの軍団から利益を得るでしょう。