一昨日の日曜日(9/5)に、クックパッドさんのオフィス提供による 『TFJ CodeCamp #2』 という1日開発合宿に行きまして、TwitterのOAuth認証を使ったサービスを初めて作ったんです。ユーザーのタイムラインを読んでいろいろやってくれるタイプのサービスを。で、実際OAuth認証するサービスを公開することを考えてみたんですが、どーにも無視できないリスクがありまして。

まず、TwitterのOAuth認証のアクセス権限レベルって、「全部のデータが読める」or「何でもできる」しかありません。今回のサービスはタイムラインさえ読めればいいのですが、OAuth認証としては全部のデータを読める要求しかできなくて、その認証をしてもらったならば、DM(Direct Message)も読み出し放題になっちゃうんですね。実際のDMの読み出しはとても簡単で、APIを1発ポンと呼び出すだけです。







コメント / トラックバック

コメント / トラックバック 8 件

  1. すずき より:


  2. akiyan より:

    だって にほんじん だもの
    にほん ほうじんも あるもの

  3. amachang より:


  4. nippondanji より:


    * I developed a service which utilize Twitter OAuth authorization though...

    The day before yesterday, Sep 5, I joined a one-day coding camp which was held at Cookpad's office. I used Twitter's OAuth as an authorization mechanism at the first time in order to develop a web service. The service makes use of users' timelines and does some work. Then, I realised that there could be a nontrivial security risk when I was about to reveal it.

    Firstly, Twitter's OAuth provides all-or-nothing privileges, which is "I can access user's all data" or "I cannot access user's data at all". It's sufficient to access timelines for this service, however, the service can access user's all data including even direct messages, because the service gets authorized using OAuth. Reading user's direct messages is very easy; it can accomplished by only one API call.

    * I don't want to access DMs

    Of course, I will not read such direct messages, but I will become the man who can access someone's DMs once a user gets authorized via OAuth. Then, users may suspect that "the service provider accesses my private direct messages!" no matter how I insist I'm innocent! Furthermore, if by any chance the OAuth information is stolen by a malicious person, it would be abused. (Of course, we should defend the latter case, but it's costly)

    * Separate access privileges!

    If all what I can access is user's timelines when gets authorized via OAuth, I do not have to worry about such a risk at all. So, I really hope Twitter OAuth will be separated to some parts in order to make access control more flexible.

    I write this entry, because I really think it's an inevitable security risk. Twitter, please fix it!

    Best regards!

  5. so より:


  6. akiyan より:


  7. akiyan より:


  8. [...] 神奈川県警・瀬谷警察署 マスコットキャラクター なんだこれ(^ω^; Twitterさん、OAuthのアクセス権限の細分化を! : [...]