開戦から一ヶ月。王都のインフラは、ギリギリで持ちこたえていた。
「管理者、報告。昨日の攻撃パターンを解析した結果、帝国が新しい攻撃手法を試している」
リーティアの声が、緊張していた。
「どういう攻撃?」
「今までは力押しだった。過剰魔力投入、パケット殺到、干渉信号。すべて物量作戦」
「でも昨日の攻撃は違う。ピンポイントで弱点を突いてきた」
リオンは眉をひそめた。
「帝国が学習してきたのか」
「おそらく。僕たちの防御パターンを分析して、穴を探している」
「厄介だな」
セラフィーナが作戦室に入ってきた。
「リオン、話がある」
「何?」
「昨日の攻撃、見たか?」
「うん。ピンポイントで弱点を突いてきた」
「あれは、帝国の解呪技師の仕業だ」
セラフィーナは真剣な目で言った。
「力押しじゃなく、構造を解析して弱点を見つける。それが解呪技師の戦い方」
「君と同じような?」
「そう。私が帝国にいたとき、同じことをやっていた」
セラフィーナは羊皮紙を広げた。
「昨日の攻撃箇所。第三防壁の魔力分散層、第五通信中継陣の認証ルーチン、第二水浄化魔法陣のフィルタリング層。すべて設計上の弱点だ」
「偶然じゃない。帝国の解呪技師が、構造を解析して狙ってきた」
リオンは深く息を吐いた。
「なら、こっちも対策しないと」
「そう。だから提案がある」
セラフィーナは真剣な目でリオンを見た。
「私にペネトレーションテストをさせてほしい」
「ペネトレーションテスト?」
「攻撃者の視点で、王国の魔法陣を攻撃する」
セラフィーナは淡々と言った。
「もちろん実際には壊さない。でも、もし私が帝国の解呪技師だったらどこを狙うか、どうやって突破するか。それを洗い出す」
「帝国の手口を知ってるのは、私だけだ」
リオンは考えた。
ペネトレーションテスト。侵入テスト。セキュリティの世界では一般的な手法だ。味方が攻撃者の視点でシステムを攻撃し、脆弱性を洗い出す。
でも、この世界では前例がない。
「アルヴィス局長に相談しないと」
「わかった」
一時間後、アルヴィスが作戦室に来た。
「ペネトレーションテスト?」
「はい」
セラフィーナは説明した。
「私が攻撃者として王国の魔法陣を攻撃し、弱点を洗い出します」
「お前は、元帝国の工作員だぞ」
「だからこそ、帝国の手口がわかる」
アルヴィスは難しい顔をした。
「信用できるのか?」
「僕は信用してます」
リオンが口を挟んだ。
「セラフィーナは、今まで何度も王国のために働いてくれました。それに、帝国の攻撃手法を知ってる人は彼女しかいません」
アルヴィスは長い沈黙の後、頷いた。
「わかった。だが条件がある。お前が監視しろ、リオン。セラフィーナが何をしているか、すべて記録する」
「了解です」
翌日、セラフィーナのペネトレーションテストが始まった。
場所は第一防壁。
「では、始める」
セラフィーナは【解呪】を発動した。
魔法陣の構造が、セラフィーナの目に浮かび上がる。魔力の流れ、処理層の配置、入力パスの設計。すべてが透けて見える。
「なるほど」
セラフィーナは呟いた。
「この防壁、物理攻撃への対策は完璧だ。でも——」
「魔力攻撃への対策が甘い」
セラフィーナは指を差した。
「ここ、魔力分散層の処理順序に隙がある。特定のパターンで魔力を送り込めば、処理が追いつかなくなる」
「どういうこと?」
リオンが尋ねた。
「防壁は魔力を分散して吸収する。でも分散処理には順序がある」
セラフィーナは図を描いた。
「まず入力を受け取り、次にパターン解析、そして分散処理。この順序は固定だ。もしパターン解析を意図的に遅延させたら?」
「処理が詰まる」
「そう。パターン解析が終わるまで分散処理が始まらない。その間に大量の魔力を送り込めば——」
「バッファオーバーフローだ」
リオンは理解した。
「処理待ちのキューが溢れて、防壁が制御不能になる」
「正解。これが帝国の解呪技師が使う手口だ」
「対策は?」
「パターン解析に時間制限を設ける。一定時間以内に終わらなければ、デフォルトの処理を適用する」
「タイムアウト処理か」
「そう。完璧な解析より、止まらないことを優先する」
リオンは頷いた。
「わかった。すぐに実装する」
セラフィーナは次の箇所を指差した。
「次、第三通信中継陣」
一日かけて、セラフィーナは王都の主要魔法陣すべてを診断した。
第一防壁、魔力分散層の処理順序に隙。第三通信中継陣、認証ルーチンのタイミング攻撃が可能。第二水浄化魔法陣、フィルタリング層のバイパスルートが存在。第四灯火魔法陣、魔力供給の優先度制御に穴。
夕方、セラフィーナは報告書をリオンに渡した。
「合計十二箇所の脆弱性を発見」
「多いな」
「ああ。今まで見つかってなかったのが不思議なくらいだ」
セラフィーナは真剣な目で言った。
「帝国の解呪技師が本気を出せば、これらの脆弱性を全部突いてくる。今のままでは守りきれない」
「わかった」
リオンは報告書を握りしめた。
「今夜中に、対策を設計する」
その夜、リオンは一人で対策を考えていた。
十二箇所の脆弱性。すべてに対策を打つには、時間が足りない。
「優先順位をつけるしかない」
「管理者、提案がある」
リーティアが声をかけた。
「脆弱性を三段階に分類しよう。致命的、重大、軽微。リスクの高い順に対策する」
「そうだね」
リオンは報告書を見直した。致命的は第一防壁のバッファオーバーフローと第三通信中継陣の認証バイパス。重大は第二水浄化魔法陣のフィルタバイパスと第四灯火魔法陣の優先度制御。軽微は残り八箇所。
「致命的な脆弱性は今夜中に対策する。重大な脆弱性は三日以内。軽微な脆弱性は一週間以内」
リオンは立ち上がった。
「リーティア、エルナとセラフィーナを呼んで」
「了解」
深夜、三人が集まった。
「これから致命的な脆弱性の対策を実装する」
リオンは報告書を広げた。
「第一防壁のバッファオーバーフロー対策、パターン解析にタイムアウトを追加。第三通信中継陣の認証バイパス対策、多段認証に変更。今夜中に終わらせる。手伝ってくれ」
エルナとセラフィーナは頷いた。
「了解」
「任せて」
夜通しの作業が始まった。リオンが設計を書き、セラフィーナが検証し、エルナが実装する。リーティアが全体を監視し、異常があれば即座に報告する。
「第一防壁、タイムアウト処理を追加。テスト完了」
「第三通信中継陣、多段認証に変更。問題なし」
「よし」
リオンは深く息を吐いた。
「致命的な脆弱性、対策完了」
朝日が昇り始めた頃、すべての作業が終わった。
「お疲れさま、みんな」
リオンは疲れた顔で笑った。
「これで少しは安全になった」
セラフィーナが言った。
「リオン」
「ん?」
「私、初めて技術が人を守るために使えるって実感した」
セラフィーナの琥珀色の目が、真剣だった。
「帝国では壊すことしか教えられなかった。魔法陣を破壊し、インフラを落とし、国を崩壊させる。それが私の仕事だった。でも今は違う。守る側として技術を使える。それがどれだけ嬉しいか」
リオンは微笑んだ。
「ありがとう、セラフィーナ。君がいてくれて、本当に助かってる」
セラフィーナは少し頬を赤らめた。
「別に。技術的に興味深いから、やってるだけだ」
「そっか」
エルナが横から口を挟んだ。
「セラフィーナさん、素直じゃないですね」
「何?」
「リオンさんのこと、信頼してるんでしょう」
「別に。技術的に優秀だから協力してるだけだ」
セラフィーナは視線を逸らした。エルナは少し不満そうだったが、何も言わなかった。
リオンは二人のやり取りに気づかず、報告書を見ていた。
「残り十箇所の脆弱性、三日以内に対策する。時間がないけど、やるしかない」
翌日、帝国からの攻撃が再び激化した。
「管理者、警告。第一防壁への攻撃。パターン解析遅延を狙った攻撃を検知」
「来たか」
リオンは立ち上がった。
「でも、もう対策済みだ」
第一防壁に、複雑な魔力パターンが送り込まれる。パターン解析が意図的に遅延する。でもタイムアウト処理が発動した。
「タイムアウト検知。デフォルト処理を適用。防壁機能、維持」
「成功だ」
帝国の攻撃は防がれた。
「管理者、第三通信中継陣への攻撃。認証バイパスを試みている」
「こっちも対策済み」
第三通信中継陣に、不正な認証パケットが送り込まれる。でも多段認証が機能した。
「第一認証を通過。第二認証で拒否。不正アクセス、遮断」
「よし」
帝国の攻撃はすべて防がれた。
「全魔法陣、正常稼働。被害なし」
リーティアが報告する。
「やった」
リオンは安堵のため息をついた。
アルヴィスが地下に降りてきた。
「リオン、見事だ」
「セラフィーナのおかげです」
「そうだな」
アルヴィスはセラフィーナを見た。
「セラフィーナ、お前の技術は本物だ。元敵だったが、今は王国のために働いてくれている」
アルヴィスは深く頭を下げた。
「感謝する」
セラフィーナは驚いた。
「頭を上げてください、局長。私はまだ信用されてないと思ってました」
「信用している」
アルヴィスは真剣な目で言った。
「お前がいなければ、今日の攻撃は防げなかった」
セラフィーナは少し目を潤ませた。
「ありがとうございます」
その夜、セラフィーナは一人屋上に立っていた。夜空を見上げる。
「初めて、認められた」
呟いた。
「帝国ではただの駒だった。命令されたから壊した。それだけ。でもここでは違う」
「技術が、人を守るために使える。それがどれだけ嬉しいか」
セラフィーナは微笑んだ。
「リオン。あなたに出会えて、良かった」
背後から、リオンの声がした。
「セラフィーナ」
セラフィーナは振り返った。
「リオン……どうして」
「君がここにいるの、なんとなくわかった」
リオンは隣に立った。
「今日は、本当にありがとう」
「別に。技術的に興味深かっただけだ」
「そっか」
リオンは微笑んだ。
「でも、君がいてくれて助かってる」
セラフィーナは少し間を置いて言った。
「リオン。私、帝国でたくさんの魔法陣を壊した。そのせいでたくさんの人が困った。水が止まり、灯火が消え、通信が途絶えた。今さら償えるとは思ってない」
「でも——」
セラフィーナはリオンを見た。
「今は守る側として働ける。それがせめてもの贖罪だと思ってる。だから最後までやらせてくれ」
リオンは頷いた。
「もちろん。君は大切な仲間だから」
セラフィーナは顔を赤らめた。
「仲間、か」
「うん」
「そっか」
二人は、しばらく黙って夜景を見つめていた。風が吹く。星が輝いている。
僕の戦場は裏方だ。でも一人じゃない。セラフィーナもエルナも、みんなが支えてくれている。だから守り抜ける。この国のインフラを、最後まで。
**あとがき**:攻撃者視点で防御を見直す「ペネトレーションテスト」が主軸の第53話。セラフィーナの「壊す側から守る側へ」という転換が、技術そのものではなく使う人の意志で決まることを示しています。バッファオーバーフロー対策の「完璧より止まらないこと優先」は、現実のセキュリティにも通じる発想です。