「更新ボタン」を最後に押したのは、いつですか?
社内のWebサイトを管理している方に聞きたいことがあります。WordPressの管理画面にログインして、プラグインの更新通知を確認したのはいつが最後でしょうか。
「制作会社に任せているから大丈夫」「とくに不具合もないし、触らないほうが安全でしょう」——こうした判断は、数年前まではそれほど間違っていませんでした。しかし2026年の今、その「放置」が企業にとって深刻なリスクになっています。
2026年3月の第4週だけで、WordPressのエコシステム全体で331件の新規脆弱性が報告されました。そのうち約120件はパッチすら提供されていない状態です。さらに同じ週、人気プラグイン「Gravity Forms」にサプライチェーン攻撃が仕掛けられ、正規の更新に見せかけたバックドアが混入する事例も確認されています。
この記事では、Web専門の担当者がいない企業でも実践できるWordPressプラグインの管理方法と、攻撃から身を守るための具体的な防御策を、順を追って解説します。
なぜWordPressプラグインが「狙われる」のか
WordPressは世界のWebサイトの約43%で使用されているCMS(コンテンツ管理システム、Webサイトを専門知識なしで更新できる仕組み)です。この圧倒的なシェアの高さが、攻撃者にとって「一度の攻撃手法で多数のサイトを狙える」という効率の良さを生んでいます。
とくにプラグイン(WordPressに機能を追加する拡張パーツ)は攻撃の主要な入り口です。WordPress本体のセキュリティは年々強化されていますが、プラグインは個人や小規模チームが開発しているものが大半で、セキュリティの品質にばらつきがあります。
プラグインが狙われる3つの理由
1. 更新が止まったプラグインが放置される
開発者がメンテナンスを止めてしまったプラグインは、脆弱性が見つかっても修正されません。しかしサイト側ではそのまま動き続けるため、「問題なく使えている」と思い込んでしまいます。WordPress公式のプラグインディレクトリでは、2年以上更新のないプラグインに警告が表示されますが、管理画面では目立ちません。
2. サプライチェーン攻撃の標的になる
2026年3月に発覚したGravity Formsの事例では、攻撃者がプラグインの更新配信の仕組みに侵入し、正規のアップデートに見せかけてバックドア(攻撃者が後からシステムに侵入するための裏口)を仕込みました。ユーザーが「更新してください」という通知に従って素直にアップデートした結果、逆にマルウェアを自分のサイトに招き入れてしまったのです。
3. 脆弱性の発見ペースが攻撃に追いつかない
SolidWP(旧iThemes)のレポートによると、2026年は週あたり200〜350件のペースで新しい脆弱性が報告されています。セキュリティ研究者やAIツールの進化で脆弱性の発見効率が上がった一方、パッチの提供が追いつかないプラグインも増えています。
まず把握する——自社サイトの「プラグイン棚卸し」
対策の第一歩は、現状を正確に把握することです。多くの企業では「どのプラグインが入っているか」すら把握できていません。
棚卸しの手順
Step 1: 管理画面にログインし、プラグイン一覧を開く
WordPress管理画面の左メニューから「プラグイン」→「インストール済みプラグイン」を開きます。ここに表示されるプラグインの一覧が、あなたのサイトの「攻撃対象面(アタックサーフェス)」です。
Step 2: 各プラグインを3つに分類する
すべてのプラグインを以下の3カテゴリに分類してください。
- 必須: サイトの核となる機能に使っている(お問い合わせフォーム、SEO設定、セキュリティなど)
- あれば便利: なくてもサイトは動くが、運用上助かっている
- 不明: 何のために入れたかわからない、または誰が入れたか不明
Step 3: 「不明」と「無効化済み」はすぐに削除する
「無効化」しただけのプラグインは、ファイルがサーバー上に残っています。脆弱性のあるコードがサーバーに存在する限り、有効化していなくても攻撃に利用される可能性があります。使わないプラグインは「削除」まで行ってください。
Step 4: 残ったプラグインの更新状況を確認する
各プラグインについて以下を確認します。
- 最終更新日はいつか(1年以上前なら要注意)
- WordPress最新バージョンとの互換性が確認されているか
- 有効インストール数が極端に少なくないか(1,000件未満は開発放棄リスクが高い)
この棚卸しだけで、多くの企業では「こんなに入っていたのか」と驚くはずです。従業員80名、営業所3拠点の建設会社でこの作業を行ったところ、23個のプラグインのうち8個が「不明」に分類され、うち3個は2年以上更新がなかったという事例もあります。
更新の仕組みを作る——「誰が・いつ・どう更新するか」を決める
棚卸しが終わったら、次は更新の運用ルールを決めます。「気づいた人がやる」という運用は、実質的に「誰もやらない」と同じです。
最低限決めるべき3つのルール
1. 更新担当者を1名決める
IT部門がなくても、「WordPressの管理画面にログインできる人」を1名、更新の責任者に指名してください。バックアップ担当としてもう1名いれば理想的です。
2. 更新頻度を決める——最低でも月1回
理想は週1回ですが、リソースが限られている場合でも月1回の更新日を固定してください。「毎月第1月曜日の午前中にWordPressの更新を確認する」のように、具体的な曜日と時間を決めてカレンダーに登録します。
3. 更新前のバックアップを自動化する
プラグインの更新でサイトが壊れることは、実際に起こりえます。UpdraftPlusのようなバックアッププラグインを導入し、更新前に自動でバックアップが取られるよう設定しておくと、万が一のときにすぐ元に戻せます。
制作会社に依頼している場合の注意点
「サイトの管理は制作会社にお願いしている」という企業は、以下を確認してください。
- 保守契約にプラグインの更新作業が含まれているか
- 更新頻度はどのくらいか(年1回では不十分です)
- 脆弱性が発見された場合の緊急対応は含まれているか
- WordPress本体のメジャーアップデートへの対応は含まれているか
保守契約に「月次のプラグイン・本体更新」が明記されていない場合、実質的にセキュリティ管理は誰もやっていない状態になります。契約内容を確認し、必要であれば保守内容の見直しを交渉してください。
守りを固める——プラグイン以外の防御層を作る
プラグインの管理を徹底しても、すべての脆弱性を防ぐことは不可能です。攻撃者がゼロデイ脆弱性(まだパッチが存在しない脆弱性)を使ってきた場合に備えて、複数の防御層を設けることが重要です。
WAFの導入
WAF(Web Application Firewall)は、Webサイトへの攻撃パターンを検知してブロックする仕組みです。プラグインに脆弱性があっても、WAFが攻撃リクエストを遮断してくれれば被害を防げます。
クラウド型のWAFは導入が比較的簡単で、DNS設定の変更だけで利用を開始できるものが多く存在します。Cloudflareは無料プランでも基本的なWAF機能を提供しており、コストをかけずに始められる選択肢です。当社のポータルでも過去にCloudflare無料プランだけでボット攻撃を撃退した実践記録を公開していますので、参考にしてください。
ログイン画面の保護
WordPressの管理画面(/wp-admin/)やログインページ(/wp-login.php)は、ブルートフォース攻撃(パスワードの総当たり)の標的になります。
以下の対策を実施してください。
- ログイン試行回数の制限: 一定回数ログインに失敗したIPアドレスを一時的にブロックする
- 二要素認証(2FA)の導入: パスワードに加えて、スマートフォンのアプリで生成されるワンタイムコードを要求する。IPA(独立行政法人情報処理推進機構)でも二要素認証の導入を推奨しています
- 管理画面へのIPアドレス制限: オフィスのIPアドレスからのみ管理画面にアクセスできるよう制限する
HTTPセキュリティヘッダーの設定
Webサーバーの設定でセキュリティヘッダーを適切に設定することで、クロスサイトスクリプティング(XSS)やクリックジャッキングなどの攻撃を緩和できます。具体的な設定方法は、当ポータルのHTTPセキュリティヘッダー完全ガイドで解説しています。
サプライチェーン攻撃に備える——「信頼できる更新」の見極め方
2026年に入ってから、WordPressプラグインのサプライチェーン攻撃が複数確認されています。これは「正規の更新を装って悪意のあるコードを配布する」手法で、従来の「怪しいものをインストールしない」という対策だけでは防げません。
サプライチェーン攻撃の仕組み
攻撃者は以下のいずれかの方法でプラグインの更新配信に介入します。
- 開発者アカウントの乗っ取り: 開発者のWordPress.orgアカウントに不正ログインし、マルウェア入りのバージョンを公開する
- 開発インフラへの侵入: プラグインのビルドサーバーやコードリポジトリに侵入し、ビルドプロセスにバックドアを注入する
- プラグインの買収: メンテナンスが滞っているプラグインを買い取り、マルウェアを仕込んだアップデートを配信する
3番目の手法はとくに厄介です。プラグインが正規に譲渡されているため、WordPress.orgのレビュープロセスでも検知しにくいという特徴があります。
企業が取るべき対策
更新を「自動」にしない——確認してから適用する
WordPress 5.5以降、プラグインの自動更新機能が標準搭載されています。一見便利ですが、サプライチェーン攻撃を考えると、すべてのプラグインの自動更新を有効にするのはリスクがあります。
推奨する運用は以下のとおりです。
- WordPress本体のマイナーアップデート(セキュリティ修正): 自動更新を有効にする
- プラグインのアップデート: 手動で確認してから適用する
手動確認の際は、以下をチェックしてください。
- 更新の変更履歴(Changelog)に不自然な記述がないか
- 開発元が変わっていないか
- セキュリティ系の情報サイトで当該プラグインに関する警告が出ていないか
脆弱性情報を定期的に確認する
JVN(Japan Vulnerability Notes)は、日本のIPA(独立行政法人情報処理推進機構)とJPCERT/CCが共同で運営する脆弱性情報データベースです。WordPressプラグインの脆弱性情報も掲載されるため、月1回の更新日にあわせて確認する習慣をつけてください。
海外のソースとしては、Wordfence IntelligenceがWordPressに特化した脆弱性データベースを無料で公開しています。
被害にあったときの初動対応
どれだけ対策をしても、被害をゼロにすることは不可能です。攻撃を受けた場合に備えて、初動対応の手順を事前に決めておくことが重要です。
「おかしい」と気づくサイン
以下の症状が出たら、サイトが侵害されている可能性を疑ってください。
- サイトの表示が突然崩れた、または見知らぬページが追加されている
- Google検索結果で自社サイトに「このサイトは危険です」の警告が表示される
- サーバーのアクセスログに見覚えのないファイルへのアクセスが大量にある
- メールフォームから身に覚えのない大量の送信が行われている
- 管理画面に見知らぬ管理者アカウントが追加されている
初動対応の手順
1. サイトをメンテナンスモードにする
被害の拡大を防ぐため、まずサイトを一時的にオフラインにします。.htaccessでのアクセス制限や、Cloudflareを利用している場合は「Under Attack Mode」の有効化が有効です。
2. 証拠を保全する
復旧を急ぐあまりファイルを削除してしまうと、攻撃経路の特定が困難になります。サーバーの全ファイルとデータベースのスナップショットを取得してから復旧作業に入ってください。
3. パスワードを全変更する
WordPress管理者・FTP・データベース・サーバー管理パネルのパスワードをすべて変更します。攻撃者がバックドアでパスワードを窃取している可能性があるためです。
4. クリーンな状態に復元する
バックアップから復元するのが最も確実です。バックアップがない場合は、WordPress本体とすべてのプラグイン・テーマを公式サイトからダウンロードし直し、データベースは手動でマルウェアを除去する必要があります。この作業は専門家に依頼することを強く推奨します。
5. 再発防止策を実施する
復旧後、攻撃経路だった脆弱性を特定し、パッチの適用またはプラグインの代替を行います。あわせてWAFの導入やログ監視の強化など、この記事で解説した防御策を改めて見直してください。
JPCERT/CCのインシデント対応マニュアルには、より詳細な手順が掲載されています。組織の規模に関わらず、一読しておくことをお勧めします。
「うちは小さい会社だから大丈夫」という誤解
「攻撃者は大企業を狙うのであって、うちのような中小企業は関係ない」——この考えは明確に誤りです。
IPAの「情報セキュリティ10大脅威 2026」では、サプライチェーン攻撃が8年連続で上位にランクインしています。攻撃者が中小企業を狙うのは、その企業自体の情報が目当てではなく、取引先の大企業に侵入するための踏み台として利用するためです。
WordPressサイトが侵害された場合、以下のような二次被害が発生する可能性があります。
- サイトがフィッシングサイトへの転送に使われ、取引先の顧客が被害を受ける
- マルウェアの配布拠点として悪用され、取引先ネットワークへの侵入経路になる
- SEO評価が大幅に下落し、検索順位の回復に数か月を要する
セキュリティ対策は「自社を守る」だけでなく、「取引先との信頼関係を守る」ためのものでもあります。
まとめ——来週からできることを1つだけ
この記事で解説した内容をすべて一度に実行する必要はありません。重要なのは、1つずつ確実に進めることです。
今のWordPressプラグインの状況は、正直に言って厳しい環境です。週に300件を超える脆弱性が見つかり、サプライチェーン攻撃で「更新すること自体」にリスクが伴う時代です。それでも、基本的な管理——プラグインの棚卸し、不要なものの削除、定期的な更新——を実施するだけで、リスクの大部分は低減できます。
まずは来週、WordPressの管理画面にログインして、インストールされているプラグインの一覧を開いてみてください。「このプラグイン、何に使っているんだろう?」と思ったものが1つでもあれば、この記事で解説した棚卸しの手順で確認してみてください。その1つの行動が、サイトと取引先を守る第一歩になります。