觀點 · 資訊分享

Cloudflare 開源 CMS「EmDash」1.0:外掛關進沙箱,沒授權就碰不到你的資料

Cloudflare 發布 EmDash 1.0 正式版,一套 MIT 授權、以 Astro 打造的開源內容管理系統。每個外掛都在隔離環境執行,沒有宣告並經管理員同意,就讀不到網站內容、使用者、金鑰或網路。

發布
2026-09-28
篇幅
約 4 分鐘 · 1,640 字
結構
7 節 + 4 題常見問題
標籤
#EmDash#CMS#Cloudflare#Astro#外掛安全
Cloudflare 開源 CMS「EmDash」1.0:外掛關進沙箱,沒授權就碰不到你的資料

一句話看懂:Cloudflare 推出開源架站系統 EmDash 1.0,最大特色是把每個外掛關進自己的沙箱,沒經過管理員同意,外掛就碰不到網站的資料。

EmDash 1.0:外掛沙箱化的 CMS資訊圖卡:每個外掛各自隔離,要什麼權限都得先申請、管理員點頭

先用白話講:CMS 和外掛是什麼?

CMS(內容管理系統)就是讓你不用寫程式也能管理網站文章、圖片的後台,WordPress 是最有名的一套。

外掛則像幫手機裝 App,用來加上表單、會員、SEO 這些功能。問題是,很多 CMS 的外掛一裝上去,權限就跟網站本體一樣大,像是把整串家裡鑰匙交給一位新來的鐘點清潔員。外掛寫得不好或被植入惡意程式,就能讀寫整個網站。

EmDash 的做法是:每位「清潔員」只拿得到他需要的那一把鑰匙,而且要先問屋主。

發生什麼事

Cloudflare 在 9 月 28 日的 Birthday Week 第一天,發布 EmDash 1.0 正式版:

  • 開源授權:MIT,可以自由使用與修改
  • 技術基礎:以 Astro 打造。開發者用 Astro 開發,編輯用 EmDash 後台,AI 代理透過 API、CLI 或內建的 MCP 伺服器操作
  • 從 Beta 到 1.0:官方說 Beta 期間已經有開發者拿它上線真實網站,Cloudflare 自己的部落格也在 8 月搬上 EmDash

外掛安全怎麼做

隔離執行:每個外掛在獨立的執行環境裡跑,有自己的私有儲存空間。除非外掛事先宣告需要、而且網站管理員同意,否則它碰不到:

  • 網站內容與媒體
  • 使用者資料
  • 機密與環境變數
  • 檔案系統與網路

外掛登記中心:發布者把簽章過的套件與版本紀錄存在自己的 AT Protocol 帳號。EmDash 會獨立驗證簽章、檢查碼、套件名稱、版本、要求的權限,必要時還會檢查建置來源。目前只支援免費外掛,付費外掛還在規劃中。

給開發者的技術細節

  • 在 Cloudflare 上:每個外掛以 Dynamic Worker 的形式,透過 Worker Loader 執行
  • 在 Node.js 上:EmDash 會另外啟動一個 workerd 行程來承載外掛
  • 部署:可部署到 Cloudflare Workers;也設計給用 Workers for Platforms 代管客戶網站的主機商
  • 開始使用:
npm create emdash@latest
  • 也可以用 Cloudflare 主控台的部署按鈕,或先到官方 playground 試玩
  • 官方文章沒有提到從 WordPress 搬家的工具,要搬既有網站前先確認

我的看法

接 WordPress 案子時,最常要處理的安全更新就是外掛。EmDash 從架構上把外掛隔離,方向是對的,而且 MIT 授權、可以在 Node.js 上跑,不完全綁死 Cloudflare。

但我不會建議客戶現在就把 WordPress 網站搬過去。WordPress 的生態系有大量現成外掛和熟悉後台的編輯,EmDash 才剛到 1.0,外掛數量和搬家工具都還在起步。比較實際的用法是:新的內容型網站,尤其本來就熟 Astro 的團隊,可以拿它當候選;既有網站繼續把 WordPress 和外掛更新好。

名詞小辭典

  • CMS(內容管理系統):讓人透過後台管理網站內容的系統。
  • 沙箱(Sandbox):隔離的執行環境,裡面的程式出問題也影響不到外面。
  • Astro:一套網站開發框架,擅長做速度快的內容型網站。
  • AT Protocol:一種去中心化的網路協定,帳號與資料可以由使用者自己掌握。

資料來源

常見問題

EmDash 是什麼?
Cloudflare 開源的內容管理系統(CMS),用來架部落格、官網這類內容型網站。開發者用 Astro 開發,編輯在 EmDash 後台寫文章,AI 代理則可以透過 API、CLI 或內建的 MCP 伺服器操作。
外掛沙箱有什麼好處?
很多 CMS 的外掛權限和網站本體一樣大,一個外掛出問題就能讀寫整個網站。EmDash 讓每個外掛各自隔離,只能使用事先宣告、管理員同意過的權限,出事時的影響範圍比較小。
只能放在 Cloudflare 上嗎?
官方文章提到可以部署到 Cloudflare Workers,也說明在 Node.js 上會另外啟動 workerd 來執行外掛;文章沒有點名其他特定主機商。
怎麼開始試用?
官方提供三種方式:在本機執行 npm create emdash@latest、用 Cloudflare 主控台的部署按鈕,或先到線上 playground 試玩。
LINE