WordPressプラグインのセキュリティ|外部に鍵を渡していないか確認する手順

WordPressプラグインのセキュリティ|外部に鍵を渡していないか確認する手順

WordPressのプラグインは、入れた瞬間からサイトの中身を触れる立場になります。2026年8月、あるSEOプラグインが、許可を求める画面を出す前にサイトへ接続するための認証情報を発行していたと指摘され、その機能は8月31日の更新でいったん取り下げられました。ただし、機能が止まっても、すでに作られた認証情報は自動では消えません。この記事は特定の製品の危険性を判定するものではなく、プラグインが外部サービスとつながるときに何が作られ、どんな権限を持つのかを、利用者が自分で確認する方法をまとめたものです。

なお「WordPress プラグイン セキュリティ」で探している方には、「セキュリティ対策用のプラグインを選びたい」場合と、「いま入れているプラグイン自体が安全か知りたい」場合の2通りがあります。この記事は後者を扱います。

この記事でわかること

  • いま開く場所: 「ユーザー → プロフィール → アプリケーションパスワード」です。管理者が複数いるサイトは全員ぶんを見ます。
  • 判断の基準: WordPress本体には、個々のアプリケーションパスワードの権限を絞る仕組みがありません。「読み取り専用」はアプリ側の作りの話で、WordPressが保証している制限ではありません。
  • 続けられる形: 更新を止めることではなく、誰がいつ許可したかを残せる状態にすることです。

まず3分で確認すること

1. 使っているプラグインを最新版に更新する(Rank Mathの場合は1.0.277.2以降)

2. 「ユーザー → プロフィール」を開き、アプリケーションパスワードの一覧を見る

3. 用途が説明できない行があれば、何とつながっているかを確かめてから取り消す

目次

プラグインが外部接続用の認証情報を作るとき|2026年8月の事例

SEOプラグインが承認画面の前に接続用の認証情報を作ったと指摘され、8月31日にその機能が取り下げられました。

事例として扱うのはRank MathというSEOプラグインです。ここで並べるのは、確定している事実・指摘された内容・提供元の説明を分けたうえで、時系列にしたものです(2026年9月1日時点)。

日付 できごと 情報の種類
2026年8月26日 バージョン1.0.277で、プラグイン内から質問に答える「サポートエージェント」機能が追加された 公式の更新履歴
2026年8月27日 1.0.277.1。アプリケーションパスワードを無効にしている環境で誤った通知が出る不具合を修正 公式の更新履歴
2026年8月28日 別のSEOプラグインの開発者が「同意の画面より前にパスワードが作られ、外部へ送られている」と指摘 指摘した本人の投稿(告発段階)
2026年8月30日 海外のSEOメディアが記事化。この時点では提供元からの説明は出ていない 報道
2026年8月31日 1.0.277.2で当該機能を一時停止。提供元が説明を公開した 公式の更新履歴・公式ブログ

提供元は公式ブログで、資格情報は暗号化しており自社側に保存・永続化していないこと、エージェントは読み取り専用でログイン中のユーザーの権限を超えないこと、そして何にアクセスするのかの説明が足りていなかったことは自分たちの誤りだと、責任を認める形で説明しています。機能は廃止ではなく、許可の取り方を作り直したうえで戻す予定だとしています。

一方で指摘した側は、許可を求める画面より前に発行が始まる点を問題視しています。指摘者は別のSEOプラグイン(The SEO Framework)の開発者で、競合であることを自分で明かしています。

ここで整理しておきたいのは、この件はCVEのような「脆弱性」として登録されたものではなく、侵害や改ざんが起きたという報告でもないということです。争点は、認証情報を作ること自体ではなく、それを利用者にどう説明し、どう同意を取るかにあります。したがって読者にとっての結論も「今すぐ削除」ではなく、「自分のサイトに何が作られているかを一度見る」になります。

海外発の指摘が日本語で回ってくるまでには時間差がある

2026年9月1日時点で、この件を日本語で扱った投稿はほとんど見当たりません。

海外では開発者コミュニティを中心に短期間で広がりましたが、日本語のSNS上で本件を直接論じていたのは、確認できた範囲でごく少数の実務者だけでした。つまり「日本語で情報が回ってこなかったから自分のサイトは無関係」とは言えません。プラグインは言語を問わず同じ動作をします。この時間差そのものが、運用側が自分で点検する手順を持っておくべき理由です。

アプリケーションパスワードとは何か

外部ツールがAPI経由でサイトへ接続するための鍵で、そのユーザーに許された操作ができます。

アプリケーションパスワードは、WordPressの標準機能です。スマートフォンアプリや外部ツールがサイトへ接続するときに、ログインID・パスワードそのものを渡さずに済ませるための仕組みで、悪いものではありません。管理画面へ人がログインするためのものではなく、REST APIを通じた接続に使われます。問題になるのは「誰に渡したか」と「どうやって渡したか」です。

外部ツールから求められたときの流れと、今回指摘された流れ 外部ツールが接続を求めるときの流れ 外部ツールが接続を要求する 承認画面が出る(アプリ名が表示される) 利用者が「承認」か「拒否」を押す 承認された場合だけパスワードが渡る 今回指摘された流れ 管理者がヘルプ画面を開く 承認画面を通らずに発行される 同意の確認欄より前に処理が走る 外部のサーバーへ渡る/期限は付かない

WordPressの開発者向けドキュメントでは、外部ツールが接続を求めてきたときの流れとして authorize-application.php という承認画面が用意されています。この画面には接続を求めているアプリの名前が表示され、利用者が「承認」か「拒否」を選びます。

ただし、これが唯一の発行経路というわけではありません。プロフィール画面から自分で作ることもできますし、プログラムから発行することも想定されています。つまり今回の争点は「発行されたこと」そのものではなく、利用者への説明と同意の取り方にあります。

アプリケーションパスワード自体には「読み取り専用」の設定が無い

WordPress本体の機能として、個々のアプリケーションパスワードの権限を絞る仕組みは用意されていません。

これはWordPressの公式ドキュメントに書かれている仕様です。アプリケーションパスワードは現時点で、認証したユーザーの権限をそのまま引き継ぎます。範囲を限定する仕組みについては「将来的に含める見込み」と記載されており、いまは存在しません

一方で、提供元は「エージェントは読み取り専用だった」と説明しています。この2つは矛盾しません。WordPress側に読み取り専用の設定が無いことと、接続するアプリの側が読むだけの作りになっていることは、別の話だからです。実際に読むだけだったかどうかは、外から検証できていません。

利用者にとって重要なのは、どちらが正しいかではなく、渡した鍵に「読むだけ」という制限を後からかける手段がサイト側には無いという点です。制限をかけられない以上、渡すかどうかを渡す前に決めるしかありません。

プラグインとAPI接続では、リスクの性質が違う

プラグインはサイトの内部で動き、API接続はサイトの外から決められた入口を通ります。

WordPressのプラグインは、テーマや本体と同じ場所で動きます。インストールした時点でファイルもデータベースも触れる位置にいます。「プラグインを入れる」という行為は、機能を足すことであると同時に、そのプログラムの作り手を信頼すると決めることでもあります。

これに対してアプリケーションパスワードによる接続は、REST APIという決められた入口を通り、各機能ごとの権限チェックを経て動きます。管理画面へ人がログインするのとは違います。「管理者と同じことが何でも遠隔でできる」わけではありません。

そのうえで今回の論点は、内部で動くプログラムが外部のサーバーへ接続用の鍵を渡したという点にあります。プラグインが中で動くことと、その鍵が社外へ出ることは、リスクの質が別です。前者は作り手を信頼するかどうかの話ですが、後者は「その鍵の保管場所が攻撃されたらどうなるか」という、信頼とは別の問題を持ち込みます。

いま自分のサイトを点検する手順

管理画面の「ユーザー → プロフィール」を開き、アプリケーションパスワードの一覧に心当たりのない行がないかを確認します。

作業は数分で終わります。プラグインを消す必要はありません。順番に見ていきます。

手順 開く場所 見るところ・判断
1 管理画面 → ユーザー → プロフィール 下のほうにある「アプリケーションパスワード」の一覧を出す
2 一覧の「名前」列 自分または担当者が発行した覚えのない名前が無いか。今回の件では「WAP -」で始まる名前が該当する
3 一覧の「作成日」「最終使用日」列 最終使用日が入っていれば、その鍵は実際に使われている。空欄なら発行だけされて未使用
4 同じ画面の「取り消し」 心当たりがなければ取り消す。取り消しても本体やプラグインは壊れない
5 ユーザー一覧 → 管理者権限の人を全員 アプリケーションパスワードはユーザーごとに保存される。自分の画面だけ見て終わりにしない

手順5がいちばん飛ばされます。 アプリケーションパスワードは利用者単位で管理されているため、経営者・担当者・制作会社・退職済みのアカウントがそれぞれ持っている可能性があります。自分のプロフィールが空でも、別の管理者の画面に残っていれば鍵は生きています。

なお、アプリケーションパスワードは管理者だけの機能ではありません。HTTPSで動いていれば、編集者や投稿者の権限でも発行できます。今回の件を確認する目的なら管理者から見るのが効率的ですが、「管理者の画面が空だったから全部きれい」とまでは言えません。

当社サイト(aidaim.co.jp)で同じ手順を実行したところ、登録されていたアプリケーションパスワードは1件だけで、自社の運用ツール向けに発行したものでした。最終使用日も直近の日付で、発行元・用途とも説明がつく状態です。今回話題になったプラグインは導入していません。「見に行って、説明がつく件数だけだった」ことを確認できたという状態が、点検のゴールです。

取り消していいものと、取り消すと止まるもの

名前と最終使用日から用途が説明できないものは取り消して構いません。取り消してもサイトの表示は壊れません。

判断に迷ったときは、次の順で考えます。まず名前を見て、どのツール向けかが分かるか。分かるなら残します。分からない場合、最終使用日が空欄なら誰も使っていないので取り消して問題ありません。最終使用日が入っていて用途が不明なものが、いちばん優先して調べる対象です。

取り消しは元に戻せませんが、壊れるとしても「そのツールから接続できなくなる」だけで、サイトの表示や記事が消えることはありません。接続できなくなったツールは、正規の承認画面から発行し直せば復旧します。心配して残すより、取り消して様子を見るほうが安全側です。

プラグインが外部に何を送ってよいかの基準を決める

外部へ鍵や情報を渡す機能は、誰がいつ許可したかを記録に残せる形でしか入れない、という線で決めます。

「怪しいプラグインを入れない」という基準は、実務では機能しません。今回の件は、2026年9月時点でWordPress.orgの表示が400万件以上という定番プラグインで起きています。怪しいかどうかではなく、何を外に出す機能なのかで判断する必要があります。

区分 どういう機能か 扱い
サイトの中だけで完結する 表示・整形・入力補助など、外部への通信を伴わないもの 通常の判断で導入してよい
外部へデータを送る 解析・AI連携・外部保存など、内容が社外のサーバーへ渡るもの 何を送るかを確認したうえで導入。個人情報を含む場合は別途判断
外部に操作権限を渡す アプリケーションパスワードやAPIキーを発行して外部へ渡すもの 誰がいつ許可したかを残せる場合だけ。残せないなら入れない

3段目が今回の件に当たります。2段目と3段目は「送るデータが多いか少ないか」の差ではなく、外へ出すのがデータなのか、サイトを操作できる鍵なのかという別の軸です。判断の軸は「信用できる会社か」ではなく、許可した記録が残るかです。記録が残っていれば、あとから見直せます。残らない形で渡した鍵は、渡したこと自体を誰も知らないまま残り続けます。

入れる前に見る5項目

導入の判断は、機能の魅力ではなく、更新され続けるかと、外と何をつなぐかで決めます。

事件が起きてから探すのでは間に合いません。次の5つを、インストールボタンを押す前に見てください。

  • 最終更新日: 1年以上更新されていないものは、WordPress本体の変更に追随できなくなっている可能性があります。
  • 対応バージョン: いま使っているWordPressのバージョンで動作確認されているか。
  • 開発元: 個人か企業か、他にどんな製品を出しているか。買収で開発元が変わることもあります。
  • 外部サービスとの接続: アカウント登録やAPI連携を求めるものは、何が外へ出るのかを確認します。
  • 必要な権限: 管理者権限や認証情報の発行を求めるものは、上の表の3段目として扱います。

すでに入っているプラグインについても、同じ5項目で見直せます。特に開発元が変わったプラグインは、入れたときの判断がそのまま通用しません。

更新を承認制にするか、自動に任せるか

すべてを承認制にする必要はなく、外部へ権限を渡す可能性がある種類だけを人が通す形にします。

当社の事例では、案件によって扱いを分けています。表示や整形だけのプラグイン、本体のマイナー更新のように、放置するほうが危険なものは自動更新のままにします。一方で、外部サービスと連携する種類や、機能追加を伴う大きな更新は、更新内容を見てから反映する運用にします。全部を止めると、今度は脆弱性の修正が当たらないまま放置されるので、そちらのほうが事故になりやすいためです。

今回の件も、実際には「セキュリティ修正を多数含む更新」と「新機能の追加」が同じバージョンに同居していました。自動更新を全部切っていた場合、セキュリティ修正のほうも当たっていなかったことになります。切るか切らないかの二択にしないことが、実務的な答えです。

プラグインは何個までなら安全か

個数に安全な上限はなく、危ないのは「誰も中身を見ていないプラグインが何個あるか」です。

「プラグインは入れすぎないほうがいい」とよく言われますが、10個だから安全で20個だから危険、という線はありません。問題になるのは、入れた理由を誰も説明できないプラグインが残っている状態です。前の制作会社が入れたもの、一度試して使わなくなったもの、機能が本体に取り込まれて不要になったものが、更新だけされ続けている。この状態のほうが個数より危険です。

点検のときは、有効化されているプラグインを一覧で出し、それぞれ「何のために入っているか」を1行で言えるかを確かめてください。言えないものが削除の候補です。

次に同じことが起きたときに気づける状態にする

気づける状態は、点検の担当と頻度を決めて、記録に残すことでしか作れません。

今回のような件は、個別のプラグインを消しても繰り返されます。別のプラグインが同じ設計を採るかもしれないからです。手を入れるべきはプラグインではなく、気づける状態になっているかどうかです。

プラグイン運用を3層で持つ 1. 正常範囲を決める 外部へ権限を渡す機能は、許可の記録が残る場合だけ入れる。入っているプラグインは全部理由を言える 2. 異常を検知する アプリケーションパスワードの一覧・管理者ユーザーの増減・身に覚えのない投稿を、決めた頻度で見る 3. 構造を直す 見つかった穴を、担当者・頻度・記録の形にして残す。人が覚えている状態で止めない

頻度は、対象によって分けます。脆弱性の情報やセキュリティ更新の通知は、届いた時点で対応するものです。ここでいう月に一度は、一覧を開いて、用途が説明できない鍵やユーザーが増えていないかを確かめる作業のことで、当社が保守で回すときの目安です。パスワードを毎月作り直すという意味ではありません。 説明がつく鍵はそのまま残します。当社が最低限として見るのは3つ。アプリケーションパスワードの一覧、管理者権限のユーザーが増えていないか、身に覚えのない投稿や固定ページがないか。この3つを、日付と担当者を書いた記録として残していきます。

記録に残す意味は、犯人探しではありません。次に何かが起きたときに「いつまでは正常だったか」が分かることです。これがないと、異常に気づいた時点で、いつから起きていたのかを調べる手段がなくなります。サイトの改修やリニューアルのタイミングも同じ考え方で進めます(ホームページ改修とは?リニューアルとの違い・費用・SEO注意点Chatworkとサーバー乗っ取りの原因と確実なセキュリティ対策)。

自分で点検するか、任せるか

毎月の点検を続けられる担当者がいないなら、外に出したほうが結果的に安く済みます。

判断の材料は、費用よりも「続けられるか」です。点検そのものは難しくありませんが、続かないと意味がありません。3か月に一度気が向いたときに見る運用は、見ていないのと変わりません。

社内で回す場合は、担当者を1人決めて、月初に固定の作業として入れてください。「気づいたときにやる」にすると必ず止まります。

一方、次のどれかに当てはまる場合は、自力で判断せず外部に見てもらったほうが安全です。身に覚えのない投稿や管理者アカウントがすでに増えている/サイトが改ざんされている疑いがある/バックアップを取っていない、または戻せるか確かめたことがない/管理画面に入れる人が誰なのか分からない。この状態で操作を進めると、原因を消してしまって調べられなくなることがあります。

よくある質問

Q. Rank Mathは今すぐ削除したほうがいいですか。

A. 削除は必須ではありません。問題になった機能は2026年8月31日の1.0.277.2で一時停止されています。まず最新版へ更新し、そのうえでアプリケーションパスワードの一覧を確認してください。削除するかどうかは、この件だけでなく、機能が戻ってきたときの許可の取り方を見てから判断しても遅くありません。

Q. 「WAP -」で始まるパスワードは消していいですか。

A. 発行元の公式ページでは、既存のパスワードを消すべきかどうかまでは案内されていません。指摘した側は取り消しを推奨しています。取り消してもサイトが壊れることはなく、必要になれば正規の承認画面から発行し直せます。判断に迷うなら取り消す側が安全です。

Q. 自分のプロフィールには何も出ていません。これで確認は終わりですか。

A. 終わりではありません。アプリケーションパスワードはユーザーごとに保存されます。管理者権限を持つアカウントが他にもある場合は、そのアカウントぶんも確認してください。使っていない管理者アカウントが残っている場合は、権限を下げるか削除するのが先です。

Q. 他のプラグインも同じことをしている可能性はありますか。

A. 可能性はあります。外部サービスとの連携やAI機能を持つプラグインは、同じ仕組みを使うことがあります。個別に疑うより、アプリケーションパスワードの一覧を定期的に見る運用にするほうが確実です。一覧に出ていない鍵は存在しないので、この画面が唯一の答え合わせの場所になります。

Q. 自動更新は切ったほうが安全ですか。

A. 全部を切るのは逆効果です。今回の更新にはセキュリティ修正も多数含まれており、自動更新を切っていた環境では、そちらも当たっていなかったことになります。外部連携を伴う種類や大きな機能追加だけを人が確認する形にして、それ以外は自動のままにするのが現実的です。緊急性の高い修正は、WordPress本体側から強制的に配信されることもあります。

Q. セキュリティ対策のプラグインを入れていれば、他のプラグインの問題も防げますか。

A. 防げる範囲は限られます。セキュリティ用のプラグインが得意なのは、不正なログインの試行や既知の攻撃パターンを止めることです。今回のように、正規の手順で作られた認証情報が外部へ渡る動きは、攻撃として検知されません。防御用のプラグインと、入れているプラグイン自体の安全性は、別々に見る必要があります。

Q. アプリケーションパスワードと、いつも使うログインパスワードは何が違いますか。

A. 用途が違います。アプリケーションパスワードは外部ツールがAPI経由で接続するためのもので、管理画面のログインフォームには使えません。1つずつ名前を付けて発行し、1つずつ取り消せること、そして最終使用日時が記録されることが特徴です。だからこそ「一覧を見れば、いま何が接続できる状態なのかが分かる」という点で、点検の起点になります。

まとめ

WordPressのプラグインは、入れた時点でサイトの内側にいます。今回の件で確認しておきたいのは、次の4点です。

  • 状況: 話題になった機能は2026年8月31日の更新でいったん取り下げられています。ただし、発行済みの認証情報は自動では消えません。
  • 仕組み: WordPress本体には、個々のアプリケーションパスワードの権限を絞る機能がありません。「読み取り専用」はアプリ側の作りの話で、サイト側でかけられる制限ではありません。
  • 点検: 「ユーザー → プロフィール → アプリケーションパスワード」を、管理者権限を持つ全員ぶん見ます。数分で終わります。
  • 体制: 手を入れるべきはプラグインではなく、月に一度その一覧を見る担当と、見た記録がある状態です。

騒ぎが収まったあとに残るのは、鍵の一覧と、それを誰も見ていないという状態です。見る場所は1つしかありません。今日のうちに開いてみてください。

サイトを触れる人が社内にいない、という方へ

プラグインの点検も、更新の判断も、「誰が見るか」が決まっていないと止まります。エベレストSEOでは、検索順位を落とさない構造でサイトを作り、公開後も運用しやすい形にして引き渡しています。いまのサイトの状態から相談したい場合も、まずは現状を見せてください。

サイト制作・改修の相談をする →

いまの状態を見たうえで、直す順番から整理します

参考情報

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

ご質問やオンライン商談を希望の方はこちら

お問い合わせ
資料請求

サイトの弱点を知りたい方はこちら

サイト
無料スピード診断
目次