teratailが提供するteratail APIにおいて、teratailアカウントに連携しているSNSの情報(種類およびプロフィールURL)が、公開/非公開の設定によらず取得可能な状態にあったことが判明いたしました。
現在システムの修正は完了しております。
ユーザーの皆様へ多大なご迷惑とご心配をおかけする事態となりましたこと、深くお詫び申し上げます。
今回の問題に関する詳細について、以下の通りご報告いたします。
概要
2015年6月より提供しているteratail APIは、サービスの利用規約に基づいて誰でも無料で利用することができ、これを使うことでteratailユーザー様の公開データにアクセスすることが可能です。
このteratail APIにおいて、teratailアカウントに連携しているSNSの情報(種類およびプロフィールURL)が、公開/非公開の設定によらず取得可能な状態になっておりました。
2019年10月7日に「連携したSNSアカウントが非公開設定にも関わらず取得できる」というご指摘がユーザー様から寄せられたため確認したところ、今回の問題が判明いたしました。
設定内容によらず取得可能だった情報
- teratailアカウントに連携しているSNSの種類(※1)およびそのプロフィールURL。
SNSアカウントを使用してteratailに登録/ログインしたことがある場合は、連携状態となっております。
※1…Facebook、Twitter、Google、GitHub、Hatena、Qiitaの6種類
影響範囲
- 一時的にでも非公開情報が第三者から取得可能な状態にあった可能性のあるアカウント: 約83,000
- 上記のうち、2017年以降のアクセスログを解析した結果、実際にユーザー名を指定してAPI利用があったと思われるアカウント: 約81,800
対応状況
2019年10月8日16:00頃、システムの修正を完了しました。
また、過去にteratail APIのアクセストークンを利用したことがあるユーザー様に向けて、メールにて取得済み情報の削除を依頼いたしました。
原因
データベースからユーザー情報を取得する際の抽出条件に不備がありました。
再発防止策
- システム構築の際、複数人での十分な仕様確認、動作確認を徹底いたします。
- APIに関してテストの自動化を行い、持続的な品質チェックの仕組みを構築いたします。
今回の問題に関する詳細について、現在も調査を継続しております。
新たに判明した事実があれば、随意ご報告させていただきます。