第22話「キングダム・クラッシュ」
シェルの予測から、三日後だった。
夜が明けきらない時間帯——空がまだ暗い青とオレンジの境界線にいる頃。俺は窓辺でシェルのデータを見返していた。眠れなかったわけじゃない。ただ何か、頭の片隅にひっかかりがあった。コードを読んでいる時に感じる「何かがおかしい」という感覚——経験則的なもの、と言えばいいのか。
その感覚が正しかったと分かったのは、警報が鳴ってからだ。
低くて大きな音が、王都全体を揺さぶった。
「——警報?」
俺が窓を開けると、王都の外縁部の方角に光が見えた。赤みがかった、不自然な光。防衛結界が正常稼働している時は青白い光を放つはずだ。それが——ない。
「マスター」
メモリが俺の肩に降り立った。
「防衛結界が——シャットダウンしています」
走った。
廊下を飛び出すと、アリアとガルドもほぼ同時に部屋から出てきた。ガルドはすでに剣を手にしている。アリアは魔法書を抱えたまま、顔が青ざめている。
「結界が——」
「分かってる」
シェルが一番最後に出てきた。眼鏡をかけながら、手帳をすでに広げている。
「予測より二十三時間早い。誤差の範囲外です。これは——誘発された可能性があります。自然な経過ではなく」
「誘発? 意図的に早めたということか?」
「状況が示す通りです」
説明している間に、外から悲鳴が聞こえた。
複数の、遠い悲鳴。
「——モンスターが入ってきてる」
ガルドが窓から外を見て、低く言った。「中型の魔獣だ。三体、四体——もっといる。結界が切れたのを境に一斉に押し入ってる」
通常なら結界が弾くはずの魔獣が、まるで壁などないかのように市街に入り込んでいる。防衛騎士団が各所に展開し始めているのが見えるが、侵入ポイントが多すぎて追いつかない。住民が逃げ惑う声が、朝の静寂を切り裂いていた。
「俺は市民の避難を手伝う!」
ガルドが剣を鞘から引き抜いた。大きな背中が廊下の端に向かう。「お前らは結界を直せ! それが優先だ!」
「ガルド——」
「向こうは俺が何とかする。信用しろ!」
振り返らずに走っていった。
俺はシェルを見た。
「頼む」
一言だけ言って、走り出した。
シェルが「了解です」と答えながら、すでに並走している。アリアとメモリが後に続く。
---
防衛結界の制御塔は、王都の中心部に近い場所にある。
走りながら、デバッガーズ・アイを展開した。王都全体のシステムを俯瞰する。結界のコードが——見える。
```
[ERROR] BARRIER_SYSTEM: CRITICAL FAILURE
[ERROR] Core module: UNRESPONSIVE
[WARNING] Forced shutdown detected via: UNKNOWN_COMMAND
[STATUS] Recovery: NOT INITIATED
```
強制シャットダウン。
コマンドの発生源——不明。
外部からのコマンド、ということか。
制御塔に辿り着くと、内部の管理コードが出鱈目な状態になっていた。通常のエラーではない。コードが衝突して互いに打ち消し合っている——故障ではなく、意図的な破壊だ。
俺はデバッガーズ・アイをさらに深く潜らせた。
表層のエラーを剥がして、その下の層へ。さらに下へ。通常のエンジニアがアクセスする領域を超えて、コードの根幹部分へ。
そこにあった。
コードの深層部、通常はアクセスが制限されている領域に——不自然な記述があった。
```
// BACKDOOR_ACCESS_POINT
// Author: [REDACTED]
// Created: 7 months ago
// Trigger: EXTERNAL_COMMAND(KEY_B3A7F91C)
if (received_command == KEY_B3A7F91C) {
BARRIER_SYSTEM.forceShutdown();
RECOVER_BLOCK = true;
}
```
「バックドアだ」
声に出てしまった。
シェルが「見えますか?」と俺の横に来た。クエリ魔法で補助的な情報を展開している。
「コードの深層部——通常のアクセス経路では辿り着けない場所に、隠し入口がある。外部から特定のコマンドを送ると、結界を強制シャットダウンできる仕組みだ」
「内部犯行」
シェルが静かに言った。
「そうだ。外から仕込むのは不可能だ」俺は断言した。「結界コードの管理権限を持つ人間が——事前に仕込んでいた」
アリアの顔が青ざめた。
シェルがすぐにクエリを詠唱した。「`SELECT commit_time FROM system_logs WHERE code_id='barrier_core' ORDER BY commit_time DESC`」
空中に表が浮かぶ。
一行のデータが、はっきりと示されている。
「コードのコミット日時——七ヶ月前。バックドアは七ヶ月前に追加されています」
「七ヶ月前……」俺は呟いた。「王都で何かあったか?」
アリアが——息をのんだ。
長い沈黙があった。
「七ヶ月前は——」アリアが、搾り出すように言った。「——第一王子、ヴァリド兄上が、王宮のシステム管理部門を一新した時期です」
部屋の空気が変わった。
俺はその情報を頭に収めた。
断定はしない。証拠が一点だけでは不十分だ。しかし——この情報は記録した。
「今は復旧が最優先だ」
俺は前を向いた。
感情的な話は後でいい。外ではまだモンスターが暴れている。住民が逃げ惑っている。
バックドアを見つけた。封鎖する方法も分かった。問題は——シャットダウン状態の結界を手動で再起動するシーケンスを組む必要があるということだ。
「メモリ、再起動プロセスの監視を頼む。俺が書き換えている間、外部からの妨害コマンドを遮断してくれ」
「了解です、マスター」
「シェル、バックドアの封鎖と同時に、結界の基盤プログラムのキャッシュを読み込んで。俺が再起動シーケンスを組む」
「理解しました。`SELECT * FROM barrier_cache WHERE version='last_stable'`——取得します」
「アリア、魔法的な側面でサポートを——このコードの書き換えは物理的な魔力干渉も必要になる」
「分かりました。論理魔法で補助します」
四人が動いた。
俺の指先がコードを書き換えていく。デバッガーズ・アイが深層部を走査して、バックドアの範囲を特定する。シェルのクエリが安定バージョンのキャッシュを引き出す。メモリが外部からの妨害を検知して、遮断する。アリアの論理魔法が魔力の乱れを整える。
```
// BACKDOOR_ACCESS_POINT - PATCHED
// Removed by: Debugger's Eye
// Status: BLOCKED
// BARRIER_SYSTEM: REINITIALIZING...
[BOOT SEQUENCE: 12%...35%...67%...89%...100%]
[STATUS] BARRIER_SYSTEM: ONLINE
[STATUS] All defense parameters: NORMAL
```
結界が——展開された。
王都の外縁部に、青白い光が戻ってくる。
モンスターが弾かれる音が、複数箇所で同時に起きた。
結界の内側に残っていた魔獣たちが、光に押し出されるように後退していく。最後の一体——ガルドが市場の広場で仕留めていた——が、斬られて崩れ落ちた。
「こっちは終わった」
ガルドが制御塔に戻ってきた。剣に血がついている。自分は無傷だ。「そっちは?」
「完了した」
「——さすがだな」
ガルドが一言だけ言って、剣を拭った。
被害の確認が始まった。負傷者は多数。建物の損壊も各所で確認された。それでも——死者はゼロだった。奇跡的に。一歩間違えれば王都が壊滅していた規模の侵攻だったのに。
シェルが記録を取っていた。
淡々と、正確に、手帳に書き込んでいく。
その手が——わずかに、震えていた。
「シェルさん、手が震えています」
メモリが気づいて、そっと言った。
シェルは手帳から目を離さなかった。
「……データの記録です。止まりません」
「それは震えとは違う、と?」
シェルは答えなかった。
記録を続けた。
手の震えは——止まらなかった。
---
夜が来た。
俺たちは被害状況を把握し、応急処置の指示を出し、騎士団の担当官と情報を共有して——やっと一息ついた頃には、日が沈んでいた。
廃墟になりかけた建物の前を、ガルドと並んで歩いた。
「俺、昔こういう光景を見たことがある」
ガルドが珍しく、静かな声で言った。
「仲間が死んだ時だ」
振り返らずに前を向いたまま、続ける。
「今日は誰も死ななかった。それは——お前のおかげだ、蓮」
俺は答えを返さなかった。
ただ前を向いて、歩き続けた。
事件は終わっていない。バックドアを仕込んだ者は、まだいる。ヴァイラスは、まだ動いている。王都のスキャンが完了したなら——次の場所へ向かうだろう。
むしろ——始まったばかりだ。
次回、第23話「インシデント・レポート」——事実は、感情より先に語られる。




