WebサービスのAPIを開発していたHさんが、過去に遭遇した出来事です。
深夜の静まり返った部屋で、Hさんは新機能のルーティングテストを行うため、自分のデスクトップPC上でローカル開発サーバーを立ち上げていた。フレームワークの設定ファイルを開き、エンドポイントのルーティング定義に誤りがないか、ブラウザとターミナルを往復しながら細かく確認を重ねていた。
一通りの検証が終わり、リクエストの疎通確認を終えたその時だった。
ターミナルに流れるアクセスログの画面で、ぴたりと手を止めた。
定期的に更新されるログの中に、見慣れない一行が混ざっていた。
GET /api/v1/a7f8b9c2d3e4f5a6b7c8d9e0f1a2b3c4/status HTTP/1.1
設定ファイルにも、ルーティングのソースコードのどこを探しても、こんな長いハッシュ値を含んだURLパスを記述した覚えはない。そもそも、そんなエンドポイントを作った記憶すら一切なかった。
「なんだこれ…ルーティングのキャッシュが残っているのか?」
Hさんは首を傾げながら開発サーバーを一度停止し、キャッシュをクリアして再起動した。しかし、サーバーが立ち上がった瞬間から、その謎のリクエストは再び流れ始めた。
しかも、送信の間隔が妙に規則的だった。
ログの詳細を確認するため、Hさんはアクセス元のIPアドレスとユーザーエージェントを精査した。
IPアドレスは、自分のローカル環境を示す「127.0.0.1」。
そして、ユーザーエージェントの欄には、ブラウザやテストツールの名前ではなく、不気味な文字列がただ一つだけ記されていた。
0x00000000 - unknown_process
「自分のローカルから…? でも、動かしているプロセスはこれだけだぞ」
背筋に冷たいものが走った。タスクマネージャーを開き、稼働しているプロセスを一つずつ確認したが、見覚えのない不審な常駐ソフトやバックグラウンドタスクは一切動いていない。
気味が悪くなったHさんは、物理的な切り分けを行うことにした。
デスクトップPCの背面に手を伸ばし、ルーターにつながっていたLANケーブルを引き抜いた。これで完全にネットワークから孤立するはずだ。
しかし、ターミナル画面を見つめるHさんの前で、その文字は消えなかった。
GET /api/v1/a7f8b9c2d3e4f5a6b7c8d9e0f1a2b3c4/status HTTP/1.1
LANケーブルが抜けているにもかかわらず、1秒に1回のペースで、ローカルの存在しないエンドポイントへのGETリクエストが淡々と吐き出し続けられている。物理的な接続すら関係なく、PCの内部深部から、何か別の存在が絶えず信号を送り込んでいるかのような挙動。
パニックになりかけたHさんはキーボードから手を放し、電源ボタンを長押しして強制終了させた。
ブツン、とファンの音が途絶え、部屋の静寂が戻ると冷や汗が額を伝い落ちた。
翌日、明るくなってから恐る恐るPCを起動し、ルーターを接続してログを確認したが、昨夜のエラーログも、あの長いハッシュ値のエンドポイントも綺麗に消えていた。
ただ、それ以来、ローカル環境でAPIのルーティングテストをするたびに、ブラウザの通信タブの片隅で、その存在しないハッシュ値のパスだけが、一瞬だけ「Pending」のステータスで表示されることがあるという。


0 件のコメント:
コメントを投稿
I'm sorry, Japanese text only.
荒らし目的と思われるコメントは気づき次第対処します。