- Bluetooth信号を分析して周囲のスマートグラスを検知し、警告を表示するAndroidアプリで、Meta Ray-BanやSnap Spectaclesのような機器を識別する
- BLE広告パケットのメーカーIDコード(例: Meta、Luxottica、Snap)に基づいて検知し、VRヘッドセットなどによる誤検知の可能性がある
- アプリは個人情報を収集せず、広告やリモート送信機能もない。ログはユーザーが直接エクスポートするときにのみ保存される
- RSSIしきい値設定、ログ出力、メーカーID手動入力、多言語対応など、さまざまなユーザー設定機能を提供
- 開発者はスマートグラスをプライバシーを侵害する技術と見なしており、このアプリを通じてユーザーが周囲の環境を認識し、注意できるようにしている
プロジェクト概要
- Nearby Glassesは周囲のスマートグラスを検知し、ユーザーに通知を提供するAndroidアプリ
- BLE(Bluetooth Low Energy)信号の**メーカー識別コード(Company ID)**を使って、Meta、Luxottica、Snapなどの機器を検知
- VRヘッドセットなど同一メーカーの別機器による誤検知の可能性がある
- アプリは無料でソースコードも公開されているが、非商用利用のみを許可するPolyForm Noncommercial License 1.0.0に従う
- 個人情報収集、広告、リモート通信は一切なく、ログはローカルにのみ保存され、ユーザーが直接エクスポートできる
警告と法的注意
- スマートグラス着用者を嫌がらせしたり問い詰めたりする行為は犯罪になる可能性がある
- アプリの警告を根拠に他人を攻撃したり嫌がらせしたりしないよう明記
- ユーザーは法的責任を自ら負う必要があり、アプリ制作者は責任を負わない
- BLE検知の限界により誤検知または未検知が発生しうるため、警告メッセージに即座に反応せず、慎重に判断する必要がある
動機と背景
- 開発者はスマートグラスをプライバシーを侵害し、同意なしの撮影を可能にする道具と認識している
- 一部製品では録画中であることを知らせるLED表示を無効化できる
- 顔認識機能を搭載した事例が報告されており、個人の安全への脅威になると述べている
- 関連事例としてMeta Ray-Banを利用した違法撮影や人権侵害の報道リンクを示している
技術的な実装方式
- BLEのランダムMACアドレスと不安定なUUIDにより、単純なビーコンスキャンは不可能
- 代わりに**Bluetooth SIGのメーカーコード(Company ID)**を活用して検知する
- 例示コード:
0x01AB Meta Platforms, Inc.
0x058E Meta Platforms Technologies, LLC
0x0D53 Luxottica Group S.p.A
0x03C2 Snapchat, Inc.
- **RSSI(受信信号強度)**を基準に近接の有無を判断
- デフォルトのしきい値は**-75 dBm**で、およそ10〜15m(屋内3〜10m)の距離
- RSSIは送信出力、障害物、人体吸収、反射などによって変化する
- Foreground Serviceを使って、バックグラウンドでも継続的に検知可能
主な機能
- スマートグラス検知時に通知を表示し、信号強度に基づく距離推定を行う
- デバッグログ出力およびエクスポート機能、上級ユーザー向け設定を提供
- ユーザー定義のメーカーID入力により、検知対象を拡張可能
- 通知クールダウン時間(デフォルト10秒)、ログ長、BLE ADV専用表示などの詳細設定に対応
- 英語、ドイツ語、スイスドイツ語、フランス語などの多言語対応
使い方
- GitHub ReleasesまたはGoogle Playからインストールして実行
- Start Scanningボタンで検知を開始。Bluetoothおよび付近のデバイスへのアクセス権限が必要
- RSSIしきい値、通知設定、ログ表示、デバッグモードなどをメニューから調整可能
- 検知時には通知が表示され、Stop Scanningで停止できる
- ログはテキストファイルとしてエクスポートまたはコピー可能
今後の計画(Todos)
- 実環境でのテスト完了、Google Play登録完了
- 誤検知デバイスの無視リスト機能および**「警告なし」モード(カナリアモード)**を追加予定
- 追加のメーカーID登録およびiOS版開発を検討
- BLEトラフィック分析による精度向上の研究を計画
- Google Pixel端末のUI問題修正完了(バージョン1.0.3時点)
ライセンスとクレジット
- アイコン出典: Freepik制作のEyeglassアイコン(Flaticon)
- ライセンス: PolyForm Noncommercial License 1.0.0
- 開発言語: Kotlin 100%
1件のコメント
Hacker News のコメント
ボルチモアの人通りの多い場所で動かしたが、近くにスマートグラスをかけた人はおらず、検出もなかった
その代わり周囲に Bluetooth デバイス が多くて、デバッグログがものすごい勢いで流れていた
Scan Start ボタンは「中止」に切り替わらないが、トグル自体は動いているようだ
上部バーが通知領域と重なり、下部は自分の 3ボタン ジェスチャーバー のせいで少し切れていた
最初に権限を許可したときアプリが固まって、再起動が必要だった。権限を全部与えても設定は開かなかった
初回起動時にはヘッドセットが接続されていたが、権限要求のあと切断されたようだった
デバッグログにも何も出なかった。それでもアイデアは気に入ったので、更新されたらまた試すつもり
Google Play より F-Droid のほうが合っていそうなプロジェクトだ
パーソナルエリアネットワークはまだ整っておらず、進化の過程は苦しいが、誰かはそこから利益を得るだろう
顔の代わりに Laughing Man ロゴ が表示される場面を想像すると、かなり面白かった
なので自分の XReal は認識されない。カメラのない最後の世代になりそうだったので、あえてそれを買った
もちろん XReal Eye のような外付けカメラを付ければ撮影もできるだろうが、自分は使っていない
ただ、耳元から USB ケーブルが垂れているので、それだけでも十分に怪しく見えるかもしれない
一般の人たちの間では 「スマートグラス」着用者への拒否感 がさらに強い可能性があるということだ
「近くの変態検知器」という冗談もあったし、「Nearby Glassholes」に改名しようという提案もあった
公共の場でこうしたグラスで人を撮影するなら 殴られる覚悟 をしておくべきだ、という話まで出ていた
BT/BTLE フィンガープリント データベース がもっと精密になればいいのにと思う。
各デバイスやチップセットごとに微妙な違いがあるはずで、誤検出 を減らすのに使えそうだ
README の識別子リンクは相対パスになっていて壊れていたが、下が正しい URL だ
Bluetooth SIG company_identifiers.yaml
GitHub に置かれているのでオープンソースだと誤解されかねないが、
Polyform は 非商用利用の境界が曖昧 という点で CC ライセンスと似た問題を抱えている
LICENSE ファイル
Polyform 公式サイト
街頭監視カメラ、警察の装備、スマートフォンのカメラ、ドローン まで加えたら、
完璧な 偏執的警報システム になりそうだ
スマートグラス着用者 にはすでに悪い評判がある。それが正当かどうかは疑わしい
AI グラスが普及したときに生じる社会的問題 をあぶり出す役割もある
自分も最近、AI 機能が追加されたグラスブランド をやめて普通のモデルに替えた。
自分なりの 不参加表明 だった
https://julianoliver.com/projects/glasshole/