第5章 Polar-Blizzardwill討伐戦

第24話 開戦

『おかえりなさいませ。曇天の黒シュヴァルツヴォルケンのメンバーに送信されたマルウェアが起爆しました』


 帰宅した零一れいいちを出迎えたのは、ハッキングAIPragmaプラグマの戦果報告だった。


「詳細を頼む」

『ギルドメンバー18人中14人、関連ギルドメンバー268人中268人の情報を取得しました。ログ情報、IPアドレス、パスキーのハッシュ値、インプラント・サーキットの個人識別番号のハッシュ値――』


 200人強のギルドメンバーの情報がつらつらと読み上げられる。

 流石はクラッカーギルドと言うべきか。曇天の黒シュヴァルツヴォルケンのギルドマスター及びサブマスターである、4人の非公開情報は一つとして得られなかった。


 だが、得られた情報はある。

 ギルドのメンバーリストから得られた公開情報。現在ギルドマスターになっている人物はPolarポーラ-Blizzardwillブリザードウィルという名であった。


Pragmaプラグマ、このギルドマスターの名前について検索をかけろ」

『承知いたしました。サーチを開始します』


 ネットの表も裏も目を行き届かせる、Pragmaプラグマによる捜索が始まった。

 零一はPragmaプラグマの処理が終わるまでの間、雑事を済ませる。


 洗面所で手を洗い、制服から部屋着に着替える。

 冷蔵庫から「B型栄養食・夕食用」の認定証が大きくプリントされた、冷凍食品を取り出して電子レンジに入れる。


 電子レンジの中で冷凍食品の餃子と八宝菜が暖色の光にライトアップされる中、リビングから追加の報告が上げられた。


Polarポーラ-Blizzardwillブリザードウィルについての情報が6件ヒットしました』

「手短に伝えろ」


 零一の命令を聞き、Pragmaプラグマのメモリが瞬時に情報を整理する。


『9年前より活動を確認。2年間は通常のプレイヤーとしてヴェインをプレイしていました。その後チートを使用するようになり、運営による半年間の一時BANを課されました。

 BANが明けた際に曇天の黒シュヴァルツヴォルケンにギルドメンバーとして加入。その1年後にはサブマスターに昇格。昇格の際に情報秘匿処理を実行し、以降のヴェインでの足取りは掴めません』

「ヴェイン外ではどうだ」

『5年前よりPolarポーラ-Blizzardwillブリザードウィルの電子署名が確認されています。この電子署名を使用して作成されたチートツールの総数は現在公開されているもので548件、この電子署名のユーザによってクラッキングされたサイトの総数は現在52件です』


 零一の目の前に、拡張A現実Rのウィンドウが開かれる。

 ウィンドウに表示されているのは、Polarポーラが作成したチートツールを逆行翻訳デコンパイルした結果のコードである。

 その所々に、Pragmaプラグマによる自動注釈がコメントとして乗せられていた。コメントとコードを併せて読み下すに、相手の技量は零一と同等か、あるいはそれ以上のものだと推測できた。


 噛みついた相手は想像以上に強者であるらしい。

 しかし零一は引き下がるつもりはない。


 敵は、零一本人ではなく、その周辺人物である村雲むらくもに爆発物を送りつけてきた。

 第三者に攻撃してくる相手である。他者の血が流れる事を良しとしない零一の逆鱗に触れたのだ。


 我ながら頭に血が昇りやすいと自嘲し、零一はコードを表示しているウィンドウを閉じる。


 チン。


 同時に電子レンジの終了アラートが鳴る。零一は台所に向かい、夕飯を消費する為に箸やお盆を用意し始めた。


     *   *   *


 本日最後となる7限目の授業は、情報Iのプログラミングだった。

 得意不得意が如実に出る授業である。生徒たちは既に疲労が溜まっている状態で、プログラミングを苦手としている者の多くが机に突っ伏していた。


「――えー、このように周囲のマス目の状況によって、中心のマスが死亡したり、あるいは生存したり、または新たに誕生したりするのがライフゲームです。

『ゲーム』と名がついていますが、プレイヤーが介入できるのは初期状態の設定だけであり、ヴェインのようなゲームではありません。

 では、教科書の通り、実際にライフゲームを作ってみましょう」


 情報担当の男性教師が電子黒板を操作し、教師のスマート・リングスマリの画面がミラーリングで映し出される。

 電子黒板に表示されたのは統合開発環境IDEアプリである。黒橡くろつるばみ色の背景をしたテキストエディタの上に、関数や変数が色とりどりに染め抜かれていた。


 カタカタ……。


 同級生たちは教師の指示に従ってimport文やfor文、関数の定義などを手で打ちこみ始める。


 一方の零一は、GitHeavenにアクセスし、検索窓に「lifegame」と打ちこんだ。

 検索結果から言語をPythonで絞り込み、フォーク数の多いリポジトリをクローンする。本体ファイルのパスをコマンドに入れて実行し、画面上に白と黒のマスが一定間隔で明滅する。

 望み通りの結果を確認し、零一の作業は数十秒で終わった。


 手持無沙汰になった零一は、隣の席の夜桜よざくらの様子を見る。


「うーん……」


 夜桜は、拡張A現実Rの画面上に浮かぶ「SyntaxError: invalid syntax」のエラーメッセージに困惑していた。

 それを横目に見ていた零一は、彼女に助け船を出す。


「2行目、importのところがinportになってる」

「あっ……本当だ。ありがとう遊木さん」


 夜桜は指摘された通りに誤字を直す。


「ちょっと見ただけですぐ分かっちゃうんだ。

 もしかして遊木さんって情報科目は得意?」

「まあ、少しは。

 統合開発環境IDEのエディタだったら、宣言文に誤字があるとハイライトされないから、慣れたらすぐ分かる」

「へぇ、すごいな。……あ、またエラーになった」


 夜桜の画面に「IndentationError: unexpected indent」のメッセージが浮かぶ。

 零一はエラーの詳細文を読み、指し示す行を見た。

 該当行のコードは正しいように見えた。零一は夜桜に提案を出す。


「エディタのファイルタブを開いてくれ」

「ファイルタブ……ええっと、どこだろ?」


 夜桜の視線が惑った。

 零一は自分の席を夜桜側に寄せると、身を乗り出して夜桜のウィンドウを覗きこむ。

 そして、宙に浮かぶ仮想ディスプレイの左上を指差した。


「ここだ」

「あ、ほんとだ!」

「そう。それをクリックするとプルダウンメニューが開くから、その中のユーザ設定にカーソルを合わせると、更にプルダウンメニューが開いて設定の項目がある」

「うわー、設定の中に更に設定があるんだぁ。ここまで辿り着けないや」


 苦笑する夜桜に、零一が首肯する。

 普段からエディタに慣れていなければ、確かに困惑する事だろう。


「――それで開いた検索窓にwhitespaceと打ちこんでくれ。一番上に出てきた設定項目をallにすれば……」

「すれば……エラーが直る?」

「いや、エラーの原因が分かりやすくなる」


 夜桜が零一の言う通りに設定を行うと、エディタの空白部分に灰色の点や四角が浮かんできた。

 零一はエラーの原因である四角を指で突っつき、夜桜に教える。


「この四角は全角スペースを意味してる。

 インデントに使えるのは半角スペースかタブだけだから、そこに全角スペースが混じっていてエラーになっているんだ」

「あー! そっか……空白スペースって目に見えないから、パッと見ただけじゃ分かんないよね」

「そう。だから設定で見えるようにすれば分かりやすい」


 夜桜は、仮想キーボードを打つ指こそ滑らかだが、プログラミングについては苦手であるらしい。

 その後も幾度かのエラーが出ながらも、零一のアドバイスとレクチャーのお陰で、祝福されし完成へと近づいていく。


 コードを書く手を止め、夜桜は零一に問いかける。


「――遊木さんって、もしかしてハッカーだったりする?」


 図星を指された零一は、おくびにも出さずに話題を受け流す。


「単に情報の授業がしょうに合っているだけだ。

 もし俺がハッカーだったら、一生暮らせる分の暗号通貨でも盗んでスイスに飛んでるな」


 零一は口では否定しつつも、実際に裏取引でやり取りされる暗号通貨のいくつかを盗んではいる。

 それらは主に零一のPC代やクラウドサーバの契約費に注ぎこまれており、一生暮らせる分には程遠かった。


 逆説的な否定を受けて、夜桜が照れて頬を掻く。


「そうだね、バカなこと言っちゃった。

 体育でサッカーが上手いからって、その人が必ずサッカー選手だってことにはならないしね」


 他愛のない会話。

 日常の風景。


 穏やかな学校生活に告げられる終局。

 その影は、電子黒板上に現れた。


 ヂヂッ……。


 教材となるテキストエディタが、グリッチノイズに揺れる。

 最初はわずかに。数秒経てばより大きく。やがて騒音を伴って。


 ヂッ、ヂヂヂヂィッ!


「えっ?」

「なにっ?」

「な、なんだ?」


 困惑の波が生徒たちに広がり、教師はスマリをなぞったり突いたりして異常を止めようとしていた。


「すみません、皆さん、少々私のスマリの具合が悪いようです。

 学校のアプリの方から教材をダウンロードして、続きを――」


 授業を続行しようとする教師だったが、軌道修正の努力は報われなかった。

 グリッチノイズが電子黒板を覆いつくし、ついには不穏が実体化する。


 ボウッ!


「わああっ!?」


 電子黒板から火の手が上がり、教師が悲鳴を上げた。

 液晶が燃える化学的な臭気が漂い始め、生徒たちは我先にと出口の自動ドアへと殺到する。


「冷静に! 避難――避難訓練を思い出して!」


 教師の指示も叶わず、生徒たちは雲霞うんかと化している。


「クソッ! 開かねえぞ!」


 男子生徒の一人が、行く手を阻む自動ドアに蹴りを入れた。


 ヂッ、ヂリィ……!


「あああぁ!?」


 自動ドアに生じた亀裂から、滲むように火種が生じる。

 唯一の出口も開くどころか発火し、群衆はパニックに陥った。


「夜桜さん、こっち!」

「う、うん!」


 耳をつんざく悲鳴が満ちる教室の中、零一は夜桜を連れて自動ドアの反対方向へと向かった。

 零一は反対方向――窓ガラスの鍵を開け、ガラリと音を立てて窓を開ける。


「ここは一階だ! 別にドアからじゃなくても脱出できる!」


 零一があらん限りの大声を上げると、群衆たちがピタリと止まった。


「あ……!」


 普段から出入りしているドアという先入観を払拭され、冷静さを取り戻した生徒たちに教師の声が届く。


「皆さん! 落ち着いて、前の人を押さずに列になって窓から避難しましょう!」


 零一は三か所の窓ガラスを全て開け放つ。

 生徒たちが素早く、しかし慌てず、窓から脱出し始める。


 零一と夜桜も避難する列に混ざりこみ、内履きのまま校庭へと向かう。


「一体、何が起こったんだろう……?」


 不安げな夜桜に、零一が返す。


「……分からない」


 分かっている。

 言葉では否定し、内心では実感する。


 火が上がった黒板もドアも、電子機器である。

 零一の所有していた5台のPCも、村雲の元に届けられた郵便物も。


 それらの共通項から導き出される答えを理解して、零一は正しき怒りを胸にした。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る