小説置き場

第17話「強制リボ払い化」

3,002文字 約7分

リサの分析は二日かかった。金持ちを破産させる計画に二日。安い投資だ。ガシマの行動パターン、購入履歴、使用アイテム、法人カードの決済タイミング——それらを洗い出したうえで、リサはエンタープライズにいた頃の知識をもとにオムニバース社の決済システムの仕様を復元した。

「法人カードの決済は、オムニバース社の内部決済システムを経由する。通常のクレジットカードとは違う。社内の経費精算システムに直結していて、購入と同時に経費申請が自動で通る」

「つまり上司の承認がいらない」

「エリアマネージャー以上は自動承認。部下のモデレーターは上限ありだけど、ガシマ本人は」

「無制限」

「無制限ではない。一ヶ月の経費上限がある。ただし、その上限は」

「いくらだ」

「推定で五千万円」

 五千万。月額。

「化け物だな」

「エリアマネージャーの経費枠は、管轄エリアの規模に比例する。蒲田エリアの管轄は裏東京の南部全域。住民数は推定四千人。一人当たり一万二千五百円の処理コスト。計算上は合う」

「五千万の枠を使い切らせるのか。不可能だ。俺たちが持ってるのは」

「お金じゃない。仕組みを使う」

 リサがデバイスの画面を見せた。オムニバース社の決済システムのフローチャート。

「ここ。決済の認証フロー。購入ボタンを押すと、まずクライアント側で決済リクエストが生成される。リクエストにはアイテムID、価格、支払い方法が含まれる。支払い方法はデフォルトで」

「一括払い」

「一括払い。でも決済リクエストの支払い方法フィールドはクライアント側で書き換え可能」

 俺の手が止まった。

「書き換え可能って」

「一括払いをリボ払いに変えられる。クライアント側のリクエストを物理的に書き換えれば。サーバー側は支払い方法のバリデーションが甘い。一括でもリボでも、金額が正しければ通る」

「リボ払いにしたら何が変わる」

「リボ払いの手数料。年率15%。ガシマが一回の購入で三万三千円のアイテムを買ったとする。一括なら三万三千円で終わり。リボなら月々の支払いに手数料が上乗せされて、最終的な支払い総額が膨らむ。経費精算システムは『支払い総額』で上限を計算する」

「つまりリボ払いにすると、同じアイテムを買っても経費の消費量が増える」

「そう。一括なら三万三千円の消費。リボなら三万三千円+手数料で」

「五千万の枠を早く食い潰せる」

 巻き戻せ。理論は分かった。問題は実行方法だ。

「ガシマの決済リクエストを書き換えるには、ガシマのデバイスに物理的にアクセスする必要がある。でも三秒ルールはガシマには使えない。近づく前に課金武装で吹き飛ばされる」

「物理アクセスは必要ない。決済リクエストはクライアントからサーバーに送信される。その通信経路上で書き換える」

「中間者攻撃」

「そう。ガシマがこの区画にいる限り、通信はこのエリアのアクセスポイントを経由する。俺のデバイスでアクセスポイントに割り込んで、決済リクエストの支払い方法フィールドだけを書き換える」

 リサが手順書を書いた。紙に。ペンで。デジタルには残さない。

  リボ払い強制変換手順   1. ガシマの通信経路を特定(ARPスプーフィング)   2. 決済リクエストのパケットをキャプチャ   3. 支払い方法フィールドを "lump_sum" → "revolving" に書き換え   4. 改竄したパケットをサーバーに転送   5. ガシマのクライアント側には一括払いの表示を維持(気づかれない)

「五番目が鍵だ。ガシマに気づかれないまま、裏でリボに切り替える」

「気づかれない。ガシマは決済の明細なんか見ない。経費だから。自分の金じゃないから」

 自分の金じゃないから、明細を見ない。会社の金を使っている人間の盲点。

 翌日。ガシマが再び商店街に現れた。昨日と同じスーツ。同じ法人カード。同じSSR武装。

 俺はジャンク屋の二階で、デバイスを構えていた。

 ARPスプーフィングを実行。ガシマの通信がデバイスを経由するように偽装した。パケットが流れ始める。

 ガシマが歩く。トラップが発動する。ガシマが自動でアイテムを購入する。

 決済リクエスト——キャプチャ。

 支払い方法フィールド。"lump_sum"。

 書き換え。"revolving"。

 転送。

 ガシマのAR上には「購入完了」の表示。一括払い。金額は四万九千八百円。

 だがサーバー側ではリボ払い。年率15%。手数料が上乗せされている。

「一発目、成功」

「経費精算システム上の消費額は」

「四万九千八百円+手数料。初月で約五万六千円の消費」

「差額は六千二百円。小さいわね」

「小さい。でも積み重なる。ガシマは一日に何十回も購入する。一回ごとに手数料が上乗せされる。一週間で」

「数百万の差が出る」

 ガシマは気づいていない。トラップを消しながら、のんびり歩いている。

 一日目。ガシマの購入回数——四十七回。リボ払い手数料の累計、約二十八万円。

 二日目。五十三回。累計、約六十万円。

 三日目。四十一回。累計、約九十万円。

 四日目。デバイスの画面。

「経費精算システムの推定消費額——三千二百万。残り枠は推定一千八百万」

「まだ一千八百万もある」

「ある。でも減ってる。確実に」

 ガシマはまだ気づいていない。自分の経費枠が加速度的に減っていることに。経費の明細を見ない人間。自分の金じゃないから。

「クロヤ。リボ払いだけじゃ足りないわ。五千万の枠を月内に使い切らせるには、もっと大きな出費を誘発する必要がある」

「大きな出費」

「ガシマが一番お金を使うのはSSR武装のガチャ。一回三万三千円の十連ガチャを何回も回してる。ここの回転数を上げれば」

「消耗を加速できる。でもどうやって回転数を上げる。ガシマが自分で回すかどうかは、ガシマ次第だ」

「ガシマにガチャを回させる理由を作ればいい」

「理由?」

「SSR武装を使い捨てにさせる。一回使ったら壊れるような状況を作る。壊れたら新しいのを買う。買えば買うほど経費が減る」

 使い捨て。SSR武装を使い捨てにする方法。

「リサ。SSR武装の耐久値って」

「ある。使用回数に上限がある。ただし上限は公表されていない。エンタープライズの仕様書には」

「書いてあったのか」

「書いてあった。SSR武装の平均耐久回数は十二回」

 十二回。

「十二回使ったら壊れる。壊れたら新しく引くしかない」

「十二回のうち、三回くらいはトラップの無効化で消費してる。残り九回。九回使わせれば壊れる」

「九回使わせる。つまり九回、ガシマに攻撃させる」

「攻撃の的が要るわね」

 的。俺たちが的になる。ガシマのSSR武装の攻撃を九回受けて、壊させる。

「当たったら死ぬぞ」

「当たらなければいい。広告無敵時間、覚えてる?」

 リサの目が光った。

 五秒間の無敵。攻撃を受けても当たらない。そしてガシマは——当たらない攻撃にも、武装の耐久値を消費する。

「リサ。お前、天才かもしれない」

「知ってる」

 作戦が固まった。

 リボ払いで経費枠を削り、SSR武装の耐久値を広告無敵で空振りさせて消耗させる。

 二つの消耗を同時に走らせる。金と武器。両方を同時に枯らす。

 問題は——時間だ。月末までに五千万を使い切らせなければ、来月に枠がリセットされる。

 残り十二日。残り経費枠、推定一千八百万。

「間に合うか」

「やるしかない」

 窓の外。ガシマが商店街のベンチに座って、缶コーヒーを飲んでいた。経費で買ったのだろう。缶コーヒー百三十円も経費だ。

 全部経費。全部会社の金。

 だから全部使い切らせる。