メール配信・マーケティング基盤を提供するBrevo(旧Sendinblue)でサプライチェーン攻撃が確認され、同社のWebサイトおよび顧客サイトに埋め込まれているJavaScriptファイルを通じて「ClickFix」型の不正スクリプトが配信されたと報じられた。攻撃では、CloudflareのAPIキーが盗まれ、悪用されたことがBrevoからも公表されている。
事案の詳細
報道によると、攻撃者は盗み取ったCloudflareのAPIキーを使い、Brevoのアカウント上に悪意あるCloudflare Workerを作成し、CDN(コンテンツ配信ネットワーク)のエッジでレスポンスを書き換えることで、BrevoのWebサイトや、顧客企業のWebサイトに埋め込まれているBrevo提供のJavaScriptコードへ不正なスクリプトを混入させた。対象となったのは、brevo.comやフォームを提供するsibforms.comなどのページに加え、トラッキングSDKやチャットウィジェット、フォーム関連のスクリプトなど、顧客サイトから直接読み込まれている複数のJavaScriptファイルであるとされる。これにより、サイト訪問者の画面上に偽のCloudflare検証ページなどが表示され、不審な誘導が行われる状態になったという。自社のサーバー自体が直接侵害されていなくても、外部サービス経由でサイト表示が汚染され得る点が、今回の攻撃の大きな特徴だ。
混入したのは「ClickFix」と呼ばれる手口に関連するスクリプトで、特にWindows環境のユーザーに対して“人間であることの検証”や“問題の修復”を装った操作を促し、結果的に危険なコマンドの実行へ導く目的で使われる。表示された偽の検証ページでは、ユーザーにWindowsキー+Rで「ファイル名を指定して実行」を開くよう指示し、クリップボードにコピーされたコマンドを貼り付けて実行させるなど、利用者自身にマルウェア実行の手順を踏ませるソーシャルエンジニアリングが行われたと報じられている。ClickFixは、警告や説明文で安心させながらクリックや操作をさせる“だましの導線”として機能し、利用者側の行動を起点に被害が進む可能性がある。
今回のポイントは、個別企業が導入しているマーケティング/問い合わせフォーム/チャットなどの外部スクリプトが、サプライチェーン(委託先・提供元)で侵害されると、複数サイトへ一斉に影響が広がり得ることだ。Brevoのインシデントでは、攻撃者は数時間の間に10万件超とみられるWebサイトに接触し得る状態を作り出したとされており、改ざん検知が遅れると、その間長時間にわたり誘導が表示され続ける恐れがある。また、WordPressでBrevoのウィジェットを利用していたサイトでは、管理者としてログインしている訪問者に対し、悪意あるWordPressプラグイン(偽装名「Web Media Optimizer」など)がインストールされるよう試みるコードも確認されており、単なる表示改ざんにとどまらず、サイト側への持続的なバックドア設置のリスクも含んでいたことが指摘されている。
日本への影響
日本の中小企業でも、メール配信、フォーム、チャット、アクセス解析などに海外SaaSや外部タグを日常的に組み込んでいる。表示や配信の一部を外部サービスに任せるほど、提供元で起きた侵害が自社サイトの“見た目”や“動作”に直結する。Brevoの事案では、海外のマーケティングサービスが侵害された結果、そのサービスのタグやウィジェットを組み込んでいた世界中のサイトに一斉に影響が及んだとされており、日本国内の利用企業も影響を受けた可能性がある。特に採用・問い合わせ・ECなど来訪者の信頼が重要なページで不審な誘導が出ると、ブランド毀損や機会損失につながるため、海外発の事案でも無関係ではない。
対策・今後の展望
- 外部スクリプトの棚卸し:自社サイトに埋め込んでいるタグ(フォーム、チャット、MA、解析、広告)を一覧化し、「どのベンダーの、どの用途のコードか」を把握する。Brevoのように、特定ベンダーのJavaScriptが広範囲に組み込まれている場合、そのベンダー側の障害・侵害が自社サイトの複数ページへ波及し得るため、依存関係を管理しておくことが重要である。
- 差分監視・改ざん検知:トップページと主要導線(問い合わせ、申込、決済、採用)のHTMLに想定外のスクリプトが追加されていないか、定期的に確認する運用を作る。あわせて、CDNや外部フォームサービスなどが配信するスクリプトについても、バージョンやハッシュの変更に注意を払い、急な挙動変化がないかをモニタリングすることが望ましい。
- 最小権限と更新手順:タグ管理やCMS、マーケティングツールの管理者権限を必要最小限にし、退職・異動時の権限削除を徹底する。Brevoの事案では盗まれたCloudflare APIキーが悪用されたとされており、APIキーやトークンの管理・ローテーションも含めた権限管理が重要である。外部ツールの更新・変更は記録を残し、いつ何を変えたか追えるようにする。
- インシデント時の連絡経路:利用中SaaSの障害・侵害の告知を受け取れる窓口を決め、社内で「サイト表示に不審点があれば誰が止めるか」を事前に決めておく。通知メールやステータスページ、セキュリティアドバイザリに素早く気づける体制を整え、外部ベンダー側のインシデント情報を踏まえて自社サイトの点検や一時的なタグ停止などを判断できるようにしておくことが望ましい。
CSRIからの現場アドバイス
【観点①:現場で何が起きているか】MDRや診断の現場では、原因が自社ではなく“埋め込みタグの提供元”にある改ざんが増えています。今回のBrevoのように、海外のSaaSで起きた不正が、数日遅れで日本の企業サイトにも同じコードとして波及し、気づいたときには複数ページに広がっている例が見られます。特に、フォームやチャット、トラッキング用のスクリプトがCDN経由で動的に書き換えられるケースでは、社内の開発担当者が直接触っていないコードであっても、実際の表示内容が攻撃者によって改ざんされていることがあります。
【観点②:セキュリティ専門家でない人への平易な解説】例えるなら、店舗の看板を外部業者に任せていたら、その業者側で看板に怪しい案内が貼られてしまうようなものです。つまり自社の鍵を盗まれていなくても、借りている部品が汚染されると、お客様に不審な表示を見せてしまうということです。Brevoの事案では、Cloudflareの設定を通じて「看板の中身」が書き換えられ、偽のCloudflare検証ページやClickFixの手順が表示されるようになっていました。
【観点③:中小企業が今週中にできること】まず自社サイトの外部タグを担当者に確認し、提供元と用途の一覧を作ってください。特に海外SaaSやマーケティングツール、フォームサービスなど、Brevoと同様にJavaScriptを配信しているサービスを洗い出すことが重要です。次に主要ページを実際に開き、突然の警告や“修復を促す表示”、偽の「Cloudflare検証」画面などがないか目視で点検します。最後に、外部ツールやCDN、タグマネージャの管理者アカウントを棚卸しし、不要な権限を削除する運用を始めましょう。APIキーやアクセストークンの管理状況も確認し、長期間使い回しになっているものがあればローテーションや権限見直しを行うことを推奨します。
参照: Brevo supply-chain attack injected ClickFix scripts on customer sites