先日、駿河屋が運営する EC サイト「駿河屋.JP(suruga-ya.jp)」で、第三者による不正アクセスが発生し、
クレジットカード情報を含む個人情報が漏えいした可能性があるというニュースが発表されました。

漏えいの可能性があるのは、2025年7月23日12:50 ~ 8月8日の間にクレジットカード決済を利用した 29,932 名分のデータで、内容は以下のとおりです。

  • クレジットカード情報(名義、カード番号、有効期限、セキュリティコード、ブランド)
  • 個人情報(氏名、住所、郵便番号、電話番号、メールアドレス、領収書の宛名・但し書き)

本来、企業が保存していない情報(たとえば セキュリティコード(CVC)) は、通常の「データベースからの情報漏えい」では流出しません。
しかし今回は、決済ページで使われている JavaScript が書き換えられた ことで、入力された情報がそのまま外部に送られてしまった可能性があると報告されています。

この事件の原因は、

監視ツールの脆弱性(弱点)を突かれ、外部から不正に決済ページ用のJavaScript が改ざんされたこと

と発表されています。

ただ、これだけ聞いても「どういう仕組みで情報が漏れてしまうの?」とイメージしにくいかもしれません。

そこでこの記事では、今回のような 「外部JavaScriptの改ざん」によって情報漏えいが起きる仕組みを、
JavaScriptの学習者にとって、できる限りイメージしやすく解説していきます。


1. まず「監視ツール」とは何か?

Webサイトには、次のようなツールがよく導入されています。

  • アクセス解析ツール(Google Analytics など)
  • サイト監視ツール(不具合を検知する)
  • 広告タグや便利なスクリプトを読み込む外部サービス

これらは多くの場合、
JavaScript を外部から読み込むことで動いています。

つまり、

外部ツール → Webサイトのページで JavaScript が実行される

という構造になっています。

2. 今回狙われたのは「監視ツールの弱点」

今回の事件では、駿河屋が利用していた監視ツールに脆弱性(セキュリティの弱点)があり、
攻撃者はその弱点を利用してツール側のサーバーに侵入しました。

ここで重要なのは、駿河屋の決済ページそのものではなく、「決済ページに読み込まれる外部 JavaScript」が攻撃されたという点です。

3. どうやって決済ページの JavaScript が改ざんされたのか?

仕組みを簡単な流れで表すとこうなります。

【通常のケース】
駿河屋の決済ページ →(JavaScriptを外部から読み込み)→ 監視ツールの正常な JavaScript を実行

【今回のケース】
攻撃者が 監視ツールのサーバーに侵入
         ↓
外部 JavaScript を勝手に書き換える
         ↓
外部Javascriptと連携している駿河屋の決済ページの情報が攻撃者宛へ送信
   ↓
駿河屋が意図せず、「攻撃者が仕込んだJavaScript」を利用者のブラウザで実行してしまった

という状態になったわけです。

4. 書き換えられた JavaScript は何をしたのか?

一般的にこうした攻撃では、次のようなコードが仕込まれます。

  • クレジットカード番号
  • 有効期限
  • セキュリティコード(CVC)
  • 名前、住所、TEL
  • メールアドレス

などを、入力された瞬間に攻撃者のサーバーに送信するコードです。

ユーザーは普通に決済しているつもりでも、
裏側で悪意ある送信処理が行われてしまいます。

これを「スキミング型攻撃(Web Skimming / Magecart 攻撃)」と呼びます。

5. なぜ「監視ツールの脆弱性」なのに決済が狙われたのか?

現代の Web サイトでは、ページにさまざまな外部スクリプトを読み込むことが一般的です。

  • 広告配信タグ
  • 解析タグ
  • 監視ツール
  • チャットサポートツール
  • UI改善ツール

これら外部スクリプトは 運営側のサーバーとは別の場所 にあります。

攻撃者にとっては、

  • 本体サーバーを直接攻撃するより
  • 外部ツールのサーバーを攻撃する方が弱点が多い

という理由で、外部スクリプトが狙われるケースが急増しています。

6. 外部スクリプトが改ざんされると「全ページに感染」する

たとえば決済ページが次のように外部 JS を読み込んでいたとします。

<script src="https://tool-example.com/monitor.js"></script>

この monitor.js が書き換えられると…

  • 駿河屋側のコードは一切触られていないのに
  • 全利用者のブラウザで 「改ざんされたスクリプト」が実行される

という、とても怖い状況が発生します。

7. なぜ検知が遅れたのか?

外部ツールのスクリプトは普段から更新されることがあるため、

  • 「正常な更新なのか」
  • 「不正な変更なのか」

を見分けることが難しいのです。

攻撃手法としても非常に巧妙で、企業も気付きにくいのが特徴です。

まとめ:今回の事件は「外部スクリプトの改ざん型攻撃」

8. 駿河屋以外にもこの外部JavaScriptを利用している企業は情報漏洩の可能性はあるのでは?

結論から言うと、駿河屋以外の企業も、外部JavaScriptを利用していれば、同じリスクは常に存在します
ただし、すべての企業が被害に遭っているわけではなく、「被害が広がるかどうか」は外部ツール側の状況・企業側の対策によって大きく変わります。

・駿河屋だけがその監視ツールを使っていたのなら → 他社には影響なし
・同じツールを使っていた企業が存在するなら → 危険性はあった

となりますので、影響範囲は「そのツールを誰が使っていたか」で決まります

まとめ:今回の事件は「外部スクリプトの改ざん型攻撃」

もう一度まとめます。

・決済ページに読み込まれるJavaScriptを改ざん
・監視ツールの脆弱性によって攻撃者が侵入
・利用者のクレジットカード情報などが攻撃者へ送信
・本体のサイトではなく「外部ツール」が入り口
・多くの企業が直面する現代型の攻撃手法

この事件は「本体が強固でも、外部スクリプトの管理が甘いと危険」という典型例です。
企業自身がどれだけセキュリティを固めても、外部サービスのサーバーが攻撃されると無防備になってしまうのです。
これは一般的に「サプライチェーン攻撃(Supply Chain Attack)」と呼ばれます。

Web開発を学ぶ上でも、
自分のサイトに読み込む外部スクリプトも、全てリスクになる
という視点は非常に重要です。