吉米丘 台北
14.1K posts

吉米丘 台北
@jcms
進入請小心,先荷包有夠深... 歡迎加入https://t.co/Eyedn6Fmx4

【注意喚起】音声入力アプリ「Typeless」をリバースエンジニアリングした結果、かなり深刻なプライバシーリスクが見つかったので共有します。 ■ 結論から Typelessは「On-device history」「Zero data retention」を謳っていますが、実際にはすべての音声データがAWS(米国オハイオ)のサーバーに送信されて処理されています。ローカルの音声認識モデルは一切入っていません。 それだけなら「クラウドSTTサービス」として普通ですが、問題は音声以外に収集しているデータの範囲です。 ■ 何を調べたか macOS上でTypeless v0.9.3のバイナリ解析、ネットワーク通信調査、ローカルDB解析、ネイティブライブラリの文字列解析を実施しました。 ■ 確認された事実 1. 音声処理は100%クラウド アプリ内にWhisper等のSTTモデルは存在せず、音声はOpusで圧縮後、WebSocket(wss://api.typeless.com/ws/rt_voice_flow)経由でAWS us-east-2のサーバーにリアルタイム送信されます。 api.typeless.com → …565501648.us-east-2.elb.amazonaws.com 公式プライバシーポリシーにも「processed in real time on our cloud servers」と書いてあるので嘘ではないのですが、マーケティングの「On-device」という表現は履歴保存に限定されており、かなりミスリーディングです。 2. 音声以外にも広範なデータを収集 ローカルのSQLiteデータベースとネイティブライブラリの解析で、以下のデータ収集を確認しました: ・ 閲覧中のWebサイトの完全URL(Gmail、Google Docs等も記録) ・ フォーカス中のアプリ名、ウィンドウタイトル ・ 画面上のテキスト(アクセシビリティAPIで再帰的に収集する「collectVisibleTexts」関数) ・ クリップボードの読み書き(パスワードマネージャのTransientTypeも処理可能) ・ CGEventTapによるシステムレベルのキーボード入力監視 ・ ブラウザのDOM要素情報(Safari, Chrome, Edge, Firefox, Brave対応) ・ ユーザーがテキストを編集した内容(TrackEditTextService → sendTrackResultToServer) 3. ローカルDBに個人情報が平文保存 typeless.dbに音声認識結果のテキスト、閲覧URL、アプリ情報が平文で保存されています。「Zero data retention」を謳いながら、ローカルには全て残っています。音声ファイル(.ogg)も削除されずに残存。 4. 過剰な権限要求 音声入力ツールなのに、マイクに加えて画面録画、カメラ、Bluetooth、アクセシビリティの権限を要求します。スクリーンショット機能も内蔵されています。 5. 会社の透明性がほぼゼロ ・ 利用規約・プライバシーポリシーに法人名の記載なし ・ 所在地は「サンフランシスコ郡、CA」(利用規約の管轄地のみ) ・ WHOISは非公開(GoDaddy + Cloudflare) ・ SOC2、ISO27001等のセキュリティ監査の記載なし ・ 連絡先は hello@typeless.com のみ ■ 技術的な根拠(再現可能) 以下のコマンドで誰でも確認できます: # ネットワーク通信先 nslookup api.typeless.com # app.asar内のAPI URL strings /Applications/Typeless.app/Contents/Resources/app.asar | grep "api.typeless.com" # WebSocket通信プロトコル strings /Applications/Typeless.app/Contents/Resources/app.asar | grep "rt_voice_flow" # キーボード監視のネイティブライブラリ strings /Applications/Typeless.app/Contents/Resources/lib/keyboard-helper/build/libKeyboardHelper.dylib | grep -i "key pressed" # 画面テキスト収集 strings /Applications/Typeless.app/Contents/Resources/lib/context-helper/build/libContextHelper.dylib | grep -i "collectVisibleTexts" # ローカルDBの中身 sqlite3 ~/Library/Application\ Support/Typeless/typeless.db ".schema history" ■ 何がまずいのか CGEventTap(キーボード監視) + アクセシビリティAPI(画面テキスト収集) + クリップボードアクセス。この3つの組み合わせは技術的にキーロガーと同等の能力を持ちます。 これを運営法人が不明なサービスに許可しているということです。 音声入力の精度向上のためにコンテキスト(使用中のアプリや入力フィールドの情報)を取得すること自体は合理的な設計です。しかし、それをクラウドに送信する場合、運営の信頼性とセキュリティ体制が問われます。法人名すら公開していない会社にその信頼を置けるかは、各自で判断してください。 ■ 代替手段 完全ローカルで動作する音声入力ツールは存在します: ・ Whisper.cpp / MLX Whisper(OSS、完全ローカル、無料) ・ macOS標準の音声入力(Apple Silicon上でオンデバイス処理) ・ Superwhisper(Whisperベース、Mac向け、ただし要検証) ■ まとめ ・ Typelessの音声認識は100%クラウド処理(ローカルモデルなし) ・ 音声以外にも画面テキスト・URL・キーボード入力を収集可能な技術基盤 ・ 運営法人が不透明(法人名・所在地の公開なし) ・ セキュリティ監査の証拠なし 利用中の方はリスクを認識した上で判断してください。少なくともLittle Snitch等でネットワーク通信を監視することを推奨します。 #typeless











