Cloudflareは、無料のオープンソースコンテンツ管理システム(CMS)「EmDash 1.0」をリリースしました。各プラグインをサンドボックス内の独立した実行環境に閉じ込めるのが特徴です。プラグインが最初に使えるのは、自分専用のストレージだけです。サイトのコンテンツ、メディア、ユーザー、シークレット、環境変数、ファイルシステム、ネットワークには、必要な権限を宣言し、サイト管理者が承認するまでアクセスできません。
この仕組みが守るのは、自分で書いていないコードを動かすサイト運営者です。Cloudflareは、EmDashを「WordPressの精神的後継」と位置づけています。WordPressのプラグインはアプリケーション本体と同じPHPプロセス内で動作し、データベース、ファイルシステム、ネットワークに直接アクセスできます。たとえば、WordPressのお問い合わせフォーム用プラグインは、技術的には未公開の投稿を読み取ったり、データを任意の宛先に送信したりできます。運営者は、今後のあらゆるアップデートを通じて、そうした挙動をしないと信じるしかありません。

WordPressとEmDashのランタイムアーキテクチャの比較(出典:Cloudflare)
プラグインが要求できる権限
Cloudflareは、プラグインのインストールをスマートフォンのアプリのインストールにたとえています。EmDashは、プラグインが実行される前に必要な権限の一覧を表示し、ランタイムがその範囲内に動作を制限します。権限は一つずつ独立しています。検索プラグインなら、公開済みの記事の読み取りと検索サービスへの接続はできますが、記事の編集や他のホストへのアクセスはできません。画像最適化プラグインに与えられるのはメディアライブラリだけで、ユーザーのコンテンツには触れられません。
スマートフォンで権限の確認画面を何気なくタップして進めた経験があれば、弱点はおわかりでしょう。ランタイムが強制するのは、管理者が承認した内容そのものです。中身を確認せずに承認した場合も例外ではありません。
署名付きリリースと、中央に停止スイッチを持たない設計
EmDashのプラグインレジストリは、Blueskyの基盤である分散型ネットワーク「AT Protocol」上で動作します。公開者はパッケージとリリースの記録に署名し、自分のAtmosphereアカウントに保存します。EmDashは各リリースを、公開者のアカウントによる署名付きコミットと照合します。そのうえで、チェックサム、パッケージ名、バージョン、要求されたアクセス権、必要なビルドの来歴(プロベナンス)を確認します。
署名で証明できるのは、誰がリリースを公開したかという点です。公開者のアカウントが乗っ取られた場合でも、有効な署名が生成されます。また、Cloudflareはこのレジストリを、プラグインを乗っ取ったり削除したりできる中央管理者のいない形で構築しました。EmDash自身のカタログにおけるモデレーションでは、掲載情報の名称、説明、リンク、画像を非表示にできます。ただし、リリースそのものは公開されたままです。
EmDashはGitHubで公開されています。
翻訳元: https://www.helpnetsecurity.com/2026/09/29/cloudflare-emdash-plugin-security/