Parallax Image

Cutls Code Archives


SNZ 2016

Tootdonが勝手にデータ取ってる?冗談でしょ

カテゴリ:Mastodon, Mobile 投稿日:2019年5月31日

こんにちはCutls Pです。少し前PleromaにApplication blocklist #944が現れました。このIssueの中ではTootdonが名指しで告発されています。

Tootdon公式がトゥートする事態になったのはこのブログが震源ですが、残念ながらTootdonはこれを「ビジネスモデルの不明瞭さ」が問題であると解釈したトゥートをしています。この記事にそのようなことを指摘する意図は全くありません。

今回は、Tootdonのアクセストークン勝手に引っ張って通知送ってる疑惑については放置して、Tootdon内のトゥート検索が完全にブラックボックスになっている件について見ていきます。

今回検証のためにわざわざ更のインスタンスを1つ建てました。建てたところなので一切連合していません。

このインスタンスは誰にも知られていないため、ここに「テスト」とトゥートしてもTootdonの検索には引っ掛かりません。

じゃあ、ここにTootdonからログインしてテスト2とトゥートしてみます。

そしてしばらくしてからまた検索をかけてみます。のその前に

さきほどのトゥートをTootdonからふぁぼしてみましょう。果たして検索結果は…

どちらもリストアップされてしまいました。

また、同様に「test5」「test6」をTootdon以外からトゥートします。そして、「test6」だけTootdonでふぁぼしてみます。

そして「test」で検索

なんということでしょう(白目)

以上から、Tootdonはユーザーのトゥートやふぁぼなどのアクションに合わせてTootdonの検索サーバーに送信していることがわかります。

この説を裏付けるためにもう一つ、Tootdonを利用したときのパケットキャプチャを取ってみました。

自分のサーバーのIPアドレスは「34.97.156.146」です。よって最初の行は理解できます。さて、の0.2秒後に発せられている大量のリクエストは…

このIPアドレスにアクセスしてみます。

セキュリティエラーはともかく、このIPアドレスはTootdonのものであるということが証明書のデータからわかります。アクションの後のリクエストなので、もしかしたらこれが検索サーバーかと疑ってしまいます。

さて、このIPアドレス、Amazon Web ServicesのEC2だと思われますが、リージョンがアメリカとなっています。(us-west-2)

つまり、この説が正しい場合、あなたのトゥート情報はアメリカに渡っていることになります。

そして検索時のパケットキャプチャも

おいなんだこのもろバレのリクエストは

Google Suggest APIです。非HTTPSのヤバいAPIです。ちょっとスマホに仕込めばだれでも検索した文字列を取得できてしまいます。現に私がしてます。

あとは例のごとくtootdon.oooにアクセスしてますが、これもEC2 us-west-2でした。

(これをやってることはすでに公式も認めています)

結論:ヤバいね

コンテントワーニング:ここから筆者の主観です。以下に記述される内容は個人の主観的評価、表現の一貫であり、その他の意思はないことを断っておきます。

何が

  • 個人が検索サービスに引っ掛からないための防衛手段はない。使えば終わり。使われても終わり。←これが一番ヤバい
  • インスタンスが同様の防御手段を取ることは(Tootdonをブロックしない限り)不可能。鎖国も無駄。

まず、連合をトゥート検索エンジンに使うのに何ら問題はありません。「公開されたやりとり」なので。ただ、トゥートに対する(またはそれ自身の)アクション(トゥートするとか、ふぁぼるとか)を勝手にトリガーにして勝手に自分以外の人の情報を送信しているのです。これは、自分の主観では確実にオプトイン(デフォルトはオフで、オンにすることできる)にし、かつ人のデータは取らないようにすべき実装だと思います。だから私はこの記事を書いています。なぜなら、Tootdonユーザーは利用規約でどれだけでも縛れますが、Tootdonを使わないユーザーの情報を狙い撃ちして取得するのは公開トゥートしか収集していないといえどもおかしな話なのです。

また、一部インスタンスには「連合に流さない」を実装しています(Glitch-socなど)。これは、本来収集対象ではありませんが、API上は公開トゥートなのでTootdonはちゃんと収集します。よくない。

利用規約とプライバシーポリシーを見てみましょう。


ただし、当社は、本サービスの提供・維持・改善又は本アプリのプロモーションに必要な範囲において、ユーザーコンテンツ(特定のユーザーに送信したメッセージを除きます。)を複製、翻案、自動公衆送信及びそのために必要な送信可能化を、無償、無期限かつ地域非限定で行うことができるものとします。

Tootdon利用規約第8条2(抜粋)

つまり、煮ても焼いてもなんでもアリ。Mastodonは誰にでも開かれているものであるのは確かだけれど、複製して保存して、そのあと何されても文句は言えない。「翻案」は大筋を変えずにいじるってことで、第8条3により、著作者人格権は行使できないので、つまり、オリジナルへのリンク無しにパクられても、文句は言えない。

こんなことをクライアントアプリがやっちゃいけない。ほぼすべてのインスタンスの利用規約よりもずっと厳格なものを突き付けています。Twitterの利用規約 よりも著作権規定などの点では厳しい。クライアントアプリなのに。プラットフォームじゃないのに。

ちょっと前の記事で書いた通り、クライアントは「API経由で提供される情報を正確に表示する」アプリケーションであり、コンテンツのハブになるものでも、それがましてオープンソースマイクロブログのコンテンツ収集機構になるものでもないのです。