ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。

鼠と竜のゲーム(13) 追跡

»

 「とにかく、このままにしてはおけないな」田嶋社長は固い声で言った。「どうすればいいか、みんなの意見を聞きたい」

 翌日の20時過ぎ、ぼくたちは会議室に集合して、目下の事態を打開すべく対策を検討し始めた。参加者は、田嶋社長、東海林さん、黒野さん、それにぼくの4人だった。川嶋さんも気掛かりそうだったのだが、お子さんがらみで何か用事があるとかで18時ちょうどに退社している。

 「まず、このウワサを流している根源を探すことが何よりも優先されるんじゃないでしょうか?」黒野さんが発言した。「個人なのか法人なのかは知りませんが」

 「探すと言っても容易じゃないぞ」東海林さんが顔をしかめながら言った。「こいつらは、Twitterや2chみたいに、匿名で発信できる場所でしか発言してないからな」

 「Twitterとか2chの管理者に問い合わせたら教えてくれないのか?」田嶋社長が真面目な顔で訊いた。新しいものが好きで、スマートフォンは1年ごとに最新機種に買い換え、iPadやKindleもいち早く入手しては自慢しているのに、ネットはメールかWebブラウジングぐらいしか使わない人だ。

 「そりゃあ無理ですよ。裁判所の令状でもないと」

 「そうなのか。不便なもんだな。で、こいつらをどうすればいいと思う?」

 田嶋社長と東海林さんが「こいつら」と呼称しているのは、justice_speakerと、tetsurou999 という2つのTwitterアカウントのことだった。A4用紙にプリントアウトされたその2つのアカウント名は、その下に並ぶツイートの文字列とともに、ぼくたち全員の注視を浴びていた。

 昨日の夜、東海林さんと黒野さんから事情を説明された田嶋社長は、インプットした情報を咀嚼しているかのようにしばらくの間、無言だった。これまで、負荷の高い受注業務をこなすために、会社中が極限まで疲弊するような事態ならば何度も乗り越えてきたし、対策の立てようもある。だが、ここまで露骨な悪意が会社に向けられたのは初めてだったからだろう。

 黙考から覚めた社長が出した結論は、「何日か様子を見よう」という無難なものだったが、東海林さんも黒野さんも、それには異を唱えなかった。とにかく今すぐ急激に事態が悪化するとは思えなかったし、打つ手を考える時間も必要なのは間違いない。

 ところが今日の朝、いつものように一番に出社したぼくは、ドアを開けたとたんに、無人の社内で鳴り響く電話の電子音に迎えられることになった。しかも鳴っている電話は1台だけではなかった。数台の着信ランプが怒ったように点滅していた。

 慌てて一番近くの受話器を取り上げると、ぼくが応答するのを待たずに、男の声が叩きつけられた。

 『死ね! 三流ITドカタ野郎!』

 聞き覚えのない声だ。唖然とする間もなく、通話は乱暴に切断されていた。当然のように非通知だった。

 ぼくは受話器を戻すと、ピックアップボタンを押して、別の通話を取った。今度の相手は少なくともぼくが名乗るのを待つだけの礼儀を持ち合わせていた。

 「おはようございます。サードアイシステムでございます」

 『お前らみたいな奴らがシステム会社をやってるからなあ』鬱屈したような声がぶつかってきた。『この業界がダメになるんだよ。とっととなくなっちまえよ』

 ブツリ、と通話が途絶えた。これも非通知だった。

 早くもうんざりしながら、ぼくは3つめの着信に切り替えた。

 「おは……」

 3文字目を発音する前に、通話は一方的に切られた。受話器を握ったまま立ち尽くしているぼくをあざ笑うように、電話は鳴り続けていた。

 やがて、川嶋さんが出社してきた。鳴り響く着信音に一瞬、驚いた顔をしたものの、ぼくがとめる間もなく、一台の受話器を取った。

 「おはようございます……」

 すぐに相手が話し出したようで、川嶋さんは言葉を切って、耳を傾けていた。ぼくが他の電話に出たものかどうか思案していると、突然、川嶋さんが受話器を文字通り叩きつけた。

 「この変態!」川嶋さんは顔を真っ赤にして、切れた電話に向かって怒鳴った。「死ね!」

 何を言われたのか、だいたい想像がついた。ぼくは川嶋さんに声をかけようとしたが、そのとき黒野さんが出勤してきた。

 「うわ……」黒野さんは呆然となった。「何事?」

 「あ、出ない方がいいよ」頬を紅潮させながらも、やや冷静さを取り戻したらしい川嶋さんが忠告した。「どうせイタズラなんだから」

 「イタズラ? ああ、そうか」黒野さんは何かに気付いたように顔をしかめた。「昨日のウワサの影響か?」

 「たぶんね。世の中にはヒマな奴が多いわ、まったく」

 その後も電話は鳴り続けた。もう9時を過ぎていて、普通に仕事の用事でかけてくる人もいるだろうから、電話にまったく出ないというわけにもいかない。ぼくたちは、取りあえず番号通知を確認して、非通知の通話はすべて無視することにした。

 10時少し前に出勤してきた東海林さんは、やはり驚いたものの、状況を把握すると、すぐに考えを決めてぼくに命じた。

 「IP電話のルータ、どこにあるか知ってるな? 電源、落としてしまえ。普通の仕事の電話なら、誰かの携帯にかけてくるだろうしな。それから、うちのホームページの会社概要の電話番号を、しばらく消しておけよ」

 「……はい」

 ルータを落とすと同時に、オフィス内は静寂を取り戻した。多少は仕事に支障が出るかもしれないが、どうしようもない。

 「取りあえず社長が来るまで、これでしのごう」東海林さんは苛立たしそうに唸った。「社長は……今日は、昼からか」

 ぼくはPCの電源を入れると、いつものようにキッチンでポットの準備をした。外気温はまだまだ35度を上回る日が多く、熱湯の需要はほとんどないが、田嶋社長は夏でもホットコーヒーを愛飲しているので、準備をしておかないと怒られるのだった。

 自席に戻ってメーラーを立ち上げたぼくは、またもや驚くことになった。普段なら12、3通が届いている程度なのに、今日は100通を軽く越える数のメールが受信箱にたまっている。

 「なんだこりゃ……」

 思わず漏れたつぶやきが、意外に大きかったのか、川嶋さんと東海林さんがいぶかしげな視線を向けてきた。

 「どうした?」

 「その、メールがたくさん来てて……」

 「それはあれか、おれは人気者だって言いたいわけか?」

 「いえ、そんなんじゃなくてですね……」

 届いていたメールは、すべて送信元が同じだった。うちのホームページが置いてあるサーバのwebadminユーザーだ。つまり、これらのメールはサードアイのホームページの設置してある、お問い合わせフォームから投稿されたものだ。フォームから投稿された問い合わせは、メールでぼくのアドレスに送信されてくる。

 メールの中身は、というと、ほとんどが怪しげなURLが1行書いてあるだけのゴミばかりだった。URL以外の文章が書かれた数少ないメールは、サードアイの社員全員の不幸を心から祈っているか、わずか数万円を振り込むだけでサードアイの運気を上げてくれるという親切な申し出をしてくれているか、四字熟語を無限に書き連ねることで漢字の知識を向上させようとしてくれているか、完全に暗号化されているかのいずれかだった。

 「仕方ないなあ」ぼくの訴えを聞いた東海林さんは腕を組んで天井を見上げた。「しばらく問い合わせフォームを消しておけよ。もともと、そんなに使われてるわけでもないしな」

 「分かりました」ぼくはTeratermを起動した。「アクセス元も拾ってみますか?」

 「やめとけ。時間の無駄だ。どうせネットカフェか、携帯か、そういうところからに決まってる。まさか、こういうクズメールを会社から送る間抜けはいないだろう」

 「でしょうね」

 昼過ぎに出社してきた田嶋社長は、東海林さんから午前中の喧噪について報告を受けると、大きなため息とともに濃い疲労感を漂わせた。

 「参ったな」

 社長は午前中遊んでいたわけではなく、何社かの元請け会社を回って来たらしい。これ以上、根拠のないウワサが広まる前に、先手を打って自ら事情を説明し、影響度を下げようとしたのだそうだ。もっとも、その行動がどれぐらい効果があったのかは、社長自身も疑問視していた。黒野さんも、午前中いっぱいかけて、メールと電話で、関係のあるユーザー企業や同業者に説明をした後、やはり外出していた。目的は社長と同じだったのだろう。

 「もう様子を見ているわけにはいかんな」ペットボトルのお茶を飲み干した社長は苦々しげにつぶやいた。「おれはこれからまた出かけなきゃならんから、夜になったら相談しよう」

 「分かりました」東海林さんも頷いた。「それまでにできるだけのことをやっておきます」

 社長が出かけた後、東海林さんはやりかけの仕事を放り出して、この問題に対処すべく動き出した。とはいっても、東海林さんは社長や黒野さんのように、足を使ったわけではない。

 「イノウー、ちょっと手伝え」

 東海林さんとぼくは、Twitter APIを使って簡単なプログラムを組み上げた。「サードアイ」に言及している全ツイートを検索して、社内のPostgreSQLデータベースにぶち込むだけ、というシンプルな機能しかない。ぼくがTwitter APIを触ったのは1年以上前に少しだけ。しかも知らないうちにかなりAPIが変わっていて、少し苦労させられたものの、1時間後には実行させることができた。得られたレコード数は20000件以上。

 「うん、いいな」東海林さんは満足そうに頷いた。「よし、じゃあ次は、そこから単純なリツイートを除外するのを作ってくれ」

 「どういう条件にします? 先頭が、RTのやつとか?」

 「うーん、いや、先頭だけだと、一言付け加えてるやつが除外されないから……」

 2人であれこれ議論しながら、何とか除外機能を作成し実行。さらに日付が9月1日より前のものを除外し、「拡散希望」に乗っただけのツイートも除外する。「乗っただけ」の判断は、関連発言がそのリツイートだけとした。残ったツイート群を、Twitterアカウントでグルーピングすると、このウワサを発信していると思われるアカウント、約260件がピックアップできた。

 東海林さんはさらにプログラムを組み、各アカウントのタイムラインを、可能な限り検索し、またデータベースに格納していった。さらにいくつかの条件を加えて絞り込み、260人分のアカウントに対するタイムラインの一覧を作成する。

 ここからはマンパワーの出番だった。東海林さんとぼく、それに抱えている業務に少しだけ余裕がある川嶋さんの3人で、それぞれのアカウントのツイートを読み、○、△、×の3パターンに分類していく。○はこのウワサに対して疑問や否定を表明しているアカウント、×は自分からこのウワサをつぶやいているアカウント、△はどちらとも判断できないアカウントだ。

 夕方頃に帰社した社長と黒野さんは、早速、この作業に引き入れられた。△となったアカウントについて、この2人が読み、チェックし、○か×に再分類する。また、この2人は相談しながら、○と×も再度チェックし、疑わしいものはやり直していた。

 およそ90分後、×、つまり容疑者候補のアカウントが、21件まで絞られた。ぼくはニコチンの禁断症状を手当しに行った東海林さんの指示によって、この21件のアカウントとツイート一覧をプリントアウトした。東海林さんと、食料を買いに行っていた社長が戻ってきたところで、全員が額を寄せ合って検討開始となった。

 真っ先に、全員一致で「怪しい」認定されたのは、justice_speakerというアカウントだった。

 

■アカウント:justice_speaker
実はGTSが悪いんじゃなくて、下請けの会社がそういう作りにしたらしいというウワサがあるが
@kojikosuke 誰かのつぶやき。
横浜市らしいよ
クロラ氏事件の件、横浜の下請けというのは、サードアイという会社らしいな
とりあえず拡散希望
二次被害防止の意味で拡散希望
とにかく拡散希望。特に大手SIerとかに知り合いがいたら積極的に拡散希望。
 

 「こいつ、たぶん元凶だな」東海林さんがつぶやいた。「下請けの会社がどうのと言い出したのは、追いかけられる限りだと、こいつが最初だ」

 「誰なんですかね」ぼくもそのプリントアウトを見つめた。

 「DMだっけ、それしてみたらどうだ?」

 社長が提案したが、東海林さんと黒野さんが揃って首を横に振った。

 「DMは向こうがこっちをフォローしてくれてないとできないんですよ」

 「それより、残りをチェックしましょう」

 justice_speakerのプリントアウトにポストイットを貼っておいて、ぼくたちは残りのアカウントのチェックを続けた。

 「これはどうですか?」ぼくは別の1枚を指した。

 

■アカウント:governer88
まあ確かにGTSみたいな大手エス愛やーがそんなミスするのも考えづらいからあり得るかもな。ああいうところは異常なほどテストガチガチだから。
 

 「怪しいといえば怪しいな」社長もうなずいた。

 「いや、どうですかね」東海林さんは異を唱えた。「こいつはたぶん、分かってないだけだと思いますよ」

 「確かに、このウワサに関するツイートはこれだけですね」黒野さんも頷いた。「あとはアニメの話ばかりで」

 「それもそうか」社長はプリントアウトを指ではじいた。「保留にしとくか。違う色の付箋貼っておけ」

 ぼくはイエローのポストイットを貼り、脇によけた。

 

■アカウント:junji_kendo
どうせアホで低ノーなITドカタがミスして、GTSがチェックし忘れて、結果的に罪もないクロラ氏が逮捕とあいなったわけやろ。
警察がそういうチェック能力を持ってないのが一番アカンわなwwwwww
@aoi_hono いやいやいや、じゃあプログラマが自衛しろっていうのか?危なそうなプログラムは作るなってか?そら、無理やで\(^o^)/
サードアイとやらの責任者おらへんの?
 

 「これは違うな」社長が笑った。

 「違いますね」東海林さんも同意した。「よけといて、次行きましょう」

 こんな風にぼくたちは、このウワサを流した大元と思われるアカウントを絞っていった。そして、最終的に残ったのが、justice_speakerと、tetsurou999 の2つだった。とても分析などと呼べるような方法ではないし、精度も高いとはいえないが、今、この場でできるのはこれが精いっぱいだ。

 この2つのアカウントがどこの誰なのかを知る手段は、少なくとも合法的な手段ではない。東海林さんはTwitterホームから、2つのアカウントのプロフィールを開いて見たが、性別や職業や居住地など、追跡の手掛かりになるような情報はまったく登録されていなかった。

 「そもそも、こいつらが本当に元凶なのかどうかすら分からんしなあ」東海林さんが頭の後ろで手を組んだ。

 「まあ、とにかく手掛かりには違いない」社長が何かを決定したときの口調で言った。「違ったら別の方法で探してみるとして、まずは、この2つのアカウントにアプローチするしかないな」

 「五堂テクノの人間ですかね」ぼくは誰にともなく聞いた。

 「まずはそういう仮定で進めるしかないだろうな」東海林さんはそう言った後、何かを思い出したようにぼくの顔を見た。「そういえば、イノウー。前に、五堂テクノの誰かから、ソースがどーのって電話がかかってきたって言ってなかったか?」

 「……ああ、そういえば」ぼくは記憶をさかのぼった。「かかってきました、確かに」

 「初耳だぞ」社長が顔をしかめた。「五堂テクノから?」

 「報告するまでもないと思ったので」ぼくは首を縮めた。「すみません。T市立図書館の事件が報道された少し後のことでした」

 「何て言ってたんだ?」

 ぼくは五堂テクノからの電話の内容を簡単に説明した。

 「で、相手の名前は?」黒野さんが訊いた。

 「うーん……何しろ5月のことですから。さすがに覚えてません。すみません」

 「T市立図書館カスタマイズ案件の契約書類を見てみろよ」東海林さんが黒野さんに言った。「担当者の名前ぐらい分かるんじゃないか?」

 「ああ、そうですね」

 黒野さんはキャビネットに突入し、整理されているとは言いがたいキングジムファイルの山を探し始めた。それを横目で見ながら、社長が東海林さんに顔をしかめてみせた。

 「この2つのアカウントが、その担当者のものとは限らないと思うけどな」

 むしろ一致しない可能性の方が高いと、ぼくも思ったが、口には出さなかった。

 「まずは可能性をつぶしていくことにしましょう」

 東海林さんが答えたとき、黒野さんが歓声とともに、1冊のファイルを頭上に掲げた。

 「ありました」黒野さんはぼくたちの目の前でファイルを広げて、中に目を通した。「ええと、発注元責任者は、ソリューションデベロップメントDivision、野崎Div長となっていますね。この人かな?」

 最後の言葉はぼくに対する問いかけだった。ぼくは、少し考えてから首を横に振った。

 「……いえ、違う気がします」

 「じゃあ、これかな。技術担当者、城之内主任」

 脳内の全シナプスが高輝度のLEDに照らされたように、急速に記憶が蘇った。

 「あ、その人です!」

 「そっちの可能性が高いな」社長が書類を覗き込みながらつぶやいた。「野崎Div長は、確かあまり実務には携わっていなかったんじゃないかな」

 「第1候補ですね」黒野さんが言った。「野崎さんが第2候補ということにしときますか」

 「問題はそれをどうやって一致させるか、だな」

 「または、一致しないことを確認するか、ですね」社長の言葉に黒野さんが応じた。「とにかく、一度、アポ取ってみますか」

 「それはいいが」社長がもっともな疑問を口にした。「何を話すつもりだ?」

 ぼくたちは無言で顔を見合わせた。まさか、うちについて根も葉もないウワサを流していませんか、などと訊けないのは言うまでもない。

 取りあえず一服しよう、という黒野さんの提案で、ぼくたちは社長が買ってきてくれたおにぎりの山から、好きなものを取って腹ごしらえすることにした。東海林さんに目顔でうながされて、ぼくは4人分のお茶を淹れた。

 ひととおり空腹が満たされた後、東海林さんは別の栄養分、つまりニコチンを補給するために外に行った。ほどなく戻ってきた東海林さんは躊躇いがちに口を開いた。

 「うまくいくかどうか分からないですが」珍しく自信なさげな口調だった。「1つ案があります」

 「言ってみろ」

 東海林さんが説明した案を、社長は少し考えた後に了承した。

 「まあ、やってみるか」うまくいくとは思っていないような口ぶりだった。「ハズレでも失うものはないからな」

 こうしてぼくたちは、成功率が高いとは思えない、ある方法を試してみることになった。

(続く)

 この物語は事実を基にしたフィクションです。実在する団体、個人とは一切関係ありません。また司法当局の捜査方法などが、現実のそれと異なっている可能性があります。

Comment(8)

コメント

名無しPG

反撃開始って感じで読んでて盛り上がりました。^^
東海林さんの案がどんなものなのか続きが気になります。

あと、この辺が気になったのでー。

> その"つのアカウント名は

> その下に並ぶツィート
> 言及している全ツイート

「2」が「"」になってるのかなーというのと、「ツィート」と「ツイート」が混在しているのと。

a

カスタマイズ案件をしたがDB周りは触ってないことをHPで発表したらだめなのかな。
濡れ衣でも落ちてしまった信用はなかなか回復しないだろうから、仕返しを考えるよりもやるべきことはあるのでは。とつい思ってしまう。

あのよろし

>aさん

過去の実際の電凸事例とか見る限り、その発表を見ても「保身に走った」などの思い込みのまま、辞めない人多いよね。
第一HP見て確認するよりも、あきらかに2chやTwitterの情報だけで動いてる感じの事件は多々あるし(あまつさえデ○ィさんのように逆ギレするケースもある訳で)。
広報することは当然としても、元から絶つに等しい何かを遂行しとかないと、まずいと思います。悪評はゾンビのように何度でも盛り返しますからね。

へろへろ

>aさん
>カスタマイズ案件をしたがDB周りは触ってないことをHPで発表したらだめなのかな。

あのよろしさんの言うとおり、ベンダの言い分は素直に通らないと思います。
それに、肝心の五堂テクノが原因については沈黙しているので、DB周りが原因と指摘することが、発注元への背信行為になってしまう恐れがあります。
このため、原因周りの指摘でサードアイに過失がないことを証明するには、
 ・まったくの第三者が
 ・T市の図書館と、同じバージョンのLIBPACKを使い、
 ・かつそこがT市での導入以前に納入されている状態で、
 ・プログラムを比較して、DB周りに改変が入っていない
ことを確認する必要がありますね。
この「第三者」になりえるのはタカミス先生ぐらいなんでしょうけど、こういうときに構築ベンダ以外に情報資産の内容を開示するルールがあるかというと・・・・・・。

名無しPGさん
ご指摘ありがとうございました。
「ツィート」は、「ツイート」に統一しました。

みすと

野崎は会社と立場を考えて城の内の所業に突っ込まなかった
って感じだったけど、もしこの状況から全バレしたら、
最初の時点でゲロって土下座するのと比較にならん騒ぎになっちゃうよねえ

こもえすた

あくまで一個人の私見ですが、五堂テクノと話し合いの場を持たないのでしょうかね?
・現状、風評被害が強いこと、それについて元請けとして対応いただくか、
 弁解において説明する際の了解(機密に反しないこと等を)
・発端と疑わしきjustice~に対し、風説の流布等での法的対応を想定した犯人の特定に乗り出していること、
 及び五堂テクノ社員の内部犯行の可能性が無いか調査の要請
昔はこういったトカゲの尻尾きり、下請け潰し的なことがあったとは思いますが、
今は原因の究明やコンプライアンスの関係から城之内のような行為はむしろ
厳しくしないといけないはずです

01

>まさか、こういうクズメールを会社から送る間抜けはいないだろう
伏線ですね、わかります

コメントを投稿する