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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
9/33

第8話 バグクラッシャー、異世界をねじ伏せる

ゴーレムとのバトル回です。

 アキトは、ゴーレムの鈍重な動作を食い入るように注視し、脳内の処理速度を極限まで高めながら「超高速デバッグ」のスキルを発動した。


 鈍重ながらも、その動きには、まるでバグだらけのプログラムのような、一定のパターンの中に潜む予期せぬ挙動がある。


 そして、彼の超自然的な能力が、ゴーレムの動作のわずかなパターンの中に、まるでノイズのような微細な異常を感知した。


(あれは……バグか!?よし、あそこを狙ってスキルを発動させてみよう!)


 アキトは、その一瞬の隙をついて意識をさらに深く集中させ、まるで相手の思考回路に侵入するように『相撲心理分析』のスキルを発動させる。


 相手のぎこちない動作パターン、エネルギーの流れの偏り、そして微かに感じられる制御コードの不規則な揺らぎ……


 それらを複合的に分析し、ゴーレムの深層心理、あるいは制御コードの核に、まるで探査機のように意識を潜り込ませる。


(よし、何となくフィーリングでやってみたが、できたっぽいぞ、異世界らしいご都合主義だ。)


 その瞬間、アキトの目の前に突然、古めかしいドット絵のようなソフトウェアキーボードが登場し、脳内に見慣れた緑色の文字が流れ込んできた。


「// スクラップゴーレム制御 Ver.0.7\nvar targetDistance;\nfunction moveTowardsTarget() {\n targetDistance = calculateDistance(target);\n if (targetDistance > 5) {\n // 前進コード...\n } else {\n // 攻撃コード...\n }\n}\n// 脆弱性:距離判定のバグ ← ここが甘い\nif (targetDistance == 0) {\n // 例外処理が不十分... ← ここに問題がありそうだ\n}\n」


「javascript……!おいおい懐かしいじゃないか。昔は嫌になるほど付き合っていたものだが……しかもスキルでバグが見えちゃってるぞ。これならなんとかなるかな。昔取った杵柄だ、やってみよう」


 アキトのエンジニア魂が、静かに、しかし確実に燃え上がった。


 アキトは、脳内の処理能力を極限まで高め、まるで何重もの防御壁を突破するように『深層コード解析 (Lv.MAX)』を発動させた。


 流れ込んできたコードを瞬時に、まるで熟練の職人のように解析する。


 距離判定の甘さ、例外処理の不備……デバッガのような流れででステップ実行と式の評価を繰り返し、問題の原因となる変数の挙動を特定していく。

(よし、ここで、『世界改変AI構築 (Lv.8)』……管理者権限を奪取する!)


 アキトは、頭の中で、まるで精密機械を組み立てるように高速に、そのAIの制御を奪取するためのエクスプロイト・コードを構築し始めた。


 脆弱な距離判定ルーチンを悪用し、意図的に例外処理を発生させ、メモリ領域を書き換えることで、AIの優先順位を操作、そしてなんと、ハードコーディングされていた、お粗末な管理者IDとパスワードを特定し、それを書き換えて管理者権限を奪取する。


「よし、ここでデプロイすりゃいいんだが、、、おっと、こりゃまずいかな『相撲心理分析!』」


 再び、ゴーレムが錆び付いた腕を振り上げる。


 しかし、その動きは先ほどよりもほんのわずかに遅い。


 アキトの心理的な揺さぶりに、ほんの一瞬、制御コードの処理が遅延したのだ。

「よし、今のうちに、、、コミット、マージ、そして……デプロイ!」


 アキトは、全身の神経を集中させ、まるで目に見えない光の奔流のように、構築したコードをゴーレムの制御システムに向けて放出した。


 目に見えない情報の奔流が、古びたゴーレムの金属の体を透過し、内部の脆弱なAIへと侵入していく。


 数秒後、スクラップゴーレムは動きを止め、きょろきょろし始めた。


 アキトは管理者権限を行使し、その制御コード全体を、まるで熟練のSEがレガシーコードをリファクタリングするように見直し、スムーズに動作するように最適化を図った。


 そして、最後に、その行動を「ひれ伏す」ように書き換えた。


(よし、これでなんとかなったかな。ぶっつけ本番だが、動いてくれよ…!)


 次の瞬間、スクラップゴーレムは、その巨体をゆっくりと地面に倒し、アキトに向かって土下座の体勢をとった。


「ゴシュジンサマー、書き換えアリガトウ❤ スゴイスゴイ、カラダガスムーズにウゴクヨ~」


(ふむ、一応これで目的は達成した、か……)


 アキトは、意識を制御コードから引き上げたが、ふと、脳内にアクセスした際に見えた、簡素なAIの管理情報がよぎる。


 「そういえば、こいつの制御に関する、お粗末なドキュメントらしきものが、アクセスした時に少し見えたな……確か、リポジトリのアドレスも……」


アキトは、頭の中で微かに残る断片的な情報を辿り始めた。


「……github……scrap_golem……test_cases……あった、これか」


 意識を集中すると、アキトの脳内に、飾り気のないテキストファイルで記述されたテストケースの内容が流れ込んできた。


// 基本動作テスト

testMoveForward();

testTurnLeft();

testTurnRight();

// 攻撃パターンテスト

testPunchAttack();

testSmashAttack();


// 例外処理テスト

// testInvalidInput(); // コメントアウトされている」

// testOverload(); // コメントアウトされている


「……おいおい、これじゃあ基本的な動作と攻撃のテストしかないじゃないか。さっき俺が苦労した、例外処理に関するテストが完全に抜け落ちているぞ。というか、工数を削減するため意図的にスキップしやがったな。 これじゃあ、似たようなバグがまたすぐに発生する可能性だってあるじゃないか……」


アキトは、用意の甘いテストケースに呆れたように呟いた。


「これじゃあかわいそうじゃないか、今後のユーザーのために、俺がちょっとテストケースも追加しておいてやるか……」


 再び、アキトはソフトウェアキーボードを呼び出し、頭の中で追加すべきテストケースのコードを、まるで慣れた手つきで書き始めた。


JavaScript

// 例外処理テスト

testInvalidDistanceInput(); // 無効な距離入力

testZeroDistanceAttack(); // 距離0での攻撃

testResourceReleaseFailure(); // リソース解放失敗


「よし、こんなもんか」アキトは、書き上げたテストケースを、先ほどの制御システムのリポジトリに、誰にも気づかれないように、こっそりとコミット&プッシュした。


(まるで、ローカルで修正したテストコードを、こっそりとリモートリポジトリに反映させたようだ)


 アリーナの観客たちは、その信じられない光景に、完全に息を飲んでいた。レベル1の人間が、レベル5の強大なゴーレムを、物理的な力ではなく、ハッキングという前代未聞の方法で制圧したのだ。


「しかも、ひれ伏すだけではなく、動作が改善されていて、快適さを表現している。これはいったい。。。」


 審判の老人は、目を丸くして信じられないといった表情でアキトに近づき、白い長い髭を震わせながら宣言する。


「あ……あっぱれ! まさに前代未聞の勝利じゃ! 古の相撲の歴史にも、このような、力を用いぬ戦い方は記録されておらんぞ!」


「文句なしの勝利じゃ! まさに異才よ! さあ、アキトよ、勝者への、古えより伝わる報酬を受け取るが良い!」

 さて、次は報償ですが、何がもらえるんでしょうね…?

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

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

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ