Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

BLE pairing on boards without a button accepts any phone for 60 s after every boot

オープン
#18 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust

調査の方向性

Read boards/esp/src/ble/lifecycle.rs and boards/esp/src/ble/transport.rs, then review the WiCAN profile at hardware-profiles/meatpi-wican-esp32c3.toml and the pairing guidance in docs/ble.md. Decide how pairing should be gated and authenticated across supported hardware, and check the setup wizard issue at OpenCarControls/contracts#10. Done means strangers cannot bond during a normal reboot and the pairing flow is documented.

索引モデルが issue の本文から書いたものです。

説明

Problem

  • When pairing_button_pin isn't set (the WiCAN profile sets it to -1, in hardware-profiles/meatpi-wican-esp32c3.toml:32), ble_lifecycle_task opens the pairing window for pairing_window_seconds (60 s) on every boot (boards/esp/src/ble/lifecycle.rs:91).
  • Pairing uses IoCapabilities::NoInputNoOutput (boards/esp/src/ble/transport.rs:173). That's Just Works pairing: unauthenticated, with no MITM protection and no user confirmation.
  • So any phone in range after a reboot, watchdog reset or brownout can bond, and bonded phones are trusted from then on.
  • docs/ble.md doesn't describe the automatic opening on boot yet.

Impact
Low while v1 is read-only: someone can read the car's state. It must be fixed before E-GMP commands are enabled, because then a bonded phone can control the car.

Ideas

  • Open the window at boot only while no phone is bonded (first setup), and require a deliberate action after that: a bonded phone's command, or a physical action such as unplugging and replugging the device a set number of times.
  • Use authenticated pairing (passkey or numeric comparison) where the hardware allows it, e.g. a code shown in the app and confirmed with a pattern on the device's LED.
  • Cover this in the setup wizard (https://github.com/OpenCarControls/contracts/issues/10).
  • Document the behaviour in docs/ble.md.

Done when
A stranger near the car can't bond during a normal reboot, and the pairing flow is documented.

From the audit
主要言語
Rust
スター
1
フォーク
0
平均マージ
25分
マージ済み PR(30日)
1

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OpenCarControls/firmware のほかの issue

OpenCarControls/firmware の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。