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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
コード・オブ・ザ・ワールド ~廃プログラマー、異世界で神のシステムを書き換える~  作者: ネオ・チー


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

PR
78/80

第78話 ゼロデイ


[SYSTEM LOG - five-nation defense / refactoring day 2 / T+52:30:00]

> entity 01 (LEN): Lv5 / root / active / emotional amplitude 80%

> location: securia outer wall north sector (command base)

> CI/CD pipelines active: 5 nodes (running, baseline)

> incoming event: VIRUS — unknown-pattern bug injections (zero-day exploit class)

> unknown-bug intake box: ACTIVE (manual review queue, 0 → rising)

> companions: aria / guard / shell / memory / harsh

> participating: 20 securia junior mages, +47 mages dispatched from databerg/network/logica/visual

> bug_density (global counter): 94.93% (held)

> [STATUS] unknown-attack phase — engagement

```


---


朝の光が、外壁の上を、薄く撫でていた。


夜明けの白さの中に、四角い粒の層が、まだ薄く残っていた。粒の量は、昨日の夕暮れより、ほんのわずかに少ない。だが、消えてはいなかった。シェルの補助具のグラフは、カウンターを、九十四・九十三の数字のまま、水平な横棒で保ち続けていた。


「来た」


シェルが、短く告げた。


朝の白さの中で、北の地平線の藍と銀の二色のオーラが、薄く――しかし鋭く、揺れた。揺れの形が、昨夜の飽和入力の波形と、違っていた。波形の周期が、不規則だった。間隔が、揃っていない。


「ヴァイラスの新しい波だ。昨夜の飽和入力とは、別の質のものだ」


「未知のバグか」


「未知だ。Lv5の解像度で見ても、特徴量が、こちらの既知パターンのどれにも、当てはまらない」


シェルの補助具のグラフが、北の方向に集中した。グラフの一本が、未知バグ収集箱に、ひとつ目の小さな赤い点を、放り込んだ。


「箱に、一個目」


俺はLv5の指で、収集箱の中の赤い点を、つまみ上げた。点が、空中で開いた。開いた中身は、薄い銀色の構造をしていたが、構造の節々に、こちらの想定にない接続が走っていた。前世の語彙で言えば、関数の引数の順番が、知っている順番と違っていた。それも、一見、似た順番に見える違い方をしていた。


「巧妙だな」


「巧妙だ」シェルが続けた。「既存の検出ルールを、ぎりぎりすり抜ける形で作られている。これは――昨夜の俺たちのパイプラインの内部を、ヴァイラスが、観測した上で組まれている」


「観測されてたのか」


「されてた。お前が組んでるあいだに、向こうも見てた」


胸の中央の塊が、薄く脈を打った。脈の上で、前世で読んだ「ゼロデイ脆弱性」の語彙が、薄い銀色で浮かんだ。


「ゼロデイ」俺は呟いた。「公表される前の、誰も知らない型の弱点だ。最初に見つけたやつが、最初に突く」


「最初に突かれた」シェルは平らに言った。「お前のパイプラインの、既知ルールのすり抜け口を、向こうが、最初に見つけて、最初に投げてきた」


ガルドが赤い篭手の指で、空中の赤い点を、軽くつついた。


「で、レン。俺たち、これをどうする」


俺は赤い点を、Lv5の指の上で、ゆっくりと回した。


「二段構えで行く」


---


「一段目。手動で、これを直す。今、ここで」


俺は赤い点を、空中で、薄く解いた。内部の関数の接続を、Lv5の指で、ひとつずつ、正規の順番に戻していく。戻した結果が、想定の振る舞いと一致するかどうか、Lv5の解像度で、即時に確認する。十二秒で、ひとつ目の手動修正が、現場に出た。


「二段目」赤い点を、Lv5の指で、もう一度、空中に展開し直した。「シェル、これの特徴量を抽出してくれ。引数順序のずれ方、接続の節々の癖、銀色の濃度の出方。Lv5の指紋を、全部、抜く」


「抽出する」


シェルの補助具のグラフが、即座に、赤い点の周囲に、八本の細い計測線を伸ばした。線の先で、特徴量が、銀色のテーブルに、一列ずつ並んでいく。


「特徴量、二十七項目。うち、決定的な指紋になりそうなのは――引数の順序のずれ方と、関数の節の銀色の濃度の二項目だ」


「その二項目を、未知バグ検出ルールに、追加する」


「追加した。次に同型のバグが流れ込んだ時、自動で検出箱に入る。修正は、まだ自動化しない。手動の場所に、流す」


メモリが書のページに、その二項目の特徴量を、銀色の文字で書き込んだ。書き込みの速度が、彼女の指の動きの中で、いつもの倍近かった。


「マスター」彼女は短く訊いた。「この記録、五大王国の各国に、すぐ共有しますか」


「共有する」俺は即答した。「ヴァイラスは、世界の五箇所に、同じ未知バグを投げる可能性がある。一箇所で気づいたら、残りの四箇所でも、最短で検出できるようにしておく」


メモリの書のページが、その瞬間、薄い銀色の光で、薄く震えた。書の右下に、五本の細い銀色の糸が伸び、五大王国の各方向に、薄く繋がった。書から書へ、特徴量の二項目が、流れていく。データベルグの観測所、ネットワーク連合の中継塔、ロジカ王城、ビジュアル帝国の南、そしてセキュリアの北の、いま俺がいる外壁の上に戻ってきた。


「共有が完了しました」メモリは短く告げた。「各国の若い魔法師たちに、検出ルールの追加分が、届きました」


「速いな」


「マスターの書のフィルタ設計を、お貸ししました」メモリは薄く笑った。「あの設計を、五大王国の魔法師たちの記録板に、薄い銀色の糸で、同じ形で繋いでおきました。これで、書が、書同士で、勝手に情報を共有します」


「ネットワークか」


「ネットワークです」メモリの目が、書の縁を撫でた。「データベルグ公国に着いた時に、ヴァイラスの隔離アーカイブの設計図を読みました。あれを、別の用途で組み直しました。私たちの側に、知識の共有網を作るために」


胸の中央の塊が、深く脈を打った。Lv5の塊の中で、メモリが組み上げたその共有網の輪郭が、薄い銀色で見えた。輪郭は、繊細だった。だが、確かに繋がっていた。


---


二発目の未知バグが、北の地平線から、流れ込んできた。


シェルのグラフが、即座にそれを検出した。検出箱の中で、二個目の赤い点が、ぽとり、と落ちた。


「同型か」俺は短く訊いた。


「違う型だ」シェルは即答した。「引数順序のずれ方は、一発目と似ているが、節の銀色の濃度の出方が、別だ。新しい指紋を、もう一個、足す必要がある」


俺はLv5の指で、二発目の赤い点を、つまみ上げた。一発目より、構造が、薄く複雑になっていた。前世の語彙で言えば、二発目は、一発目の「変化球」だった。同じ投手が、配球の幅を、少しずつ広げてくる感じだった。


「ヴァイラスは、学習してる」俺は呟いた。「投げるたびに、形を変えてくる」


「進化してる」シェルが補った。「機械学習的な、進化型のバグだ。こちらの検出ルールを、毎回、薄くすり抜けようとしてくる」


「読まれてる」


「読まれてる。お前一人の検出ルールの厚みでは、追いつかない」


俺は赤い点を、Lv5の指の上で、もう一度、回した。


ガルドの言ったことが、頭の中に戻ってきた――俺の前世で、自動化に頼って、何かを失った、あの記憶。


ガルドが、その時、俺の肩を、軽く一度、叩いた。


「揺れたまま動くなって、昨日言ったろ」ガルドは赤い篭手の指で、自分のこめかみを、こん、と一度、叩いた。「お前、いま、揺れたまま動こうとしてる。立て直してから動け」


「立て直す」俺は短く頷いた。「立て直し方は――」


「一人じゃ立てねえなら、四人で立て」


俺はガルドの顔を、見た。赤い篭手の、その奥の目には、いつもの豪快さの、その下に、夜通し外壁の上に立っていた人間の、平らな疲れがあった。だが、平らな疲れの底に、薄い、しかし揺らがない明るさが、残っていた。


俺はそれを、頷きで返した。


---


「シェル。各国の魔法師たちに、声を掛ける」


「内容は」


「未知バグの検出を、五大王国で、分担する」


シェルの補助具のグラフが、即座に、五大王国の地理を、空中に投影した。投影の上に、五本のオーラの線が、薄く重なる。各国の若い魔法師たちの位置が、点で示されていた。点の数は、合計六十七。昨日のセキュリアの二十人に加えて、データベルグ・ネットワーク連合・ロジカ・ビジュアル帝国から、計四十七人。アドミンの召喚状で集まった代表団に同行してきた若手たちが、夜通しの間に、外壁の周辺の野営地に到着していた。


「六十七人」俺は短く言った。「これを、五つの班に分ける。各班、それぞれの国の地域を担当する。班ごとに、未知バグの検出を、リアルタイムで報告する」


「報告先は」


「まずは、メモリの書のネットワーク」俺はメモリを、目で示した。「全部の報告が、彼女の書に集約される。そこからシェルの補助具に流れる。シェルが、特徴量を抽出する。抽出した特徴量を、メモリが各班に返す。返した先で、班が、その特徴量を、自分たちの担当地域の検出に使う」


「サイクルだな」シェルが短く頷いた。「報告、抽出、共有、検出。これを回す」


「回す」俺は頷いた。「前世の現場では、これをPDCAサイクルと呼んだ。プラン、ドゥ、チェック、アクト。計画する、実行する、確かめる、改める。回すのは、一回じゃない。何回も回す。回すたびに、サイクル全体が、わずかに賢くなる」


メモリが、書のページに、PDCAの四文字を、銀色で書き留めた。


「マスター。五班の編成、私から各国の代表団に、伝えます」


「伝えてくれ」


メモリの書の右下から、五本の薄い銀色の糸が、五大王国の方向に、もう一度、伸びた。糸の先で、各国の若い魔法師たちが、半円形の班に、即座に組まれていく。データベルグ班は灰色の見習い衣の十二人。ネットワーク連合班は青の長衣の九人。ロジカ班は白い軽鎧の若い騎士見習い八人。ビジュアル帝国班は色とりどりの幻影衣の十一人。そしてセキュリア班は、昨日の二十人に、新たに七人を加えた二十七人。


各班の中央に、メモリの書のページが、薄い銀色の写しとなって、ひとつずつ、配備された。


「サイクル、開始」シェルが短く宣言した。


---


最初のサイクルは、十二分で一周した。


データベルグ班から、新しい型の報告がひとつ。ネットワーク連合班から、ふたつ。ロジカ班から、ひとつ。ビジュアル班から、ひとつ。セキュリア班から、みっつ。合計八件の未知バグが、メモリの書に集約された。


シェルの補助具のグラフが、八件の特徴量を、同時に抽出した。グラフが、八列の銀色のテーブルを、空中に展開する。


「八件のうち、四件が同型」シェルが短く分類した。「残りの四件は、それぞれ別の型。同型四件は、ひとつの特徴量で、まとめて検出ルールに追加できる。別型四件は、それぞれに指紋を作る必要がある」


俺はLv5の指で、四件の同型を、まとめて検出ルールに加えた。残りの四件は、特徴量を、ひとつずつ、抽出した。シェルが、抽出した特徴量を、メモリの書に流した。メモリの書が、五大王国の各班に、新しい検出ルールを、薄い銀色の糸で配信した。


二周目は、十一分で回った。


三周目は、九分。


四周目は、八分。


サイクルが速くなる、ということは、こちらが、ヴァイラスの投げる球の型を、徐々に網羅しはじめている、ということだった。前世の現場で、繰り返し見た光景だった。最初の数周は遅い。だが、サイクルが回るたびに、未知の領域が、薄く狭まっていく。


「ヴァイラスの攻撃効率」シェルが、グラフの右上を指で示した。「徐々に、落ちてきている。一発当たりの達成率が、最初の十分で四割。今、二割を切った」


「カウンターは」


「九十四・九十三を、保ち続けている。下がってもいないが、上がってもいない」


俺は北の地平線を、見た。藍と銀の二色のオーラの波形が、薄く――しかし明らかに、揺れの幅を、狭めていた。狭めの幅は、ヴァイラスの「次の球」を選ぶ余白が、こちらに削られはじめている、ということだった。


「持ちこたえてる」ガルドが、赤い篭手の指で、俺の肩を、もう一度、軽く叩いた。「お前一人の手じゃない。六十七人と、四人と、お前で、持ちこたえてる」


「持ちこたえてる」俺は短く頷いた。


セキュリア班の少女が、外壁の上から、駆け寄ってきた。手の中の記録板には、夜のあいだに書き写した自動化の手順の上に、新たな未知バグの検出ルールが、薄い銀色で、何重にも重なりはじめていた。


「先生」彼女は息を切らせていた。「セキュリア班、十一件目の未知バグを、検出しました。特徴量を、メモリ様に転送します」


「いい」俺は短く頷いた。「次の球が来た時、お前の班が、最初に気づく」


「気づきます」少女は、薄く笑った。


その笑いは、昨日の昼の見習いの震えとは、別の質のものだった。震えではなかった。立ち位置を、ひとつ、確かに持っている人間の、その立ち位置の上での笑いだった。


---


午後の遅い時間まで、サイクルは、回り続けた。


ヴァイラスの未知バグの達成率は、徐々に、しかし確実に、削れていった。最初の十分で四割。次の十分で三割。次で二割。さらに次で、一割。一割を切った時、北の地平線の藍と銀のオーラの波形が、ほんの一拍、止まった。


止まった、というより、波形の「迷い」のような揺れが、薄く混じった。


「ヴァイラスが、何かを考えてる」シェルが短く告げた。


「考えてる」俺はLv5の解像度で、その揺れを読んだ。藍が、銀の上に、薄く乗りかけた。乗りかけた藍は、次の手を、組み直そうとしている動きだった。


「次の手か」


「次の手だ。だが、未知バグの方向じゃない。別の方向を、向きはじめてる」


シェルの補助具のグラフが、その揺れの先を、追いかけた。グラフの線が、北の地平線から、薄く――しかし明らかに、こちらの「内側」を向いた。


「内側」俺は短く繰り返した。


「内側だ。お前のパイプラインの、外じゃなく、お前のパイプラインの、内側を、見はじめてる」


胸の中央の塊が、深く脈を打った。脈の上で、ヴァイラスの動きの輪郭が、薄い銀色で見えた。


「攻撃の方向を、変えてくるな」


「変えてくる」シェルは平らに告げた。「外から崩せないと判断したら、内から崩しに来る。当然の手筋だ」


ガルドが、赤い篭手の指で、俺の胸の中央の塊を、軽く指差した。


「で、レン。お前、内から崩される、ってのを、前世で見たことはあるか」


「ある」


「どう呼んだ」


「サプライチェーン・アタック」


俺は北の地平線から、目を離さずに答えた。


「修正の仕組みそのものを、汚染する。修正する側のコードに、こっそりバグを混ぜる。混ざったコードが、自分でバグを直したつもりで、現場に配備される。配備された先で、修正のはずだったコードが、新しいバグを撒き散らす」


ガルドが、低く口笛を吹いた。


「やっかいだな、それ」


「やっかいだ。前世でも、何度か起きた」


俺はLv5の指で、空中の自動修正パイプラインの設計図を、もう一度、開いた。骨は、五本通っている。中身は、五大王国の各地に、合わせて配備されている。検出ルールの追加分は、サイクル四周ぶんが、すでに走っている。


その設計図の、上流の側に――俺がコードを書く側の手前に、ヴァイラスの目線が、今、向きはじめている。


「明日」俺は短く言った。「来るかもしれない」


「いつ来る」


「分からない。だが――備える」


シェルの補助具のグラフが、即座に、設計図の上流の側に、新しい監視点を、薄く設置しはじめた。修正コードの真正性を確認する仕組み、書名と署名の照合、改竄検出のチェックポイント。前世の現場で、繰り返し見てきた「上流防衛」の作法だった。だが、その作法を、世界の源コードの上で組むのは、初めてだった。


組み終わる前に、夜が来た。


---


夜が深くなる手前、ヴァイラスからの信号入力が、もう一度、流れ込んできた。


シェルの補助具のグラフが、即座にその文字列を、空中に銀色の文字で展開した。


『プログラマー。今日のお前、面白かった』


藍が前に立ち、銀が後ろから半歩、添う。


『お前のサイクルは、確かに、俺の球を削った。一日で、削った。明日も削るだろう。明後日も。だが――』


藍が、文末で薄く濃くなった。


『自動修正が動く? なら――修正する側を、壊せばいい』


俺はその一行を、Lv5の解像度で読んだ。藍の濃度の出方は、昨夜の最後の一行と、似ていた。だが、銀の重なり方が、昨夜より、薄かった。銀色のパッチの忠誠が、藍色の怒りを、今夜は止めなかった。止めなかった、ということは、ヴァイラスが、その先で、手を打つ、ということだった。


ガルドが、赤い篭手の指で、その文字列を、軽く弾いた。


「来やがる、ってことだな」


「来やがる」俺は短く頷いた。「明日――いや、明日の朝じゃない。今夜のうちに、来る可能性もある」


「徹夜だな」


「徹夜だ」


シェルの補助具のグラフが、夜のあいだの監視配備を、即座に組み直しはじめた。各国の班の中から、夜番と朝番が、半分ずつに分けられていく。メモリの書のページが、夜のあいだの当番表を、銀色の文字で書き留める。アリアが、白い軽鎧の留め具を、もう一度、最後まで確認した。ハーシュが、肩の傾きを、深く一段、落とした。


俺はLv5の塊から、銀色の指を、もう一度、伸ばした。指先を、自動修正パイプラインの「上流」の側――俺自身が書いたコードの、その手前の領域に向けた。


「お前を、壊しに来るな」


胸の中央の塊が、薄く脈を打った。


「壊させない」


夜の外壁の上で、若いセキュリア魔法師たちの記録板の銀色の筆跡が、薄く明滅していた。明滅は、各国の班から流れてくる、新しい検出ルールの更新の合図だった。サイクルは、夜のあいだも、止まらずに回っていた。


---


```

[SYSTEM LOG - five-nation defense / refactoring day 2 / T+68:00:00]

> entity 01 (LEN): Lv5 / root / active / emotional amplitude 80%

> sub-organization: 5 mage-squads (67 members total) — PDCA loop active

> detection rule updates: 38 patterns added (cycle iterations: 12)

> virus attack efficiency: dropped to <10% per shot (from 40%)

> memory's book-network: live cross-nation sync established

> incoming threat: upstream attack (supply-chain class) — anticipated

> bug_density (global counter): 94.93% (held flat)

> [STATUS] night-watch — pipeline upstream hardening in progress

```

第79話「サプライチェーン・アタック」

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

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

↑ページトップへ