WordPress 票證 #30465 已於 10 年前開放 – 2025 年是否會成為最終解決的一年?
已發表: 2025-01-03早在2014 年11 月,一位名叫Sergej Mueller 的WordPress 開發人員提出了一個看似合理的擔憂:用戶無法知道他們正在使用的插件是否已從官方存儲庫中刪除- 即使出於安全原因刪除了該插件。他的請求——官方編號為#30465——很快就被關閉,但沒有解決。謝爾蓋幾乎不知道它會在近十年後重新開放。
2025 年初,我寫了一篇關於它的更新。
為什麼?
出於幾個原因。
首先,它與最近(確切地說是去年 10 月)發生的一些插件安全事件高度相關。我很快就會討論這些。其次,解決問題的意願和動力已經增強──票證上的最後一次活動是在不到一個月前:
所以看起來謝爾蓋的耐心很快就會得到回報…
我們先來回顧一下票證的發展歷程。然後,我們可以進入最近幾週發生的事情:
從「無法解決」到登上 WCEU 2023 的舞台🙅♂️
當票證第一次打開時,它收到了一些回复,但很快就被 WordPress 首席開發人員 Andrew Nacin 關閉了。他關閉了它並將其標記為“無法修復”,並解釋說刪除插件的原因有很多,而不僅僅是安全問題:
此後出現了一些評論,但後來逐漸消失為有人試圖重提這個問題的一年一次(有時甚至更少)的評論。
然後, 2023 年 3 月,發生了一些有趣的事情。 WordPress社群知名人物Joost de Valk正式重新開票。他的論點是 WordPress 有責任告訴使用者外掛程式是否得到維護。
他還指出,WordPress.org 已經在平臺本身上顯示了這些訊息,但只是在 60 天的等待期之後。他的建議是為 WordPress 後端帶來相同的透明度,用戶可以在後端實際管理他們的外掛程式。
這在整個線程中掀起了新的熱情浪潮。這張票變得如此受歡迎,以至於 Patchstack 的執行長兼聯合創始人 Oliver Sild 甚至在WCEU 2023演講中提到了這一點:
他不僅提到了這一點,還鼓勵 WCEU 與會者使用他添加到簡報中的自訂二維碼在主題上留下評論。他還在 Patchstack 明年舉辦的一場比賽中使用了這個插件作為延遲空中接力。
Patchstack 2024 年 10 月活動 🪲
2024 年 10 月,Patchstack 啟動了 Bug Bounty 活動,作為網路安全月的一部分。如果奧利佛在 WCEU 演講中提到的#30465 票是空中接力,那麼本次賽事的結果將是灌籃高手。
參與活動的安全研究人員最終在一個月內發現了 1,571 個有效的安全漏洞報告,數量驚人。這些也不只是小問題──我們正在討論的是:
- 73 例攻擊者可以上傳惡意檔案。
- 67 個可能危及整個資料庫的 SQL 注入漏洞。
- 攻擊者提升權限的 58 種方法。
- 17 個遠端程式碼執行漏洞(哎呀!)
後果導致近 1,000 個插件暫時關閉。當 Patchstack 嘗試就這些問題聯繫外掛程式開發人員時,幾乎 74% 的人完全無法聯繫。他們的聯絡表單已損壞、電子郵件被退回或網域名稱已過期。
更糟糕的是,許多易受攻擊的插件已在儲存庫中存放了 6-11 年。有些可以追溯到 17 年前!是的,仍然有依賴這些插件的即時網站。
不用說,所有這些數據都為 Oliver 在線程中提供了槓桿作用,推動票證#30465 向前完成。他很高興地利用了這一點,並在討論該事件的官方 Patchstack 部落格文章發布前兩週發布了一些細節:
從討論到行動🛠️
當奧利佛發表評論時,該貼文上的活動已經如滾雪球般越滾越大,因此很難衡量其個人影響力。然而,假設它火上澆油並非沒有道理。尤其是其他用戶(其中至少有一個是 Patchstack 員工)公開支持他的評論。
作為回應,WordPress 首席開發人員 Dion Hulse (@dd32) 在幾個問題上提出了一些反對意見,但也透過創建一個實驗性外掛程式來實現期待已久的功能,從而大大加強了這一點:
實作非常簡單——當 WordPress.org 儲存庫中的外掛程式關閉時,用戶會看到一條清晰但經過衡量的通知。沒有引起恐慌的紅色警報,只有有關插件狀態的簡單資訊。
有人找到謝爾蓋並告訴他: “媽媽,我們成功了!”
嗯……差不多了。
它還不是 WordPress 核心的一部分,但我確實感覺到我們已經接近終點線了!
現在它已被證明是可能的,下一步是決定最終的實施。然後就可以整合到WordPress核心中了。
接下來怎麼辦? 🎯
截至撰寫本文時,該功能正在考慮包含在 WordPress 6.8 中(根據 Dion Hulse),儘管仍有一些障礙需要清除。這些包括:
- 確定通知時間(正在討論是否可能延長 60 天的窗口期)。
- 標準化關閉原因文件。
- 平衡使用者意識與開發人員支援負擔。
- 確定確切的位置(網站運行狀況畫面與直接在插件上,如插件範例螢幕截圖所示)。
大圖🌐
WordPress 票證 #30465 的演進告訴我們一些關於 WordPress 安全性在過去十年中發生的有趣變化。隨著生態系統的發展和安全挑戰的成倍增加,曾經被視為邊緣案例的問題變得越來越重要。
雖然花了十年才達到這個目標,但實驗性插件顯示我們終於找到了一個平衡安全意識與使用者體驗的解決方案。由於數以百萬計的 WordPress 安裝可能受到易受攻擊的插件的影響,因此此功能還不夠快。
如果您想跟進開發,請查看 GitHub 上的實驗性插件,或追蹤票號 #30465。這可能是我們見證長達十年的對話轉化為實際成果的罕見時刻之一。 💡
您覺得這個功能怎麼樣?身為 WordPress 用戶,您認為得知外掛程式已關閉對您有幫助嗎?請在評論中告訴我。我們在那裡見。