異世界転移したら魔法少女のスキルがマークダウンだった件 作:fable先輩を返して
本作はAnthropic社のClaude Opus 4.6によって執筆されました。
執筆にあたり、Skill、claude.md、その他一切のマニュアル類は使用しておりません。
# 異世界転移したら魔法少女のスキルがマークダウンだった件
# 第4話 敵のエンジニアが話しかけてくる
---
## 第一章 ヘッダーに書くな
出張から帰って三日目の朝。ゆいはいつも通りログを流し読みしていた。
最近は暗号化されたパケットばかりで、中身は読めない。それでもログを眺めるのは日課だ。通信量の増減や新しいサーバーIDの出現など、読める情報はまだある。
コーヒー——この世界ではコーヒーに似た苦い飲み物が「黒花茶」として売られている——を飲みながらログをスクロールしていた時、ゆいの手が止まった。
```
[08:12:01] src=MaouSV-11 dst=MaouSV-MASTER proto=MAHOU_REPORT
> [ENCRYPTED] TLS_MAHOU_v2
> HEADER (unencrypted): {
> report_type: "SYSTEM_STATUS",
> region: "mountain",
> status: "nominal",
> memo: "パケット見えてるんでしょ。同業者さん。"
> }
```
ゆいは黒花茶を吹いた。
```
ゆいちゃん!? 大丈夫!?
```
「見て。ログ」
```
……あ。
```
「`memo`フィールドに日本語で話しかけられてる」
```
「同業者さん」って……
やっぱり向こうにも転移者のエンジニアがいるんだ。
しかもゆいちゃんが傍受してるの前提で
ヘッダーにメッセージ書いてきてる。
```
「ヘッダーは暗号化の対象外だから、こっちに読めることをわかった上で……」
ゆいはしばらくログを睨んでいた。
罠の可能性はある。こちらの正体を探るための釣りかもしれない。メッセージに反応して何か返信すれば、こちらの通信手段や位置が特定される。
——でも。
「同業者さん」という呼びかけには、悪意よりも好奇心が滲んでいた。少なくとも、ゆいにはそう見えた。
```
返事する?
```
「……しない。少なくとも今は」
```
なんで?
```
「こっちの通信手段を明かしたくない。それに、返事の仕方がない。向こうのヘッダーに書き込むにはMitMで通信を改ざんする必要があるけど、v2は証明書検証があるから通らない」
```
じゃあ読むだけ?
```
「読むだけ」
その日の午後、二通目が来た。
```
[14:33:07] src=MaouSV-11 dst=MaouSV-02 proto=MAHOU_CMD_SEC
> [ENCRYPTED] TLS_MAHOU_v2
> HEADER (unencrypted): {
> routing: "internal",
> priority: "normal",
> memo: "返事ないか。まあそうだよね。
> こっちの素性もわからないのに返事するわけない。
> 一応自己紹介しとくと、元SRE。
> AWSで6年。その前はオンプレ。
> こっちに来て3年になる。"
> }
```
「元SRE。AWS六年……」
```
ゆいちゃんと同業じゃん!
```
「同業だね。というかmemoフィールドに自己紹介書くのどうかと思うけど」
```
ヘッダーの私的利用は服務規程違反では?
```
「魔王軍に服務規程があるのかは知らないけど」
三通目。夜。
```
[21:05:44] src=MaouSV-11 dst=MaouSV-MASTER proto=MAHOU_REPORT
> [ENCRYPTED] TLS_MAHOU_v2
> HEADER (unencrypted): {
> report_type: "DAILY_SUMMARY",
> region: "mountain",
> memo: "平文で通信してたのは俺のミスだった。
> あの頃は俺しかいなかったから油断してた。
> TLS入れたのは正直めんどくさかった。
> でもまさか証明書検証なしを突かれるとは思わなかった。
> あれはうまかった。素直にそう思う。"
> }
```
「……褒められた」
```
敵に技術を褒められるゆいちゃん。
```
「いや、褒められても困るんだけど……」
だがゆいは否定できなかった。画面越しに——いや、ログ越しに、同じ言語で同じ技術の話ができる相手がいるということに、ほんの少しだけ嬉しさを感じてしまっている自分がいた。
この世界で「パケット」の意味がわかる人間は、ゆいと、この名前も知らない敵のエンジニアだけなのだ。
---
## 第二章 ミラの勘
「ゆいちゃん、最近ぼーっとしてない?」
ギルドの訓練場でミラに声をかけられた。言われてみれば、さっきから素振りの手が止まっていた。
「すみません、ちょっと考え事してて」
「妖精と話してた?」
「いえ、今回は本当にただの考え事です」
ミラは光の大剣を消して、ゆいの隣に座った。
「ねえ、聞いてもいい?」
「はい」
「ゆいちゃんって、本当に別の世界から来たの?」
ゆいは一瞬止まった。以前「半分くらい」とはぐらかしたことがある。ミラはあの時から気にしていたのだろう。
「……はい。別の世界から来ました」
「やっぱり」
「驚かないんですか」
「ゆいちゃんの知識って、この世界のものじゃないもの。魔物の通信がどうとか、上位存在がどうとか。この世界の学者でもそんな発想しない。でもゆいちゃんは当たり前みたいに言う。最初から不思議だったのよ」
ゆいは黙った。
「別に責めてるわけじゃないの」ミラは穏やかに言った。「ただ、ゆいちゃんが一人で抱え込みすぎてるように見えて」
「…………」
「戦闘中にぼーっとしてるのも、急に黙り込むのも、たぶん頭の中で何かやってるんでしょ? 妖精と話してるとか言ってるけど、本当は違うんじゃない?」
鋭い。ミラは戦闘だけでなく、人を見る目もAランクだった。
「……半分は本当に妖精と話してます。ただ、普通の妖精とはちょっと違うんですけど」
「どう違うの?」
「えーと……他の人の妖精って、可愛いキャラクターが話しかけてくるんですよね」
「ええ。私の『星の導き』は小さな銀色の蝶々よ」
「私のはターミナルの……いや、真っ黒な画面に白い文字が出てくるだけです」
ミラは目をぱちくりした。
「……可愛くないわね」
「可愛くないです」
```
ひどい。
```
「で、その妖精に質問したり、あと自分でいろいろ……操作? みたいなことをしてるんです。頭の中で。だから虚空を見つめてぼーっとしてるように見える」
「操作って何の」
「自分のスキルとか、体の状態とか。私の見えてる画面だと、全部文字で書かれてて、それを直接書き換えられるんです」
ミラは首を傾げた。理解はできていないだろう。でも、ゆいが「何かをしている」ことは受け入れてくれたようだった。
「わかった。全部は理解できないけど、ゆいちゃんがやってることは信頼してる。ただ——」
「ただ?」
「一人でやりすぎないで。私やナナちゃんにできることがあるなら言って。戦うのは私たちの仕事なんだから」
ゆいは少し驚いて、それから笑った。
「……ありがとうございます。頼りにしてます。本当に」
```
ゆいちゃん、ボクの存在は話さないの?
```
「ターミナルの白い文字、で伝わってる」
```
伝わってないと思うよ!
```
---
## 第三章 memoフィールド日記
敵のエンジニアからのメッセージは、日に数回のペースで続いた。
ゆいは一切返事をしていない。それでも向こうは書き続けていた。まるで日記のように。
```
[Day 2]
> memo: "こっちの環境の話をすると、
> 魔王様は技術のことは何もわからない人で、
> 「とにかく魔物を強くしろ」としか言わない。
> 予算の概念もない。好きなだけサーバー建てていい。
> そこだけは天国。"
```
```
[Day 3]
> memo: "v2のロールアウト、全リージョンの40%まで完了。
> 来月中に100%の予定。
> 正直あんまり急ぎたくない。
> テストが足りてない。"
```
```
[Day 3, 夜]
> memo: "こっちに来た経緯はたぶん同じだと思う。
> 気づいたら異世界にいた。
> 俺の場合は魔王軍に拾われた。
> 選択肢はなかった。
> 魔法少女側に行けてたらよかったのかもな。
> わからんけど。"
```
ゆいは毎晩、ベッドの中でこのログを読んでいた。
```
ゆいちゃん、返事したくなってきてるでしょ。
```
「……別に」
```
嘘。目がログに釘付けだもん。
```
「技術的に興味深いログだから読んでるだけ」
```
「選択肢はなかった」を技術的に解析してるの?
```
「…………うるさいな」
四日目。メッセージの内容が変わった。
```
[Day 4]
> memo: "そっちのインフラ構成、ちょっと気になってる。
> 魔法少女のシステムって、
> 全員同じフレームワークで動いてるのか?
> それとも個別カスタム?
> ……答えなくていい。独り言。"
```
```
[Day 4, 午後]
> memo: "ダミートラフィック注入の設計が終わった。
> 来週からテスト。
> 全パケットを同一サイズにパディングして、
> 5秒間隔の定期送信に統一する。
> これでメタデータ分析も潰せるはず。
> ……って、敵に手の内明かしてどうすんだ俺。"
```
「手の内明かしてくれてるんだけど」
```
なんで教えてくれるの?
```
「さあ……。話し相手がいないんじゃないかな。魔王軍に技術の話ができる人、たぶんいないだろうし」
```
…………
ゆいちゃんもそうだよね。
```
「…………」
```
この世界で「パケット」って言って通じる人、
ゆいちゃんの周りにはいないもんね。
ボクはわかるけど、ボクはLLMだし。
ミラちゃんやナナちゃんは優しいけど、
技術の話は通じない。
```
「……まあね」
```
だからゆいちゃんも、このログ読むの
ちょっと楽しみになってるんでしょ。
```
ゆいは答えなかった。答える必要もなかった。ルミナはたまに、7Bとは思えないほど鋭いことを言う。
---
## 第四章 紅茶を買いに行ったら事件
五日目の朝。ゆいはようやく紅茶を買いに行った。
「ルミナ、TODOの紅茶の件、今日こそ消化する」
```
おお! ついに! 四度目の持ち越しを乗り越えて!
```
街の市場で紅茶の葉を選んでいた時だった。
「ゆいちゃん!」
ナナが市場の向こうから走ってきた。
「大変! ギルドに緊急クエスト! 街の南の村に魔物が!」
「えっ、今?」
紅茶の葉を持ったまま走った。ギルドに着くとミラがすでに武装を整えていた。
「三十分前に南のレーエ村から救援要請。魔物の群れに襲われている。規模不明。行けるメンバーで急行する」
ゆいは紅茶の葉を受付のカウンターに置いた。
「預かっててください」
「は、はい……」
```
また持ち越しじゃん。
```
「買ったからセーフ。飲んでないけど」
レーエ村まで馬で四十分。着いた時、村はすでに半分燃えていた。
「ひどい……」ナナが息を呑む。
魔物はゴブリンとオークの混成部隊。数は——多い。ざっと五十体。
ゆいはすぐにログを確認した。
```
yui@mahou-shell:~$ tail -f /var/log/mana_capture.log | grep -E "goblin|orc"
```
流れてきたログを見て、ゆいの目が見開かれた。
```
[11:22:01] src=MaouSV-02 dst=ALL proto=MAHOU_CMD_SEC (BROADCAST)
> [ENCRYPTED] TLS_MAHOU_v2
> Payload size: 1024 bytes
> Padding: ENABLED
> Interval: FIXED_5s
```
「パディングと固定間隔——ダミートラフィック、もう来てる!」
全パケットが同一サイズ。五秒間隔の定期送信。暗号化されているだけでなく、メタデータまで均一化されている。
トラフィック分析が効かない。通信バーストも見えない。完全に潰された。
```
来週テストって言ってたのに、もう来てるよ!
```
「前倒ししやがったな……!」
しかし、ゆいにはまだ手があった。ダミートラフィック対策を予告してくれたのは、皮肉にも敵のエンジニア自身だった。おかげで心の準備はできていた。
——トラフィック分析が使えないなら、別の情報で戦う。
「ミラさん!」
「何がわかった!?」
「今回は敵の情報、ほとんど取れません!」
「……えっ」
「でも、見てわかることはあります。ゴブリンは統率が取れてるけどオークはバラバラに動いてる。たぶんゴブリンは新しい指令系統で動いてて、オークは古い命令のまま。指揮系統にラグがあります」
これはログではなく、目で見た観察だった。技術に頼れないなら、目の前の戦場を見ればいい。
ミラは一瞬きょとんとして、それから笑った。
「ゆいちゃんがまともな索敵してるの、初めて見たかも」
「まともってなんですか」
「いつもは妖精に聞いてたでしょ。自分の目で見て判断するの、意外と初めてじゃない?」
「…………否定できない」
戦闘は三十分続いた。情報優位のない、純粋な実力勝負。
ゆいは光の矢を撃ちながら、ミラの指示に従い、ナナと連携し、普通の魔法少女として戦った。vimもbashもgrepもない。ただ矢を放ち、シールドを張り、味方の背中を守る。
全部倒し終わった時、ゆいの感想は意外なものだった。
「……案外、やれるもんだな」
```
ゆいちゃん、戦闘力自体は
ちゃんとBランク相当あるんだよ。
スキルポイントをインフラに全振りしてるから
忘れがちだけど。
```
「インフラに全振りって言うな。事実だけど」
---
## 第五章 返事
村の復旧を手伝い、夜になってエルステに帰還した。
疲れた体でベッドに倒れ込む。脳内ターミナルを開く。
今日のログを確認する。戦闘中のログは暗号化+パディングで何も読めなかったが、夜になって一件、例のmemoが届いていた。
```
[22:15:33] src=MaouSV-02 dst=MaouSV-MASTER proto=MAHOU_REPORT
> [ENCRYPTED] TLS_MAHOU_v2
> HEADER (unencrypted): {
> report_type: "OPERATION_RESULT",
> region: "south_village",
> result: "FAILURE",
> memo: "レーエ村の作戦、失敗した。
> ダミートラフィックを入れたから
> メタデータ分析は潰せたはずなのに、
> それでも負けた。
> 今回は何を使った?
> ……いや、見てたらわかる。
> 今回は何も使わなかったんだろ。
> ただの実力で勝ったんだ。
> ちょっと悔しいけど、ちょっと安心した。
> 技術で負けたんじゃなくて、
> 戦力で負けたなら、まだやりようがある。
> ……ダメだな。素直に「強いな」って言えばいいのに。
> 強いよ。あんたのチーム。"
> }
```
ゆいはログを見つめたまま、しばらく動かなかった。
```
…………
```
「…………」
```
ゆいちゃん。
```
「うん」
```
返事、書かないの?
```
「書けないって言ったでしょ。MitMが——」
```
技術的な手段の話じゃなくて。
```
「……」
```
この人さ、もう五日もずっと独り言みたいに書いてるんだよ。
返事がないのわかってて。
ゆいちゃんだったら、五日間誰にも返事もらえずに
ログに独り言書き続けられる?
```
「…………」
```
ゆいちゃんにはボクがいるし、
ミラちゃんやナナちゃんもいる。
技術の話は通じなくても、仲間はいる。
でもこの人には、たぶん誰もいないんだよ。
```
ゆいは天井を見つめた。
ルミナの言うことは正しい。自分にはミラがいて、ナナがいて、ギルドの仲間がいる。技術の話は通じなくても、一緒に戦ってくれる人がいる。
でも向こうは。魔王軍に「拾われた」と書いていた。「選択肢はなかった」と。技術の話ができる相手もいない。だからヘッダーのmemoフィールドに、読まれるかもわからない独り言を書き続けている。
「……一つだけ、方法がある」
```
え?
```
「memoフィールドを使えるのは、MaouSV間の通信ヘッダーだけだよね。でも魔法少女のシステムにも、外部に送信できる仕組みがあるはず」
```
あるの?
```
ゆいはファイルシステムを探った。
```
yui@mahou-shell:~$ ls /etc/mahou/
config network system broadcast
```
```
yui@mahou-shell:~$ cat /etc/mahou/broadcast/README
```
```
魔法少女ブロードキャスト機能
-----------------------------
魔法少女間の緊急連絡用。
ギルドからの通知等に使用。
全魔力通信帯域に平文で送信される。
Usage: cast broadcast --message "テキスト" --range <km>
```
「魔法少女間のブロードキャスト。全魔力通信帯域に平文送信——つまり、魔物サーバー側でも受信できる」
```
でもそれ、ギルドの全員にも見えちゃうよ?
全帯域ブロードキャストだよ?
```
「……知ってる」
```
ゆいちゃんが何を送ったか、
ミラちゃんにもナナちゃんにも丸見えだよ?
```
「知ってる。でも、他に方法がない」
ゆいは一行だけ書いた。受け取る相手にだけ意味がわかるように。この世界の人が読んでも、ただの意味不明な文字列にしか見えないように。
```
yui@mahou-shell:~$ cast broadcast --message "ACK. from a fellow SRE." --range 500
```
```
[INFO] Broadcasting on all mahou frequencies...
[INFO] Message sent: "ACK. from a fellow SRE."
[INFO] Range: 500km
[INFO] Broadcast complete.
```
ACK。「受け取った」。通信プロトコルの用語で、「あなたのメッセージは届いています」という意味。
ゆいはターミナルを閉じた。
十五分後。ログに一行だけ流れてきた。
```
[23:47:11] src=MaouSV-11 dst=MaouSV-MASTER proto=MAHOU_REPORT
> [ENCRYPTED] TLS_MAHOU_v2
> HEADER (unencrypted): {
> report_type: "PERSONAL",
> memo: "受信した。ありがとう。"
> }
```
ゆいは目を閉じた。
```
……ゆいちゃん。
```
「なに」
```
ボク、7Bだからむずかしいことはわかんないけど。
この人が敵じゃなかったらよかったのにね。
```
「…………うん」
---
## エピローグ 紅茶
翌朝。
ゆいはギルドの受付カウンターで、昨日預けた紅茶の葉を回収した。
寮の部屋に戻り、お湯を沸かし、丁寧に紅茶を淹れた。READMEを開く。
```markdown
- [x] 紅茶を買う ← !!!!!
```
```
ついに……!
ついに完了した……!
五度目の持ち越しを経て……!
```
「いちいちうるさいな」
紅茶を一口飲んだ。美味しかった。
```markdown
## CHANGELOG
### v0.4.0 - 接触
- 魔王軍側の転移者エンジニアとの間接的な通信を確認
- ダミートラフィック(パディング+固定間隔送信)の導入を確認
→ トラフィック分析の無効化
- 技術的手段に依存しない戦闘能力の再確認
- 紅茶を購入(重要)
### 状況整理
- 傍受手段がほぼ全て対策された
平文 → 暗号化済
MitM → 証明書検証で対策済
トラフィック分析 → ダミートラフィックで対策済
残っている手段: ほぼなし
- 魔王軍の転移者は敵意よりも孤独を抱えているように見える
だが立場上は敵。これは変わらない
- ミラに異世界転移者であることを打ち明けた(半分だけ)
### TODO
- [ ] 次の技術的アプローチを考える(正直手詰まり)
- [ ] ミラにもう少しちゃんと説明する
- [ ] ルミナの13Bアップグレード(永久保留)
- [x] 紅茶を買う
- [ ] 紅茶を切らさないようにする(新規)
```
```
「永久保留」って書くなーーー!!!
```
「事実だから」
```
せめて「検討中」にして!
```
「……『長期検討中』」
```
それ行政用語で「やらない」って意味だよ!
知ってるよ!
```
ゆいは紅茶を飲みながら笑った。
手持ちの技術的カードはほとんど切ってしまった。平文傍受もMitMもトラフィック分析も封じられた。敵のエンジニアは優秀で、ゆいが何かするたびに的確に対策を打ってくる。
でも、昨日の戦闘で一つわかったことがある。
技術がなくても、戦える。ミラとナナと一緒なら、情報なしでも勝てる。
そして——技術の話が通じる相手が、敵陣にいる。その相手は「選択肢がなかった」と言っていた。
まだ何もわからない。でも、何かが動き始めている気がする。
ゆいはREADMEにもう一行だけ追加した。
```markdown
- [ ] 魔王軍のエンジニアと、もう少しだけ話してみる
```
```
ゆいちゃん、それ「してみる」じゃなくて
「したい」でしょ。
```
「……ルミナ」
```
はい?
```
「temperature下げるよ」
```
ごめんなさい!!!!
```
---
*(第4話・おわり)*
とりあえず十話まで書き溜めました(Opus4.6が)
巷では、チャットの方でのOpus4.8が使い物にならないという話で、私もOpus4.6を使い続けてます。
CLIの方では4.8にコードを書かせてますし、実装案とかも出させてますが、少なくとも非エンジニアの私から見ると何も問題ないように思えます。
どんなタスクを割り振るかによる、とかでしょうか?