2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TwitterBotにはユーザ名エスケープが必要

Posted at

起きたこと

・Twitterボットが突然凍結された

凍結理由

・個人情報を含む情報を発言した、とのこと

原因

・住所をユーザー名としているユーザーに、ユーザー名込みでリプライを飛ばした。

運用しているBotには、Twitterユーザー名を引用して挨拶を返す機能がある。
「~さん、おはよう」的なやつ。

今回は、そのユーザー名が「○○県○○市○○999-91」という名前だった。

対応

・ひとまず自分が持っているアカウント全てで対象ユーザーをブロック。

根本対応、今後の教訓

・ユーザー名を引用するときは、エスケープ処理が必要。

・住所らしき文字列をはじく。
⇒郵便番号と、○○[都道府県]○○市くらいまでは弾く必要がありそう。

・メールアドレスっぽい名前と、電話番号も怪しい。
⇒「nnnn@nnnn.nnn」と「999-9999-9999」のパターン

感想

該当のTwitterBotは、学生の頃からずっと動いてるやつ。
(GAE+python2.7)
特に便利機能を持ってた業務アカウントでもなく、当時ハマってたゲームのキャラクターbotである。
キャラクターごとに何個かアカウントがあったのだが
悲しいことにそれぞれログインして、ブロック作業をする必要があった。

なお、このbotを制作してた当時はuserStreamが出てまなしくらいの時代で、
しょっちゅうpost制限とかかかるためにサブ垢複数持ってるのが当たり前、なんて時代だった。

該当のユーザー名(ていうか住所)でググってみると
特定の界隈ではなんか有名なヤバイやつが住んでる住所らしい。
必ずしも本人とはわからないけども。

愉快犯なのかこうなることを知らずにやってるのかはわからないけど
ほんと困る出来事だった。

まさか運用開始から9年近くたって、こんなユーザーが現れるとは。

とはいえ、TwitterBotを開発するときに、気を付けないといけないポイントがわかったのはありがたい教訓である。

しかしながらTwitterさん、ユーザー名に自ら住所を設定するやつは
そもそも入力チェックで弾くべきではないですかね…。

  1. 掲載にあたり伏せているが、実在する住所
    これが、Twitter社のおそらく自動検知プログラムで、許可がない個人情報の暴露として誤検知された模様。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?