WordPress のプラグインセキュリティが繰り返し失敗する理由と EmDash が変えること

WordPress プラグインのリスクは品質の問題だけではない。実行モデルの問題である。EmDash はプラグインを隔離し、宣言されたケイパビリティだけを付与することで信頼モデルを変える。

WordPress のプラグインセキュリティは、主な問題が悪いコード、手放されたメンテナ、ばらついたレビューだと語られることが多いです。それらは実在しますが、より根本の設計選択の下流にあります。WordPress プラグインは、あるべきよりはるかに大きな権限で動くことが多いのです。

つまりプラグインの脆弱性は、小さな機能に閉じ込められにくい。アプリケーションの他の部分と同じ広い実行環境で動いているから、サイト全体の問題になりえます。

EmDash のプラグインサンドボックスモデル

問題が繰り返される理由

WordPress のプラグインエコシステムが巨大なのは、WordPress が拡張を容易にしたからです。その開放性は大きな価値を生みましたが、深い信頼に基づくセキュリティモデルも生みました。

実務では、プラグインをインストールすることはしばしば次を信頼することを意味します。

  • データベースへのアクセス
  • ファイルシステムへのアクセス
  • 広範な実行フック
  • ユーザー、ボット、その他のプラグインからの任意入力への間接的な露出

その時点で、セキュリティはすべてのプラグイン作者が永遠に一貫して良い判断をすることへの希望の問題になります。大規模エコシステムにとってスケールする前提ではありません。

本当の問題は過剰権限

一つの狭いタスクのために広い権限を得るべきではありません。

投稿公開後にメールを送るプラグインなら、重要なのは人気かどうかではありません。そのプラグインが実際に何ができるかが重要です。

モダンなセキュリティモデルでは、管理者が次のような問いに答えられるべきです。

  • このプラグインはコンテンツを読めるか?
  • コンテンツを書けるか?
  • メールを送れるか?
  • 外部サービスを呼べるか?
  • 宣言したスコープの外に触れられるか?

WordPress は、その種の明示的な許可境界を中心に設計されていません。

EmDash が変えること

EmDash は別のアプローチを取ります。プラグインは隔離されたサンドボックスで動き、必要なケイパビリティを事前に宣言することが期待されます。

プラグインの信頼が、あいまいな評判から見えるスコープへ移るから重要です。

よりよいプラグインシステムは、作者が完璧であると約束するものではありません。作者がミスをしたときの影響範囲を制限するものです。

明示的なケイパビリティモデルでは、プラグインリスクをより直接的に考えられます。

  • コンテンツ自動化プラグインをコンテンツフックと読み取りに限定できる
  • メール連携をメール送信に限定できる
  • ネットワークアクセスを、暗黙の全面許可ではなく特定の宛先に狭められる

プラグインの人気コンテストではなくセキュリティレビュープロセスが必要なチームには、はるかに適した形です。

実際の CMS 運用にとって重要な理由

ほとんどのコンテンツチームに、すべてのプラグインを深く監査する時間はありません。それでも連携、公開自動化、プレビュー、通知、編集ワークフローは必要です。実務的な問いは、プラットフォームが健全なデフォルトの信頼モデルを与えるかどうかです。

EmDash はここでより強い話をします。すべてのプラグインが広いアクセスに値すると仮定するのではなく、反対から始める——アクセスは意図的に、狭く付与されるべきだ、という設計選択です。

レビューの必要性を消すわけではありませんが、レビューをより意味のあるものにします。

より大きな教訓

WordPress のプラグインセキュリティの問題は、不安全なプラグインだけの話ではありません。プラグインが最初から過剰な信頼で始まるエコシステムの話です。

EmDash は、行動改善だけを求めて解決しようとしません。実行モデルを変えることで解決します。

  • プラグインを隔離する
  • ケイパビリティを宣言する
  • 必要なものだけを付与する
  • プラグインのミスの結果を小さくする

希望に頼るプラグインシステムと、制約のために作られたプラグインシステムの違いです。