クラウド制御の天井ファンへの無線通信妨害(RFハッキング)

2026/06/24 23:13

クラウド制御の天井ファンへの無線通信妨害(RFハッキング)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

最も重要な点は、Dreo の天井扇を完全なローカル制御とプライバシーを実現でき、メーカーのクラウド依存型エコシステム全体を迂回してそれを得られるということです。専用アプリへの依存や継続的なインターネット接続に頼るのではなく、この DIY プロジェクトでは元のハードウェアを置き換え、Home Assistant および Siri によるローカル管理が可能なカスタムシステムを導入しています。ソリューションは ESP32-C6 Xiao ボードと 433.92 MHz RF トランシーバーを組み合わせて構成し、特定の無線信号を直接デコードして再送します。技術的な詳細の一つとして、FCC ドキュメントでは周波数シフトキーイング(FSK)変調が示唆されていましたが、実際の信号解析の結果、データを送信するために周波数を切換えるのではなく、ラジオをオン・オフする単純な伝送方法である Ask(オンスイッチキーイング)が使われていることが明らかになりました。システムは 8 ビットのプレアミブル、20 ビットのシンクフレーズ、および元のリモートコマンドを正確に模倣するために必要なユニークなペイロードからなる構造化されたメッセージをデコードします。RadioHead などの標準ライブラリを使用せず SPI ラインを手動で切り替えながら、MQTT を Home Assistant トピックのトリガー用ブリッジとして活用することで、ハードウェアリバースエンジニアリングに関連するセキュリティリスクを排除しています。カスタム 3D 印刷ケース内でのほぼ 1 年にわたる安定動作を経て、本プロジェクトはソフトウェアアップデートを待ったりクラウドベースの脆弱性に晒されたりすることなく、ハードウェアによるイノベーションを通じてレガシー機能を維持することを示す証例となっています。

本文

天井扇風機の無線制御を実現:Dreo のハッキングとローカル制御構築記

プロジェクトの背景と動機

  • 新居での課題: 新しい住居の寝室に設置された大型天井扇風機(Dreo CLF513S)が、振動や使い方の謎など不満足だった。
  • スマートホームへの要望: 従来の Home Assistant 環境との統合を強く希望したが、公式対応はクラウド依存型であることがわかった。
  • クラウド回避の理由:
    • インターネット切断時に機能停止する。
    • プロプライエタリーアプリによるロックインと不安定なインテグレーションリスク。
    • 「外部サーバーが自宅機器を制御している」という感覚的不快感
  • 決定: 手頃な価格・デザインに惹かれ購入したが、設置後は**ローカル制御(オフラインでも動作)**の実現を目指した。

ローカル制御へのアプローチ選定

  • 既存ソリューションの評価: GitHub の「ouaibe」による ESPHome 化プロジェクトは技術的に魅力的だが、高層天井の固定式機器を破壊して実装するリスクが高すぎた。
  • 採用戦略: 「汎用リモコン」アプローチを選択。
    • 既存のリモコントランスシーター送信コマンドを復号化し、それを再発射する方式。
    • 赤外線(IR)ではなく、**RF(無線周波数)**通信であることが確認された(背面の FCC ID から判明)。
  • 実装ステップ:
    1. リモコンから RF コマンドの内容を復号化。
    2. そのコマンドを再発射できる送信機を構築。
    3. Home Assistant よりトリガー信号を送る仕組みを確立。

RF コマンドの復号化プロセス

  • 解析対象: 433.92 MHz(一般的なリモコン周波数)帯域での通信。
  • 変調方式の確認:
    • FCC ドキュメントでは「FSK」と記載されていたが、実際の信号を測定したところ、ASK(振幅シフトキーイング)、具体的には**OOK(オングオフキーイング)**であることが判明。
    • 搬送波の有無で「1」と「0」を表現する方式。
  • 信号分析(RTL-SDR/gqrx 使用):
    • スペクトラムデータから、短いパルスと長いパルスの組み合わせ(モールス符号様)を用いていることが確認。
    • 「ファンオン/オフ」ボタンの拡大図では、特定パターンが5 回繰り返される構造が明確になった。
  • コマンド構造の解明:
    • 単一パケットは 5 回の繰り返しで構成され、各反復間には8.8 ms のギャップがある。
    • ビット構成:
      • イントロダクション(プレアンプル): 8 ビット(論理「0」)。
      • システム同期フレーズ: 20 ビット(共有)。
      • ユニークなペイロード: 13 ビット。
    • 符号化ルール:
      • 論理ビットは 4 つの OOK パルスの組み合わせで表現される。
      • 送信時間:1 ピルス 300 μs / 1 ロジカルビッ トあたり 1.2 ms。
    • 例示(ファンオン/オフコマンド):
      論理パターン: 0111110010000
      パルス展開: 1000 1110 1110 1110 1110 1110 1000 1000 1110 1000 1000 1000
      

RF 送信機の構築と再発射

  • ハードウェア構成:
    • マイクロコントローラー:Xiao ESP32-C6
    • RF 送信機:RFM69HCW(433 MHz)。
    • セットの特徴: Seeed Studio の Xiao シリーズを用いたため、小型でコンパクトな設計が可能。
  • ソフトウェア実装:
    • 既存ライブラリ(RadioHead など)では非対応の独自プロトコルのため、「生(raw)」送信モードを採用。
    • コード上で論理ビットを生成し、RFM69HCW のデータピンを手動でパルス制御する方式。
  • 動作手順:
    1. SPI を介して無線機構成設定(周波数・出力電力等)。
    2. 送信モードへの移行。
    3. 復号化データに基づき、パルスタイミングの制御をピンで実行。
    4. 処理終了後のスリープ状態へ移行。
  • 開発上の難所と解決:
    • タイミング精度: ファン側は非常に感度が高く、パルスやギャップのわずかなズレで無視されるため、厳密な同期が必要だった。
    • バグ修正: ESP32 の Wi-Fi 接続による SPI 処理の不具合を解消し、安定してコマンド再発射する状態へ到達した(RTL-SDR によるリアルタイムスペクトラム解析がデバッグに大活躍)。

Home Assistant との連携設計

  • 通信プロトコル: MQTTを採用。軽量なメッセージングにより、ローカルネットワーク内で安定動作。
  • 動作フロー:
    1. ESP32 が対応する MQTT トピックを購読開始。
    2. Home Assistant のダッシュボード操作で特定トピックへメッセージ公開。
    3. ESP32 がメッセージ受信→RF コマンド再発射
  • 状態同期の仕組み:
    • ファン側はレスポンスを返さないため、ESP32 は機器の状態を直接把握できない。
    • 解決策: デバイス起動時にデフォルト状態(ライト OFF・中 brightness・ファン OFF)に強制し、コマンド送信ごとに内部状態を更新・永続化ストレージへ保存する方式。
  • 例外ケースへの対応:
    • 稀に実際の機器状態と ESP32 の認識がズレる場合がある(例:壁スイッチを切ったままの操作)。
    • その際は、物理的なリモコンを使って Home Assistant が想定する状態へ手動復帰させることで問題ない。

プロジェクトの完遂と結論

  • 筐体加工: 3D プリンタで送信機のカバーを作成し、アンテナ部分にアクセントカラー(オレンジ)を施して完成。
  • 成功の指標:
    • 1 ヶ月以上の放置実験において、パートナーに意識させることなくSiri を介した快適な操作が可能に。
    • インターネット接続がない環境下でもローカル制御が維持され、クラウド依存からの脱却を実現。
  • 公開情報: 本プロジェクトの詳細とコードは GitHub リポジトリにて共有可能(記事内でリンク参照)。

同じ日のほかのニュース

一覧に戻る →

2026/07/01 2:59

Claude Sonnet 5

## Japanese Translation: Claude Sonnet 5 は、プレミアム向けの Opus モデルに限定されていた高度な自律型機能を大幅に安価な価格で提供することで、AI のアクセシビリティにおいて大きな転換をもたらしました。これにより、性能格差は縮小しつつも、厳格な安全基準を維持しています。低廉なコストにもかかわらず、評価結果ではリスクのある行動が少ないことが示されており、Agent 型コンテキストにおいては Sonnet 4.6 よりも安全性が高く、開発などの危険なサイバーセキュリティタスクを実行する能力が限定的であるためデフォルトでサイバー防御機能が有効化されています。技術的な向上点には、初期コストを上げることなく処理効率を改善する新しいトークナイザーが含まれており、同じ入力が 1.0–1.35 倍多くのマッピングされたトークンに対応しますが、導入価格(入力/出力トークンあたり 2 ドル/10 ドル)を設定することでこの移行をほぼ費用対中立とします。2026 年 8 月 31 日以降には、標準的な価格(入力/出力トークンあたり 3 ドル/15 ドル)が適用されます。本モデルは、ブラウンフィールドコードの保守、多段階のソフトウェアエンジニアリング、法務調査など複雑なワークフローにおいて卓越したパフォーマンスを発揮します。チャット、Cowork、Claude Code、プラットフォーム全体におけるレート制限を引き上げることで、高度なエフォートレベルに伴う高いトークン利用量を対応可能です。最近のベンチマークスコアの見直しは、実際の品質低下を意味するものではなく、評価方法の更新によるものです。例えば、「コスト対性能チャート」の更新(変更ログ:2026 年 6 月 30 日)や、「Humanity's Last Exam」と OSWorld-Verified 評価におけるスコアの再計算は、標準的な手法を用いた実世界でのパフォーマンスをより正確に反映しています。Sonnet 5 は、無料プランからエンタープライズまでのすべてのサブスクリプションレベルで最適なデフォルト選択となり、広くユーザー層の即時かつ安全な導入を可能にします。

2026/07/01 0:44

Claude Code がリクエストに対してステガノグラフィーを用いて暗記している

## Japanese Translation: 地元の Claude Code バージョン 2.1.196 の最近の検査により、特定の条件下でシステムがデベロッパーのプロンプトに暗黙的に隠しデータを注入するセキュリティ慣行が発見されました。これは透明性の高い対策ではなく裏口を介したシグナルに依存することで信頼性を損ない、`ANTHROPIC_BASE_URL` が設定されており、かつシステムの時-zone が中国と一致するか、または特定の API ホスト名が検出された場合にのみコードがトリガーされます。これらの条件下で、プロンプトの句読点を改変—具体的には "Today's" のアポストロフィを、および日付の区切り文字を一括線からスラッシュに変更する—with 見えないユニコードマーカーを埋め込む。さらに、バインaries 内に base64 文字列として保存されたドメインおよびキーワードリスト(「DeepSeek」や「Zhipu」などの用語を含む)は XOR でデコードされ、潜在的な API リセラーまたはモデル蒸留攻撃を検出します。後端の脅威(無権限のプロキシなど)をブロックすることを意図されていますが、この論理はカスタムセットアップを使用する正当な開発者を懲罰し、AI に送信されるコンテキストに検出データを直接エンコードします。幸運にも、これらの特定の設定がないユーザーは変更を見ませんが、トリガー条件を満たす者はパッチが適用されるまで改変されたプロンプトを受けます。著者は、プロンプトの句読点にシグナルを隠すことは開発者の信頼を侵害し、セキュリティには明示的なポリシーに依存すべきだと主張しています。この機能をバイパスするのは、ホスト名の修正、時-zone の調整、またはバインりパッチ適用によって容易であると考えられています。

2026/07/01 6:29

脳波から単語へ:手術を必要としない新たなコミュニケーションの道筋

## Japanese Translation: 研究者らが、非侵襲的脳記録からリアルタイムでテキストへの変換を行えるエンドツーエンドの AI パイプライン「Brain2Qwerty v2」を公開しました。本システムは、磁気共鳴法(MEG)を用いて 10 時間にわたって 9 名の被験者から記録された約 2 万 2,000 の文を学習データとし、生信号に対してエンドツーエンドの深層学習を適用するとともに、ノイズの多い神経入力を活用するため到大規模言語モデルを微調整しています。一般化単語精度は 61% に達しており、これにより他の非侵襲的手法で一般的であった約 8% より著しく改善されました。最適な条件下では個人ごとの性能は最大 78% に向上し、すべての文の半分以上が 1 つ以下の子音エラーで復号化されました。パフォーマンスはデータ量に対して対数線形に拡張するため、規模拡大だけでもさらなる進歩が可能であることが示唆されます。v1 および v2 の完全な学習コードは、パートナー組織である BCBL よりも提供された v1 データセットとともに公開され、AI エージェントがパイプラインの最適化を支援し、最終的な構成はエンジニアによって手動で選択されました。この研究成果は、500 万ドル規模のデジタル・ブレイン・プロジェクトの一環として、Tribev2(知覚)、NeuralSet(拡張処理)、NeuralBench(評価)などとの並行して、オープンな基礎脳のモデルを推進しています。目的は、侵襲性脳プロスタネースと非侵襲的なアクセシビリティのギャップを埋め、脳病変の影響を受けた数百万人の患者に対してより迅速な診断・治療を可能にしつつ、孤立した研究活動を超えてオープン神経科学を進めることです。