開発

iOS端末の指紋情報を可視化するLoupeが公開

Mysk ResearchがiOS/iPadOS向けLoupeを公開。公開APIから取得可能なデバイス情報を3段階で分類し、アプリによるフィンガープリンティングの実態を可視化する。

6分で読める SINGULISM 編集チームが確認・編集

iOS端末の指紋情報を可視化するLoupeが公開
Photo by Bagus Hernawan on Unsplash

セキュリティ研究チームMyskが、iOSおよびiPadOS端末が公開APIを通じてどの程度の情報を第三者アプリに提供しているかを可視化するオープンソースアプリ「Loupe」を公開した。GitHub上でソースコードが公開されており、利用者は自身の端末から取得可能な生のデータを直接確認できる。

Loupeは、アプリが端末を識別するために利用可能な情報を「パッシブ」「許可が必要」「アドバンスト」の3つのティアに分類して表示する。トラッカーは名前やメールアドレス、位置情報がなくとも、これらの情報を組み合わせることでデバイスフィンガープリントを生成し、アプリやWebサイトをまたいでユーザーを追跡できる。

フィンガープリンティングの仕組み

デバイスフィンガープリンティングは、ブラウザのフィンガープリンティングと同様の原理で動作する。アプリは端末のロケール、タイムゾーン、画面解像度、バッテリー状態など、iOSの公開APIから取得できる数十のパラメータを読み取る。単一のパラメータだけでは端末を特定できないが、数十のパラメータを組み合わせると、他の端末と区別できる独自の指紋が形成される。

Loupeはこれらの情報をハッシュや集約を一切行わず、生の値のまま表示する。アプリ内で表示されたデータは端末外に送信されず、ユーザーが明示的にエクスポート操作を行わない限り、外部へ漏洩することはない。

3つのティア

Loupeは情報の種類を取得コストに基づいて3段階に分類している。この分類は、プライバシーリスクの評価に役立つ視点を提供する。

第1のティアは「パッシブ」で、アプリがユーザーの許可を一切必要とせずに取得できる情報群を指す。具体的には、ロケール設定、タイムゾーン、画面解像度、バッテリー残量や充電状態などが該当する。これらはiOSのパーミッションシステムの対象外であり、インストールされたすべてのアプリが無条件で読み取り可能だ。

第2のティアは「許可が必要」で、連絡先、写真、位置情報、カレンダーなど、iOSのプロンプトを通じてユーザーの明示的な許可が求められる情報を扱う。これらの情報にアクセスするには、アプリは適切な權限を宣言し、ユーザーが許可を与える必要がある。

第3のティアは「アドバンスト」で、公開APIの巧妙なサイドチャネル利用によって取得可能な情報を含む。具体例として、canOpenURLを使ったURLスキームプロービングや、アプリ再インストール後もデータが残るKeychainの永続性などが挙げられる。これらの手法は、Appleのプライバシーガイドラインの意図しない抜け道を利用したものだ。

開発における特記事項

Loupeのソースコードはほぼ全面的にAIコーディングツールによって生成された。この点は、AIによるコード生成が現実のツール開発にどの程度活用できるかを示す事例としても注目に値する。

ビルドにはXcode 26以降が必要で、プロジェクトはXcodeのビルダブルフォルダ(フォルダ参照)を採用している。この方式により、新しいSwiftファイルをプロジェクトファイルの編集なしで自動的に認識する。

macOS向けのビルドも可能だが、完全に洗練された状態には至っておらず、いくつかの機能は未完成だ。ライセンスはMITライセンスで、アプリ名やロゴなどのデザイン資産はMyskが著作権を保持する。

プライバシー意識向上の意義

Loupeの目的は、ユーザーが自身の端末からどのような情報が外部に漏れ得るのかを理解するための教育的なツールとして機能することにある。iOSはプライバシー保護を強く打ち出すプラットフォームだが、パーミッションシステムの対象外となる情報は少なくない。

MyskはLoupeの他にも、プライバシー重視のブラウザPsyloを提供している。Psyloはプロキシベースのブラウジング、分離されたタブ、反フィンガープリンティング保護を備えており、Loupeの公開目的と一貫性を持つ。

編集部の見解

短期的には、LoupeはiOSアプリ開発者コミュニティに、自社アプリがどの程度のデバイス情報を収集しているかを再認識させる契機となるだろう。特にパッシブティアに分類される情報群は、これまで軽視されがちだった領域であり、プライバシーレビューの基準を見直す材料になり得る。また、AIによるコード生成で実用ツールが構築可能であることを示した点も、開発手法の多様化に寄与する。 中長期的には、このような可視化ツールの普及がApple自身のAPI設計に影響を及ぼす可能性がある。iOSは従来、パーミッションの有無で情報アクセスを二分するモデルを採用してきたが、Loupeの分類が示すように、グレーゾーンが存在する。将来的には、パッシブに取得可能な情報であっても、アプリがその情報をフィンガープリンティング目的で使用する場合の開示義務や、新たなパーミッション区分の導入が議論されるかもしれない。 問われるのは、プラットフォーム側の対策とユーザー自身のリテラシーのバランスだ。Loupeはユーザーに「見える化」を提供するが、その知識をどう行動に移すかは個々の判断に委ねられる。

参考

  • Lobsters — 2026-06-21T21:01:35.000Z公開

よくある質問

Loupeを実行しても端末から情報が外部に漏れることはないのか
ない。Loupeは取得したデータを端末内での表示のみに使用し、外部サーバーへのアップロードや同期は一切行わない。ユーザーが明示的にエクスポート操作をしない限り、データが端末外に出ることはない。
このアプリは一般ユーザーが使うものか、それとも開発者向けか
どちらの用途にも適している。一般ユーザーは自身の端末がどの程度の情報を公開しているかを視覚的に確認できる。開発者は自社アプリのプライバシー影響を評価する際の参考にできる。ただし、Xcode 26以降でのビルドが必要であり、一般ユーザーがApp Storeから入手できる形態ではない点に注意が必要だ。
パッシブティアの情報だけで、本当に端末を特定できるのか
理論的には可能だ。単一のパラメータ(例えばタイムゾーンだけ)では識別できないが、タイムゾーン、ロケール、画面解像度、バッテリー状態、インストール済みフォント情報など数十のパラメータを組み合わせると、他の端末と区別できるフィンガープリントが生成される。研究では、こうした情報の組み合わせだけで高い精度で端末を再識別できることが示されている。 ## 参考 - [loupe: A privacy-focused iOS app that raises awareness about what native apps can see](https://github.com/mysk-research/loupe) — 2026-06-21公開
出典: Lobsters

コメント

← トップへ戻る