Twitter歴診断というTwitter連携サービスが「危険」だと騒がれている「その理由」について納得出来ないという話。


一応…。
私(この記事の筆者)は、「Twitter歴診断」の作者さんとは一切関係がありません

2013/11/15追記:
Twitterアカウントで認証することで

  • Twitterアカウント作成日
  • アカウント作成日からの経過日数
  • 片思い人数
  • 片思われ人数
  • ブロック済みアカウント数
  • お気に入りに登録しているツイート数

などを表示するウェブサービス「まいあかうんったー」を公開しました。
ぱ、ぱくりとかいわないで!

Twitter歴診断というTwitter連携サービスが「危険」だと話題になっているようです。
Twitter歴診断というサービスの安全性云々という話についてはあまり興味が無い事、安全性について言及するにはまだ情報が不足しているのでそれについては触れません。
そもそも、それは各々が判断するべき事だと思うので…。
ですが、それを「危険」だと騒いでいらっしゃる方々が、それを「危険」だと主張するその「理由」についてどうにも納得する事が出来ないのでそれについて書いてみます。

そもそも何故「Twitter歴診断」が「危険」だと騒がれだしたのか

Twitter歴診断について注意喚起なさっているNaverまとめを見つけたので、以下を参照頂きたいです。

【注意】「あなたのツイッター歴は○○日でした」アプリを認証すると必要以上の動作権限を渡してしまう

上記のまとめに含まれているツイートを読む限り、どうやら「必要以上の権限」、具体的には「プロフィールの更新」「新しくフォローする」といった権限が要求される事について、疑問や不安を抱いた方が非常に多い模様。

ですが、これ、Twitter連携アプリの開発者や、Twitterの開発者専用画面でコンシューマキーを取得した経験のある方なら、思わず苦笑いしてしまうような理由付けだと思うのです。
その理由については以下に書きます。

Twitterの仕様上、開発者が選択可能なアプリケーションタイプは三種類しか存在しない

さて、問題の「必要以上の権限を要求される」という件についてですが、Twitter歴診断の認証画面を開くと以下のような画面が表示されると思います。

twitterreki1

前述のまとめを見る限り「プロフィールを更新」に反応している方が多かったのですが、「プロフィールを更新」確かに許可される動作として含まれています。

ですが、このTwitterアプリの認証画面、そもそも3種類しか存在せず、メッセージそのものが非常にいい加減なものなのです。

と、いうのも…。
開発者がアプリケーションに設定出来る権限は三種類しかないのです。
開発者は以下のような画面でアプリケーションタイプを選択することで、ユーザのアカウントへアクセスする場合のアプリケーションの権限を選択するのですが、以下画像を見て頂ければわかるとおり、ここで選択可能なのは、Read only、Read and Write、Read,Write and Access direct messagesの3タイプのみです。

apptype

これらの3つのアプリケーションタイプにはそれぞれ非常に大まかに、ユーザのアカウントへのアクセス権限が割り当てられています。
具体的な例を以下に書きます。

Read only

Read only でアプリケーションに許可される権限の一例を挙げます。

  • 自身のツイートの取得
  • 自身がフォローしているユーザのつぶやきの取得
  • お気に入りの取得
  • ユーザプロフィールの取得

その他もろもろ、DMへのアクセス以外の「取得系」というか「読み込み系」の操作はRead onlyで許可されます。
ですが、Read onlyを選択したアプリケーションの認証画面は全て以下のような画面になります。
(※既にTwitterにログインしている場合、パスワードの入力欄は表示されないアプリケーションが多いとは思いますが。)

read only

実際にはRead onlyで様々な取得系の操作が可能であるにも関わらず、認証画面においては許可される動作として「タイムラインのツイートをみる」「ツイートしている人をみる」としか記載されていません。
要はここで表示される「許可される動作」というのは一例に過ぎないのです。

さて、次は、Read+Writeです。

Read and Write

Read and Writeでアプリケーションに許可される権限の一例を挙げます。

  • Read only で許可される権限全て
  • ツイートの投稿
  • プロフィールの更新
  • 新しいフォローの追加
  • ブロックの追加・解除
  • リツイートする
  • お気に入りの追加

その他もろもろ、DMへのアクセス以外の、TwitterAPIで可能な操作全てが許可されます。
Read and Writeを選択したアプリケーションの認証画面は全て以下のような画面になります。

read and write

実際にはRead and Writeで様々な取得系及び書き込み系の操作が可能であるにも関わらず〜(略

Read,Write and Access direct messages

Read,Write and Access direct messagesでアプリケーションに許可される権限の一例を挙げます。

  • Read only で許可される権限の全て
  • Read and Writeで許可される権限の全て
  • DMの取得・DMの送信・DMの削除等のDM関連の操作全般

要はDMへのアクセスを含めた、TwitterAPIで可能な操作全てが許可されます。

ちなみに「Twitterのパスワードを見る」とかはRead,Write and Access direct messagesを含む全てのアプリケーションタイプにおいて「不可能」です。

Twitter歴診断で問題になっている「プロフィールの更新」等について開発者が細かく選択・設定出来るものではない

上述の通り、TwitterAPIを利用したアプリケーションを開発する場合に開発者が選択可能なアプリケーションタイプは3つです。
それゆえに、アプリケーションから「ツイートの投稿」をしているTwitter歴診断は、Read and Write を選択しているでしょうし、「プロフィールの更新」うんたらを含む画面になってしまっているのは極自然な事です。
APIを利用した投稿ではなく、公式ツイートボタンで投稿させるようにすればReadのみでも良いかもしれませんが、それは開発者の好みもあるでしょう。

要求される権限(認証時に表示されるメッセージ)を理由に「危険」といってしまうのは早計

自動でツイートする感じのWEBサービスやアプリケーションは数多く存在しますし、それらのアプリケーションの許可画面も、Twitter歴診断と同じ画面が表示されていると思うのです。
にもかかわらず、なぜ「Twitter歴診断」が槍玉に挙がったのかと疑問に感じました。
他のアプリケーションの認証画面開いてそれを比較すれば、「プロフィールの更新」等のメッセージが表示されるのがTwitter歴診断だけでは無い事くらいは容易にわかりそうな事なのに…。

冒頭に書いたとおり、Twitter歴診断 の安全性については各々が判断すべき事だと思いますし、危険だと思うのであれば利用しなければ良いだけだとは思います。
ですが、「プロフィールの更新権限を要求される」といった事を理由に「危険」だと言ってしまうなら、Read and Writeを選択している数多くのTwitter連携WEBサービスやアプリケーションが「危険」という事になってしまうと思います。
少なくとも、認証時に表示されるメッセージに「プロフィールの更新」が含まれる事を理由に危険であると騒いでいるのなら、それは早計であると私は考えます。

不信感を抱く理由が「認証と同時にツイートが投稿される」「自動投稿されるツイートに含まれるURLが認証画面のURL」という点にあるなら、まあ話は別なのですけれど。
(気持ちが良い動作とは言いがたいですし。)

何故こういう記事を書くに至ったのか

実は、私が運営しているWEBサービスで、この認証画面の「プロフィールを更新」というメッセージを不審に感じていらっしゃる方を見つけて、ご説明を試みた事があります。
その結果、ご理解頂けず「実に理解していない事を露呈してくれたので」などと煽られたり、更には権限に対する「同意クレクレ君」呼ばわりまでされたことがあります。(詳細はこちら

また、私が運営しているサービスは、Twitterへの再認証を強要する仕様です。
それについて不信感を抱いた方が「○○を利用するともれなく乗っ取られる可能性が」的な注意喚起しているのを見つけた事があります。
いきなり犯罪者呼ばわりされている事に愕然としました。(詳細はこちら

そんな経験から、Twitter歴診断が危険だと騒がれている理由について「なんだかなー・・・」と思った次第です。

しつこいようですが「危険だと騒がれている理由に納得がいかない」というだけで、Twitter歴診断 が安全か否かは私の知るところではありません。
自身が「危険」だと判断したなら、「利用しない」とか、「連携を解除する」というのが一番だとは思います。

追記

はてブコメントや言及ツイートを見ていると誤解を受けているようなので。
本当にしつこいですが、この記事は、別にTwitter歴診断の安全性がどうとか言ってるつもりはありません。
少なくとも私は、どこの誰かわからない開発者が公開している、よく知りもしないwebサービスの安全性について言明するような無責任な事をするつもりはないですし、ユーザが各自判断すべきことだと思います。

が、認証時に表示される「プロフィールの更新」という動作が許可されるという部分だけをみて「危険」「必要以上の権限」だと騒いでいるのであればそれはちょっと・・・と。
「ツイートの投稿」という動作が許可される部分を問題視する声が多いようなら、特に疑問も感じませんでしたが「プロフィールの更新」に反応していらっしゃる方が多いように見受けたので、「それはツイートの投稿をしようとアプリケーションタイプを選択すれば…(略」という話です。
また、上述している事を繰り返しますが、不信感を抱く理由が「認証と同時にツイートが投稿される」「自動投稿されるツイートに含まれるURLが認証画面のURL」という点にあるならこれも話は別です。


まぁ。個人的には、Read onlyかRead and Writeなんてのは開発者の好みで良いと思っています。
認証(認可)と同時にツイートってのはあまり気分が良い動作とは思いませんし、その点について賛同する気はないですが、ユーザは要求される権限に納得出来ないのなら認可しなければ良いだけだと思うのです。気軽にホイホイとアプリを認可しちゃうユーザが、悪意を持った開発者によるアプリを認可する事によって何らかの被害を受けようと自業自得というか何というか。あと、そんなネタ系のアプリの安全性の担保を他者に求めるのも筋違いかと。

あと、この手のアプリケーションについて注意喚起している方が「パスワードの変更をお勧め!!!」みたいな事を仰ってるのをよく見かけますが、OAuthでアプリケーションを認可している場合はパスワードは関係無く、変更する意味がないです。
連携を解除」を推奨するのが妥当かと思います。

本題とは全く関係無いのですが…。

最近、FaceBookページなるものを作りました。
FaceBookアカウントをお持ちの方、「いいね!」お願いします。

https://www.facebook.com/pages/Otapps/139206486278982

追記

この記事の「何故こういう記事を書くに至ったのか」でも挙げている、
「プロフィールの更新」がどうとかで説明を試みたにも関わらず、『ご理解頂けず「実に理解していない事を露呈してくれたので」などと煽られたり、更には権限に対する「同意クレクレ君」呼ばわりまでしていらっしゃった』Chamiu_ITさんがこの記事に対して、「答え」と称して記事を書いていらっしゃったので、ソレについて新ためて個人的な見解を新たに書いています。
大分前に書いた記事に対する反応を見つけたので・・・。TwitterAPIのアクセス権及び、ユーザへの説明(?)がどうとかいう話です。

スポンサード リンク

公開日:2013年07月03日
タグ: