サプライチェーン攻撃とは 外部から読み込むスクリプトが書き換えられると自社のサイトでカード情報を盗まれる
サプライチェーン攻撃は、自社を直接ではなく、自社が使っている外部のサービスやプログラムを狙う攻撃です。 Webサイトでは、外部から読み込むスクリプトが書き換えられると、自社のサイトの中で悪いプログラムが動きます。 このページでは、サプライチェーン攻撃と、それを防ぐSRI、それで起きるWebスキミングの3語を説明します。
| 用語(英語/日本語) | 何の略か | 何が起きるか | 実際の事例 |
|---|---|---|---|
| サプライチェーン攻撃(Supply Chain Attack) | 略語ではない | 読み込んだ外部のスクリプトが悪いものに変わる | polyfill.io(2024年) |
| SRI | Subresource Integrity | 書き換えられたスクリプトを読み込まない | なし(防ぐ仕組み) |
| Webスキミング(Web Skimming) | 略語ではない | 決済の画面でカードの番号を盗まれる | British Airways(2018年) |
スクリプトとは、Webページの中で動く小さなプログラムです。 アクセス解析、チャット、広告などの外部のサービスは、たいてい自社のページにスクリプトを読み込ませて動きます。
サプライチェーン攻撃(Supply Chain Attack)
- 何の略か 略語ではありません。
- 日本語では 「サプライチェーン攻撃」と書きます。サプライチェーンは「供給の連鎖」という意味です。
- 一言の定義 自社が使っている外部のサービスやプログラムを先に乗っ取り、そこを通して自社を攻撃することです。
- どんなリスクがあるか 外部から読み込むスクリプトは、自社のページのプログラムと同じ力を持ちます。読み込み先の中身が書き換えられると、自社のサイトを訪れた人の画面で、悪いプログラムが動きます。
- 影響を受ける運用 外部のサービスのスクリプトを貼ったまま、そのサービスを今も使っているか、提供元が変わっていないかを見直していないサイトです。
- 実際の事例 2024年6月、セキュリティ会社のSansecは、cdn.polyfill.io から配られるスクリプトに悪いプログラムが入れられたと報告しました。このドメインは、同じ年の2月に別の会社へ売られていました。Sansecは、10万を超えるサイトがこのスクリプトを読み込んでいたとしています。
- 分類番号 CWE-829(信頼できない場所のプログラムの取り込み)です。OWASP Top 10:2025 では A03:2025(ソフトウェアのサプライチェーンの失敗)にあたります。
SRI(Subresource Integrity)
- 何の略か Subresource Integrity の略です。
- 日本語では 「サブリソース完全性」と訳されます。ふつうは「SRI」と書きます。
- 一言の定義 外部から読み込むスクリプトの中身が、決めたときのままかを、ブラウザに確かめさせる仕組みです。
- どんなリスクがあるか SRIがないと、読み込み先のスクリプトが書き換えられても、ブラウザはそのまま動かします。SRIを付けると、中身が1文字でも変わったスクリプトは動きません。ただし、提供元が中身を常に更新するサービスには使えません。
- 影響を受ける運用 CDNから、版を決めずにスクリプトを読み込んでいるサイトです。CDNとは、各地のサーバーからファイルを配る仕組みです。
- 実際の事例 SRIは防ぐ仕組みなので、事例はありません。
- 分類番号 SRIがないことは、CWE-353(中身を確かめる仕組みがない)にあたります。OWASP Top 10:2025 では A08:2025(ソフトウェアとデータの完全性の失敗)にあたります。
Webスキミング(Web Skimming)
- 何の略か 略語ではありません。
- 日本語では 「Webスキミング」「決済スキマー」と書きます。手口を使う集団の呼び名から「Magecart(メイジカート)」とも呼ばれます。
- 一言の定義 通販のサイトの決済の画面に悪いスクリプトを入れ、入力されたカードの番号を盗み出すことです。
- どんなリスクがあるか 利用者は本物のサイトで買い物をし、画面もふだんどおりに動きます。そのため、利用者も運営者も、盗まれていることに気づきにくくなります。
- 影響を受ける運用 決済の画面に、アクセス解析や広告などの外部のスクリプトを読み込んでいる通販のサイトです。
- 実際の事例 英国の航空会社British Airwaysでは2018年、サイトに入れられたスクリプトで、利用者のカードの情報などが盗まれました。英国の個人情報の監督機関(ICO)は2020年10月、同社に2,000万ポンドの制裁金を科しました。ICOは、40万人を超える顧客の情報を守れなかったとしています。
- 分類番号 CWE-829(信頼できない場所のプログラムの取り込み)です。OWASP Top 10:2025 では A03:2025(ソフトウェアのサプライチェーンの失敗)にあたります。
自分のサイトで確かめる方法
確かめるのは、自分が管理するサイトだけにします。
- ブラウザでサイトを開き、右クリックの「ページのソースを表示」を選びます。
<script src="https://...">で、自社以外のドメインから読み込んでいるスクリプトを書き出します。- 1件ずつ、今も使っているサービスか、契約の相手が変わっていないかを確かめます。
- 決済の画面だけは、特に少ない数に絞れているかを見ます。
プロンプト駅の「読み込みスクリプトの点検」に、スクリプトの一覧を貼ると、外してよいものと残す理由をAIに整理させる文を作れます。
直し方の要点
- 使っていないサービスのスクリプトは、ページから外します。
- 版の決まったスクリプトには、
integrityの属性でSRIを付けます。 - 自社で持てるスクリプトは、外部から読み込まず、自社のサーバーに置きます。
- Content-Security-Policy(CSP)で、スクリプトを読み込んでよいドメインを決めます。CSPはセキュリティヘッダのページで説明しています。
出典
- Sansec「Polyfill supply chain attack hits 100K+ sites」(2024-06) https://sansec.io/research/polyfill-supply-chain-attack
- ICO「British Airways Penalty Notice」(2020-10-16) https://ico.org.uk/media2/migrated/2618421/ba-penalty-20201016.pdf
- BleepingComputer「Polyfill.io JavaScript supply chain attack impacts over 100K sites」(2024-06) https://www.bleepingcomputer.com/news/security/polyfillio-javascript-supply-chain-attack-impacts-over-100k-sites/
- The Register「British Airways fined £20m for Magecart hack」(2020-10) https://www.theregister.com/2020/10/16/british_airways_ico_fine_20m/
- MDN「Subresource Integrity」 https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
- MITRE「CWE-829 Inclusion of Functionality from Untrusted Control Sphere」 https://cwe.mitre.org/data/definitions/829.html
関連するページ
- Webセキュリティ用語辞典の索引
- セキュリティヘッダ(CSPなど)
- Webサイトセキュリティ診断では、外部から読み込むスクリプトを一覧にし、修正方法を添えて報告します。
下記フォームより直接ご相談・お問い合わせいただけます。
内容を確認のうえ、担当より折り返しご連絡いたします。