王都でのサニタイズ層展開が完了した翌日。
リオンは魔術局の会議室で、カティアと向き合っていた。
「辺境にも同じ脅威がありますね」
カティアの言葉に、リオンは頷いた。
「はい。王都で起きたインジェクション攻撃は、辺境でも再現できます。むしろ」
「むしろ?」
「辺境の方が防御体制が薄い。狙いやすいはずです」
カティアは地図を広げた。アステリア王国全土の地図だ。
「辺境の農地魔法陣は何ヶ所ありますか」
「ルーンフェル村、ミルデ村、ブラント村、ラーゼン、ハーゼル……少なくとも十五ヶ所以上です」
「では、すべてにサニタイズ層を実装する必要がありますね」
「そうです。ただ」
リオンは資料を取り出した。
「王都では私とアルヴィス局長が直接実装しましたが、辺境まで私が行くのは時間的に厳しい。辺境は」
「エルナに任せる、ということですか」
リオンは一瞬、躊躇した。
エルナは優秀だ。魔力操作の腕は確かで、リオンの方法論も理解している。だが、サニタイズ層の実装は繊細だ。一つ間違えれば、正常な動作まで阻害してしまう。
「……不安ですか」
カティアが静かに聞いた。
「少しだけ」
「でも、信頼はしているんですね」
「はい」
「なら、任せてみてはどうですか。あなたはいつも『属人化はリスクだ』と言っているでしょう」
リオンは苦笑した。
「自分の言葉に縛られてますね」
「ええ。でも、それがあなたの良いところです」
その日の午後、リオンはエルナを呼んだ。
「辺境のサニタイズ層展開、あなたに任せたい」
エルナの目が見開かれた。
「……私に?」
「はい。設計書と手順書はすべて渡します。ミーナも同行させます。辺境の各村を回って、農地魔法陣にサニタイズ層を実装してください」
「でも、私一人で——」
「一人じゃないです。通信魔法陣で常に連絡を取れます。何か問題があれば、すぐに相談してください」
エルナは設計書を受け取り、じっと見つめた。
「……リオンさんは、来ないんですか」
「王都にはまだやることがあります。それに——」
リオンはエルナの目を見た。
「あなたなら、できます」
エルナの頬が少し赤くなった。
「……分かりました。やります」
翌朝、エルナとミーナは辺境への馬車に乗り込んだ。
「頑張ってきます、リオンさん!」
「気をつけて。何かあったらすぐに連絡してください」
「はい!」
馬車が走り出す。リオンはその後ろ姿を見送った。
「心配か」
アルヴィスが隣に立っていた。
「……少しだけ」
「だが、任せたのだろう」
「はい」
「なら、信じろ」
アルヴィスはそう言って、踵を返した。
三日後。
最初の報告が通信魔法陣で届いた。
「リオンさん、ルーンフェル村の農地魔法陣、サニタイズ層の実装完了しました!」
エルナの声が弾んでいた。
「テスト結果は?」
「正常入力は通過、異常入力は全部弾きました! 設計書通りです!」
リオンは安堵の息を吐いた。
「よくやりました。次はミルデ村ですね」
「はい! 手順書の通りに進めます!」
通信が切れた後、リオンは小さく笑った。
「……できてるじゃないか、エルナ」
エルナの報告は日を追うごとに正確になっていった。
「ブラント村、完了。テスト結果は良好です」
「ラーゼン、完了。ただし——」
「ただし?」
「土壌魔力の入力パターンが、設計書の想定範囲をわずかに超えています。これは正常値として扱っていいですか?」
リオンは資料を確認した。
「それ、この地域の土壌特性です。設計書の補足資料に記載してあります。範囲を微調整してください」
「了解です! ……あ、ありました。補足資料の三ページ目ですね」
「その通り。よく気づきましたね」
「リオンさんが『異常値は必ず理由がある。調べずに無視するな』って言ってたので」
リオンは思わず笑った。
「よく覚えてましたね」
「当たり前です。リオンさんの教え、全部覚えてますから」
一週間後。
エルナとミーナが王都に戻ってきた。
「ただいま戻りました!」
エルナが報告書を差し出した。
「辺境十五ヶ所の農地魔法陣、すべてにサニタイズ層を実装しました。テスト結果はすべて良好。異常値検知、不正術式の遮断、すべて正常に動作しています」
リオンは報告書に目を通した。実装記録、テスト結果、各村の魔術師への説明記録——すべてが丁寧に記録されている。
「……完璧ですね」
「本当ですか!?」
「ええ。これなら、僕がやったのと同じレベルです」
エルナの顔が輝いた。
「やった……!」
「お疲れ様でした、エルナ」
「リオンさんの手順書があったから、できました!」
「いえ。手順書があっても、実行するのはあなたです。よくやりました」
エルナは嬉しそうに笑った。その笑顔を見て、リオンは——少しだけ、肩の荷が下りた気がした。
一人で全部やる必要はない。信頼できる仲間がいる。任せられる。
その夜、工房で三人が夕食を囲んだ。
「辺境の村長さんたち、みんな喜んでましたよ」
ミーナが楽しそうに話した。
「『これで王都と同じ対策ができる』って。リオンさんが辺境を見捨てなかったことに、感謝してました」
「見捨てるわけないです」
「でも、王都の方が忙しかったでしょう?」
「忙しいけど——辺境も大事です」
エルナが嬉しそうに頷いた。
「リオンさんらしいです」
「それより、エルナ」
「はい?」
「今回の展開で、気づいたことはありますか」
エルナは少し考えて、答えた。
「手順書の大切さ、ですかね。リオンさんの手順書があったから、私一人でも実装できました。もし手順書がなかったら——きっと途中で詰まってました」
「他には?」
「……入力値は信用するな、ですか」
リオンは頷いた。
「その通り。魔法陣に入ってくるデータは、すべて疑う。正常に見えても、本当に正常か検証する。それがサニタイズの本質です」
「なんだか、人を疑ってるみたいで——最初は嫌でした」
「分かります。でも——」
「でも?」
「疑うのは『データ』であって、『人』じゃないです。人は信頼する。でも、データは検証する」
エルナは目を丸くした。
「……それ、すごく納得しました」
「前の世界で学んだことです」
翌日、リオンはアルヴィスに辺境の展開完了を報告した。
「エルナ一人で、十五ヶ所すべてを?」
「はい。報告書も完璧です」
アルヴィスは報告書を読み、小さく頷いた。
「……成長したな、あの娘は」
「ええ」
「お前の教育の賜物か」
「いえ、エルナ自身の努力です」
アルヴィスはリオンを見た。
「お前は本当に、手柄を自分のものにしないな」
「手柄じゃなくて、チームの成果ですから」
「……ふん」
アルヴィスは照れ隠しのように顔を背けた。
「とにかく、これで王都と辺境の農地魔法陣はすべて保護された。インジェクション攻撃のリスクは大幅に減少した」
「はい。ただし——」
「ただし?」
「これで終わりじゃありません。相手は必ず次の手を打ってきます」
「分かっている」
アルヴィスは窓の外を見た。
「だが、以前の我々なら——こんな対策すらできなかった。お前が来てから、この国の魔法インフラは確実に強くなっている」
「……ありがとうございます」
「礼を言うのは私の方だ」
アルヴィスはそう言って、部屋を出て行った。
夜。
リオンは工房の屋根に上がり、星空を見上げていた。
王都と辺境、すべての農地魔法陣にサニタイズ層が実装された。これで、少なくともインジェクション攻撃は防げる。
だが——これで終わりじゃない。
攻撃者は次の手を打ってくる。MITM、なりすまし、インジェクション——段階的にエスカレートしている攻撃は、まだ終わらない。
「次は何を仕掛けてくるか……」
リオンは呟いた。
だが——今は一人じゃない。
エルナがいる。アルヴィスがいる。ミーナがいる。カティアがいる。リーティアがいる。
みんなで守ればいい。
「さて、次に備えよう」
リオンは工房に戻り、手順書を開いた。
次の攻撃に備えて——記録を残す。
それが、リオンの戦い方だった。
【あとがき】
第41話「入力値は信用するな」でした。サニタイズの実装が完了。守りの技術は地味だが、インフラを支える根幹です。