「スクリプト」タグアーカイブ

詐欺業者に毎秒28回電話を掛け続けるスクリプトで反撃したエンジニア

国税局を名乗った詐欺業者からの「あなたに脱税の疑いがあり、取り締まりの対象となっているので電話をしてださい」という留守電メッセージ電話を受け取ったセキュリティ開発者が、その後に取った反撃を記録し、動画公開して話題となっています。

IRS(アメリカ国税局)のフリをした留守電メッセージを聴いたこの匿名のセキュリティ開発者は、まずは指定の番号に掛けてます。

電話に出てきた「IRSの」女性は、強い訛りで長々と、原稿を読み上げるように、彼の過去数年にわたる納税に関する間違い、当局が今にも家宅捜索し免許証・動産・銀行口座などすべて差し押さえられること、未払い税の総額、などについて告げます(00:08~01:39)。途中かなり”BS(たわごと)だ”として録音を飛ばしているのですが、それでも長い。

彼が未払いの税の支払いに(もちろんフリで)同意すると、使っている銀行名を訊かれ、相手は上司らしい男性に替わります。男性が「あなたの銀行はあなたが政府とトラブルを起こしていることをまだ知らない。トラブルについて知られると口座が凍結されて引き出せなくなってしまう。まず現金を引き出しなさい」と言うあたりまで聴いて、もう十分だと(詐欺であることは間違いないと)思った彼は電話を切りました。

セキュリティ開発者である彼はもちろんこんなヨタ話に騙されないのですが、他にも多くの人がこのメッセージを受け取っていること、その中には信じて言われるがままに言われたところへ送金してしまう人がいるだろうことを想像し、この詐欺業者を懲らしめることを考えたようです(02:14)。

# 実際、ウィスコンシン州でこの手の詐欺に$600(6万7416円)0 払ってしまった人がニュースになっています。業者も引っかかる人がいないと続けてないでしょうから、一定数の人は騙されているのでしょうね

彼が書いたスクリプトは、複数の電話番号からこの業者の番号に掛けて、以下のようなメッセージを喋るというもの(02:24)。

ハロー。あなたは詐欺業者であると検出しました。そのため、私たちはこの回線を溢れさせることでこれ以上の詐欺電話を掛けられないようにしています。

02:34 からは、このスクリプトが掛けた電話をモニタした様子です。「はい、こちらIRSの…」と出た相手は、上の自動メッセージを聴かされ続けて、「ああ、また『検出』だ」とか、「お前の名前は?」とか、あきれて歌を歌い始めたり、そのうち、ヒンディー語で悪態をつきはじめます(YouTubeのコメント欄に翻訳あり)。「ああ、これ10-15ぐらいの違う番号から掛かってきてるぞ」というのも。

第一弾の動画が100万回以上再生されたのを受けて、同メイフェムプロジェクトは他のツールも作成し、詐欺業者に対して使用しています。

こちらは、警告文の代わりに「ハロー」を、いろいろな種類の声や速さで言わせるというもの。毎回違う人に聴こえるので、本当に騙されて掛けている人かどうかを知るためには切らずに聴き続ける必要があります。少し時間を置いて、いつもの合成音声で「私は交渉に来た。私は次も、その次も、その次も、詐欺業者を回線から取り除くまで…」と話し続けます。

国税局ではなく、Windowsのライセンス更新でお金を振り込ませる、という別の詐欺業者へも同ツールを使って攻撃しています

スクリプトの内容

スクリプト自身は公開されていないのですが(悪用も簡単ですからでしょうか)、画面に映ったスクリプトからか、動作からの推測か、同じように動くスクリプトを再現してGitHubで公開した人も現れました。

スクリプトはC#で書かれており、電話を掛けるのはTwilioのAPIを使っています。なお、今回のような利用はTwilioの利用規約違反です。

複数の電話番号をTwilioで取得し、それをセットすることで多数の異なる番号から相手に掛けるようにしています。Twilio APIで電話を掛けるのはタダではないので、このエンジニアの行動にもそれなりにコストが掛かっているようで、寄付を募るページをPatreonというサイトで開いています。

自力救済問題

たとえ相手が詐欺を行っていたとしても、電話を掛け続けて回線を使えなくするのは別の犯罪なように思います。この開発者が名前を明かさず、寄付もBitcoin経由で受け付けているあたり、やっている方もわかっているのだと思いますが。動画があっというまにバイラルで広まり、この彼をヒーローだと評するコメントも多数集まっているのは、普段こういった詐欺的なメッセージに悩まされたり時間を取らされたりしている人が多いことの現れかもしれません。

京都府警が詐欺グループの電話番号に対して同様の攻撃を掛けた、というのが先月NHKニュースで報じられていた(記事は消えているのではてなブックマーク)ので、相手が悪いとわかってるなら構わない、とか、警察がやるなら構わない、とか、人によって意見がわかれるところなのかもしれないですね。

via BGR

自動化スクリプトで営業員に52時間分の研修をパスさせていたスタートアップ Zenefits

[追記 2016-02-27] 不祥事を受けて交替した新CEOが、250人のレイオフを発表した、という続報がありました。「速すぎた成長により、企業文化と統制についてたがが緩んでいた」「企業文化をリセットする」ということです。

Zenefits は、企業向けの労務管理システムを無料で提供して急成長してきた、アメリカのスタートアップです。

この会社は、給与支払い、健康保険や交通費管理、出退勤や有休管理、契約や退職管理、などの様々な機能をモダンなクラウドベースのツール群として無料で提供することで伸びてきました。どうしてこんな多彩なサービスを無料で出せるかというと、保険会社と提携して関連する保険商品を売り込み、保険会社の方から報酬を得ているのです。

米BuzzFeed が報じたのは、今回の事件が原因で退任したCEOが主導して進めていた、社内の改善効率化の手段。

「マクロ」で講義を終了したことに

研修を受けて資格を取らなければ保険の仲介営業はできないのですが、その資格を取るためには、オンラインのシステムで52時間の講義を受講する必要があります。前CEOは、この営業マンたちの時間を節約し、早期に現場投入するために、社内で「マクロ」と呼ばれるツールを開発・配布して使わせていたそうです。

「マクロ」を動かしながら受講することで、実際に講義を見てなくても、自動的に受講が達成され、資格が得られていたのだとか。Zenefitsの営業担当者たちは、実際に必要と取り決められている知識を得ないままに営業をしていたということになります。

州保険部の取り調べを受けることになったZenefits社は完全に白旗を揚げ、全面的な調査への協力を表明しているということです。

そもそも日本だったら、政府や自治体の定める資格を、セルフのオンライン講義で研修して取得するという仕組みがそんなに無さそうですし、マクロを配布して大規模にショートカットさせるより、サービス残業とか社員個人に押し付ける方向で対応させそうな気もします。マクロはずるい?という議論もありましたし。

インチキをする時もアメリカ人は合理的だなあ、これが成長するスタートアップの仕事観か、と変な方向に感心してしまいました。

これからもオンラインの試験や講義は増えていくと思いますが、出欠確認や本人確認など、インチキを防ぐための仕組みのほうも、必要性に押されて工夫が進んでいくのでしょうね。

photo by chrstphre ㋛ campbell
photo by chrstphre ㋛ campbell

via Business Insider

なんでも自動化するエンジニアが残していったライフハック・スクリプト

ロシアの掲示板に出ていた、職場での小さなことをなんでも自動化していたハッカーの話が英語に翻訳され、Hacker News等で話題になっています。

xxx(ハンドル名): オーケー、ビルド担当エンジニアが転職で辞めちまった。本当にターミナルに住んでるようなやつだった。わかるだろ、Vimが大好きで、.dotファイルで図を描いて、Markdownでwikiに投稿するようなタイプさ… もし何か、そう何でも、90秒以上掛かるようなことがあったら、スクリプトで自動化しちゃうんだ。

xxx: そういうわけで我々はここにいて、彼の、そう、「遺産」を見てるところだ。

xxx: きっと気に入ると思うよ。

xxx: smack-my-bitch-up.sh(アバズレをしばく.sh) – 「遅くなる」というSMSを彼の妻(を指してるのは明らかだろう)に送る。文字列の配列からランダムに理由を選ぶ。cronジョブで動き、そのジョブは夜9時以降にSSHのセッションに彼がログインしていたら発動するんだ。

xxx: kumar-asshole.sh(ろくでなしクマー.sh) – “Kumar”氏(我々の顧客企業のデータベース管理者だ)からのメールを受信箱からスキャンする。「助けて」「問題」「すいませんが」といったキーワードを探し、もしそれらが見つかったら – 顧客サーバにSSHでログインし、運用サーバを直近のバックアップに巻き戻す。そして「大丈夫だ。次は気をつけてくれ」と返事をする。

xxx: hangover.sh(二日酔い.sh) – 特定の日(訳註: コードを見ると平日)にセットされたまた別のcronジョブ. 「気分が優れない/家から働くよ」のようなメールを自動で送る。定義済みの配列からランダムに「理由」を追加する。朝8時45分にサーバ上に有効なセッションがなければ起動するようになっている。

xxx: (優勝はこれだな) fuckingcoffee.sh(*ピー*コーヒー.sh) – きっかり17秒(!)待って、コーヒーマシンにSSHでセッションを開き(コーヒーマシン上でlinuxが走り、ネットに繋がってSSHDが走ってるなんて知らなかったよ)、なんか謎のデータを送る。何かのバイナリだ。どうも、それによってマシンが中サイズのハーフ・カフェ・ラテをカップに淹れるのにそこから24秒(!)かかるんだなこれが。淹れ終わるタイミングは、まさにヤツの机からマシンのところまで歩くのに掛かる時間だったんだよ。

xxx: なんてこった。俺もこのスクリプトを使うぞ。

WTFPLライセンス下での翻訳。(英語記事のリンクはshellスクリプトを指していますが、GitHubにあるファイルでは .sh は空で .rb に実体があるものもあるので、どちらがオリジナルかはわかりません)

shellやRubyで書かれているスクリプトがGitHubに公開されていて、すでにPython移植版を書いて上げているユーザーもいます。ここにいろんな同様のスクリプトが増えていくかもしれないですね。要ウォッチかもしれません。

[追記]

なるほど

そして HTCPCP (Hyper Text Coffee Pot Control Protocol) なんてプロトコルも。

ubiquitous coffee machine
(CC license: Evan Bench)

via Business Insider and Venture Beat

懸賞ツイートをプログラムで自動リツイートさせて、1000個の賞品を獲得した話

ハンター・スコット(Hunter Scott)さんは、「ツイッターでリツイートしてくれたら抽選でプレゼントしますよ」という、いわゆるリツイート懸賞がツイッターに多数流れていることに気づき、自動でそのようなツイートをリツイートするスクリプト(ボット)を開発、走らせ続けることで1000個近い賞品に当選しました。

その経緯は“Twitter Contest Winning as a Service”(サービスとしてのツイッターコンテスト当選)というブログ記事でまとめられています。

リツイート懸賞の勝率は?

9ヶ月間走らせていたこのPythonスクリプト、結果的には165,000件の懸賞ツイートをリツイートしたそうですが、当選したのが約1000件。当選率は0.6%、165回リツイートして一つ当たるぐらいということになります。

せっせと見つけては手動で応募している人も同じような確率だとすると、さてリツイート懸賞は労力に見合うものなんでしょうかね。

スコットさんが指摘するように、この当選の中には「あなた向けにカスタマイズしたTwitter用ロゴ」や「壁紙」「電子書籍」などデジタルのものも多数含まれるので、価値の高い賞品が貰える率となるとさらに低くなることでしょう。

気になる約1000件の獲得賞品リスト

獲得賞品のリストはこちらで紹介されています。「約1000件」と書かれていますが正確な行数では984行。

ロゴなどのデジタルデータ、オンラインゲームの仮想ポイント、など以外に賞品リストに多く出て来るのが「チケット」。映画やコンサートなどのチケットですが、その多くが外国のもの等だったということで、当たっても行けていないそうです。

受け取った賞品の写真がこちら。

(credit: Hunter Scott)
(credit: Hunter Scott)

この中での一番のお気に入りは、聞いた事も無いメキシコのスターのサインが入ったカウボーイハットなんだとか。

もっとも高額なプレゼントはニューヨークでのリムジン・観劇・ペアで $100(1万1236円)0 のおこづかいを含む $400(4万4944円)0 のパックでしたが、ニューヨークの近くに住んでないことと、 $400(4万4944円)0 を収入として申告したくなかったことから、受け取らなかったそうです。

これからやる人のためのコツ

スコットさんはPythonスクリプト自体は公開していないものの、試行錯誤した経験から気をつけるべきところを教えてくれています。

  • フォローしないと応募したことにならないリツイート懸賞が多いので、リツイートするだけでなくフォローすること。
  • 他の応募者のリツイートではなく、正しいオリジナルを探させること
  • リツイートやフォローの頻度が上がるとbanされるので間隔を調整すること
  • 一般的なフォロー上限の2000を超えないように、FIFOで昔フォローしたものから外すこと
  • 当選の連絡はDM(ダイレクトメッセージ)で来ることが多いが、DMにはスパムも多数来るようになったので、当選したものを探す作業はそれなりに大変
  • 単にフォロワーを増やしたいとかで、嘘の懸賞をでっちあげるアカウントもいる。でも気にすんな!

この方針で、APIから見つけたすべてのリツイート懸賞に応募(フォロー&リツイート)することが出来たということです。

感想

日本でも「フォローしたら」「リツイートしたら」抽選に参加、というプロモーションはそれなりにやっていますが、ツイッターの認証をさせた上で個人情報を書かせたり、先方にツイートする権限を与えたりしないといけないものも多く、上のようなスクリプトで応募できてしまうものがそんなに多いかどうかは疑問です。

また、英語の利用はユーザー数も国の数も多いので、リツイート懸賞も多いだろうというのもあるでしょう。その結果、貰っても行けない賞品も多かったわけですが。

今回のこの体験談がきっかけで、単純なリツイート懸賞をやるのを再考する企業も増えるかもしれません。

ですが、スクリプトを流しておくだけなら電気代ぐらいしか掛かりませんし、たとえ今回の0.6% が0.06%になろうとも、やるだけやってみても損はしないんでしょうね。

via Hacker News