表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
現実世界にゼロデイを見つけたので、こっそり修正しています  作者: せい | 健康優良不良プログラマ


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
20/25

第20話 遊びでは済まない

夜明け前の電話は、嫌な予感しかしない。


枕元で、スマホが鳴っていた。


画面に、莉央さんの名前。時刻は、六時前。


「相馬さん。朝早く、すみません」


声が、低かった。昨日の電話の終わりに笑った人と、同じ人とは思えない。


「異常、戻りました」


俺は、目を開けた。


「止まったんじゃないのか」


「昨日の夜までは、止まってました。今朝、また出ています。今度は……止まりません」


「打刻か」


「はい。出勤していない時刻に、出勤の記録がつき続けます。昨日の症状は一台でした。今朝は、三台です。止める操作が、効きません」


天井を見た。薄い闇が、まだ残っている。


「他には」


「在庫の端末で、数量が勝手に書き換わりました。あやうく、その数で発注をかけるところで……担当が気づいて、止めました」


莉央さんの声が、そこで一度途切れた。


「相馬さん。一度、現場を見てもらえませんか。会社には、私が話を通します」


電話の向こうで、頭を下げる気配がした。自分の作ったものが、知らない誰かの現場で、人を困らせている。その責任を、莉央さんは一人で抱えようとしている。


迷いは、なかった。


「行く」


「……ありがとうございます」


「一時間で着く。準備して出る」


通話が切れた。


部屋は、まだ暗い。机の上のレシートも、方眼紙も、何も知らない顔で転がっている。


「MICA。聞いてたな」


「はい」イヤホンに手を伸ばす前から、声が返った。「現場用の装備を、規程の範囲で組みます。読み取りは、触らない範囲だけです」


「分かってる」


白い点は、戻っていない。仮想キーも、投影格子も、入口を失ったままだ。あの夜、顔も知らない誰かに、先回りで切り離された。


道具の半分は、もうない。


それでも、行く。


——


電車は、朝の通勤客で埋まっていた。


吊り革につかまって、窓に映る自分を見た。


初めてあの事務所へ行った日のことを、思い出していた。


あの日の俺は、便利な道具を試しに行った。誰にも見えないログを読んで、誰にも追えない速さで答えを出した。現場には神様みたいに扱われて、莉央さんには速さを疑われた。それでも内心、得意になっていた。


世界の裏側に、俺だけが触れている。そういう遊びだった。


今日は、違う。


俺が遊んでいたのと同じ穴を、別の誰かが使っている。その手で、来てもいない人間の勤怠が狂って、出したつもりのない発注が走りかけている。


遊びの請求書が、俺じゃない人間のところへ届いている。


「MICA」


「はい」


「インシデント対応の優先順位。復唱しろ」


「原因究明より、封じ込めが先。燃えている間に、火元の議論はしません」


「そうだ」


声に出したのは、自分のためだった。


現場に着けば、犯人を捜したくなる。署名を読んで、経路を追いたくなる。それは、後だ。


まず、止める。


——


物流の事務所は、あの日と同じ匂いがした。


段ボールと、機械の熱と、薄いコーヒー。


入口に、莉央さんが立っていた。顔色が悪い。一睡もしていないのが分かる。


「相馬さん。こっちです」


奥の事務スペースに、卓上の端末が並んでいた。手のひら二つ分の白い箱。出勤の打刻と、在庫の入力に使う、莉央さんが書いたファームが動く機械だ。


そのうちの一台を、担当の人たちが遠巻きにしていた。


近づかない。


画面の中で、記録が増えていた。


誰も触れていないのに、打刻の行が、一つずつ伸びていく。六時十二分、出勤。六時十七分、出勤。六時二十二分。五分おきに、来てもいない人間が、出勤し続けている。


「電源を抜いても、入れ直すと、また始まるんです」


担当の一人が、小さく言った。


莉央さんは、その端末の前で、頭を下げた。


「ご迷惑を、おかけしています」


俺は、机に近づいた。


端末の、すぐ脇。


木目の上に、薄い半月形の痕があった。


——


見間違いじゃない。


その痕を、俺は知っている。


自分の部屋で、レシートの上で、何度も見た。仮想キーを消した後に、説明もなく残ったもの。机の端に、クリップのそばに、勝手ににじんでいたもの。あれだ。


自分のものではない、半月形。


この十日あまり俺が追いかけてきたものが、今、知らない人の業務机の上にある。


俺の部屋にあったときは、面白い謎だった。


ここにあるそれは、来てもいない人間を出勤させている。


同じ痕だ。


同じ穴から漏れた同じものが、俺の遊び場ではなく、人の生活の上ににじんでいる。


喉の奥が、塩辛くなった。


「MICA」


ポケットの中で、定型のコマンドを送る。声には出さない。


「この端末に来てる入力を、触らない範囲で読め。発行者だけ」


「読みます」


短い間。


「五分間隔。連番。発行者フィールドの固定部、一致します」


「qx41だな」


「はい」


来てもいない人間の出勤は、あの署名の脈拍だった。五分おきに、規則正しく、無神経に。俺の部屋でずっと鳴っていたのと、同じ列だ。


それが、ここでは人の打刻になっている。


——


「相馬さん」莉央さんが、隣に来た。「何か、分かりましたか」


「原因は、まだだ」


画面を見たまま、答えた。


「でも、止めるのは、原因が分かる前でいい」


「止められるんですか」


「この一台だけなら」


しゃがんで、端末の設定画面を開いた。莉央さんのファームだ。現実バグの知識なんて要らない。ただの機械として、普通に触れる。


説明できる範囲で、言った。


「今この端末は、本人が触っていない打刻を、そのまま受け取ってる。だから、本物の指がここに触れた瞬間だけ、打刻を通す。それ以外は、捨てる」


「接触のセンサーと、打刻を、突き合わせるんですね」


「そう。打刻の通知が来ても、同じ瞬間に本物の接触がなければ、無視する。一回の打刻に、一回分の裏づけを要求する」


莉央さんは、すぐ理解した。書いた本人だ。


「それ、応急処置ですよね」


「応急処置だ」


俺は、正直に言った。


「原因は塞いでない。穴は、まだ開いてる。向こうは、別の経路を探すかもしれない。これは、この一台の周りだけ、影響を閉じ込めるやり方だ。火は消してない。扉を閉めただけだ」


「それでも、今は止まる」


「今は止まる」


イヤホンで、MICA が言った。


「規程確認。通常の入力検証です。許可リストに該当、違反なし」


「だろうな」


設定を、一つ入れた。


打刻の通知に、本物の接触の裏づけを要求する。たったそれだけの、どこにでもある処理だ。


画面の中で、五分おきの打刻が止まった。


六時二十二分の次が、来なかった。


来てもいない人間が、出勤しなくなった。


事務所の空気が、少しだけ緩んだ。担当の人たちは、何が起きたのか分かっていない。莉央さんも、半分しか分かっていない。


俺にだけ、分かっていた。


初めて、この技術を、遊びじゃないことに使った。


俺が見つけた穴が人を困らせきる前に、その一台だけ、間に合った。


——


帰りは、莉央さんの会社に寄ることになった。正式な話をするためだ。


電車の中で、頭の中を整理した。


ここまでに見たものを、三つに分ける。


一つ。俺だ。この穴を見つけた人間。観測して、再現して、危険まで測った。そして今日、初めて止めた。


二つ。集める奴ら。あの署名。五分おきの、自動化された収集。今日の現場の打刻も、奴らの経路だった。人間が一件ずつ打っているんじゃない。機械が、台帳をなぞるように、集めている。


三つ。消す奴。俺の経路を、丁寧に切り離した奴。ログから、都合の悪い一行を抜いた奴。監査して、隔離して、痕跡まで消す。


だが、そいつは、直していない。


穴は、開いたままだ。集める奴らも、止まっていない。今朝の打刻が、その証拠だ。消す奴は、俺の入口を塞いでも、現場の被害は止めなかった。


世界には、塞がれていない場所が、いくつもある。


それを集める者がいて、それを隠す者がいる。


そして俺は、その両方のリストに、名前が載っている。集める奴らの台帳にも、消す奴の隔離記録にも。


——


NEXTPULSE の小さな会議室で、莉央さんは、姿勢を正した。


「相馬さん。会社として、正式にお願いしたいんです」


「調査か」


「はい。外部の専門家として、この問題を調べてほしい。受けてもらえますか」


少し、考えた。


引き受ければ、報告書を書く。だが、書けないことが、必ず出てくる。現実バグのことは、書けない。署名も、消す奴のことも、紙には残せない。残せば、莉央さんを、説明のつかない場所に巻き込む。


「条件が、一つある」


「先に伺います」


「報告書には、書けないことが出てくる。技術で説明しきれないことが、必ず残る。それは、紙には書かない」


莉央さんの眉が、わずかに動いた。


「それ、私が困ります」即答だった。「原因不明のまま様子見にされて、私はもう一度、同じ思いをしたくない」


「だから、続きがある」


「続き」


「書けないことも全部、莉央さんには口頭で話す。あんたにだけは、隠さない」


莉央さんは、すぐには頷かなかった。


「前に、言いましたよね」と、莉央さんは言った。「何か隠してますよね、って」


「言われたな」


「まだ、隠してるんですね」


「ああ」


「それを口で話すって、どう確かめればいいんですか」


俺は、少し笑いそうになった。確かに、口約束だ。証拠は残らない。


「確かめられない」


正直に言った。


「だから、おかしいと思ったら、その場で聞け。様子見にするな。納得いくまで、何度でも聞き返してくれ。それが、あんたの保険だ」


莉央さんは、数秒、俺を見ていた。それから、ゆっくり頷いた。


「分かりました。聞き返します。遠慮なく」


「それでいい」


「では、お願いします」


「引き受ける」


俺は、言った。


この十日あまり、これは俺の遊びだった。俺だけの謎で、俺だけの道具で、俺だけの請求書だった。


今、それを、引き受けると口にした。他人の生活の上ににじんだものを、止める側へ回る。


イヤホンで、MICA が言った。


「反対しません」


俺は、一瞬、黙った。


「……お前が賛成するの、初めてじゃないか」


「初めてです」と、MICA は言った。「記録します」


——


その夜、部屋に戻った。


持ち帰った現場のログを、MICA が整理していた。誰がいつ何をしたか。無人の打刻が、どう並んでいたか。触らない範囲で、形だけを見る。


コーヒーを淹れて、待っていた。


「透」


MICA の声が、手を止めた。


「これを、見てください」


画面に、入力イベントの並びが出ていた。来てもいない人間の、五分おきの打刻。その一件ずつの、中身だ。


「同じ操作が、二回来ています。記録は、一回分しか残っていません」


近づいた。


二回来た打刻を、一回分に抑える。二度目を、静かに落とす。


その捨て方に、見覚えがあった。


同じ識別子を持つ二度目を、黙って捨てる。俺が、自分の道具で二重実行を止めるために組んだ、あの設計だ。


operation_id。


俺が、自分のためだけに作った、重複排除の癖。


それが、来てもいない人間の打刻の中に、入っていた。


集める奴らは、俺の作ったやり方で、二重の打刻を綺麗に揃えていた。


俺の実験を、誰かが読んで、使っている。


向こうも、俺を、見つけている。


——第1部・完——


# 後書き・技術メモ


## 技術メモ


### インシデント対応


インシデント対応は、システムに異常が起きたときの一連の対処を指します。


このとき優先するのは、原因の究明ではなく、被害の封じ込めです。火事にたとえるなら、出火の原因を調べるより先に、燃え広がりを止めます。原因の議論は、被害が止まってから行います。作中の透も、現場に着いてまず止め、原因の特定は後回しにしています。


### 封じ込めと根本修正


封じ込めは、問題のある対象を周囲から切り離し、影響範囲を狭める応急処置です。すぐに被害を止められますが、原因そのものは残ります。


根本修正は、原因の層を直し、同じ原因から起きる問題をまとめて起きにくくする対応です。時間はかかりますが、再発を抑えられます。


作中で透が行ったのは封じ込めです。原因の穴は開いたまま、一台の端末だけを切り離し、被害をその周りで止めました。本人も「扉を閉めただけ」と述べています。


### 入力の裏づけ


届いた入力が本物かどうかを確かめる処理を、入力検証といいます。


作中の応急処置は、この入力検証を一台だけに加えたものです。打刻の通知が来ても、同じ瞬間に本人の接触という裏づけが無ければ受け付けない、という条件を足しています。裏づけのない入力を、その端末が自分で弾くようにしたわけです。現実側の特殊な知識は使わず、ありふれた処理だけで成り立っています。


### 重複排除


同じ操作が二度届いたとき、二度目を捨てて一回分に揃える処理を、重複排除といいます。同じ操作かどうかは、操作ごとに振られた識別子で見分けます。


二重に走ると困る処理では、よく使われる基本的な手法です。ただし、同じ仕組みは、別の誰かが大量の自動処理を「きれいに一回分へ揃える」ためにも使えます。手段そのものに善悪はなく、何に向けるかで意味が変わります。

# 後書き・技術メモ


## 技術メモ


### インシデント対応


インシデント対応は、システムに異常が起きたときの一連の対処を指します。


このとき優先するのは、原因の究明ではなく、被害の封じ込めです。火事にたとえるなら、出火の原因を調べるより先に、燃え広がりを止めます。原因の議論は、被害が止まってから行います。作中の透も、現場に着いてまず止め、原因の特定は後回しにしています。


### 封じ込めと根本修正


封じ込めは、問題のある対象を周囲から切り離し、影響範囲を狭める応急処置です。すぐに被害を止められますが、原因そのものは残ります。


根本修正は、原因の層を直し、同じ原因から起きる問題をまとめて起きにくくする対応です。時間はかかりますが、再発を抑えられます。


作中で透が行ったのは封じ込めです。原因の穴は開いたまま、一台の端末だけを切り離し、被害をその周りで止めました。本人も「扉を閉めただけ」と述べています。


### 入力の裏づけ


届いた入力が本物かどうかを確かめる処理を、入力検証といいます。


作中の応急処置は、この入力検証を一台だけに加えたものです。打刻の通知が来ても、同じ瞬間に本人の接触という裏づけが無ければ受け付けない、という条件を足しています。裏づけのない入力を、その端末が自分で弾くようにしたわけです。現実側の特殊な知識は使わず、ありふれた処理だけで成り立っています。


### 重複排除


同じ操作が二度届いたとき、二度目を捨てて一回分に揃える処理を、重複排除といいます。同じ操作かどうかは、操作ごとに振られた識別子で見分けます。


二重に走ると困る処理では、よく使われる基本的な手法です。ただし、同じ仕組みは、別の誰かが大量の自動処理を「きれいに一回分へ揃える」ためにも使えます。手段そのものに善悪はなく、何に向けるかで意味が変わります。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ