🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

這是一款開源軟件,由愛好者撰寫,並由一位志願者進行維護。測試不夠充分,內存安全性不足,並且充滿安全性漏洞。將這款軟件用於不可信的數據是一種愚蠢的行為。安全性漏洞的處理與其他漏洞相同,收到的安全性漏洞報告會被立即公開,並不會優先進行修復。

libxml2是什麼?

這是一款處理XML的庫,已經被許多Linux發行版和程式語言所使用,並且在ChromeSafari等網頁瀏覽器中也有應用。此庫可以說是在業界的標準。

當然PHP中也有,而DOMSimpleXML等都依賴於libxml2。

libxml2是由Daniel Veillard於2000年左右創建的。之後,從2013年開始,Nick Wellnhofer開始進行貢獻,現在幾乎是由Nick Wellnhofer獨立維護

安全性漏洞報告是什麼?

最近因Felica的漏洞而小有話題,安全性漏洞的處理方式基本上與普通的漏洞報告不同。如果安全性漏洞在GitHub或其他媒體上突然被公開,攻擊者可能會在修復完成之前就利用這些漏洞。因此,關於安全性漏洞的報告,企業的漏洞獎勵計畫以及HackerOneIPA等機構都會報告,並在修復完成之前保持不公開的流程已經確立。當然,報告的接收方在修正版發佈之前,對於安全性漏洞保持沉默也是通行的做法。這被稱為協調性漏洞披露流程,目前多數開發者和應用都遵循這一流程。

libxml2卻顛覆了這一行業標準,對所有安全性漏洞一律公開,無論是否得到了修正,對攻擊者的利用毫不在意,這是其創新的安全對策。這種90天內公開漏洞的政策引發了大規模的批評,令其Google Project Zero相形見絀。

由於libxml2已經使用多年,不可能再有致命的安全性漏洞理論上不會存在,但如果未來真的發現了能夠隨意讀取磁碟的漏洞,那麼幾乎所有的PC和伺服器都將面臨危險。

為什麼會這樣?

早在之前就已經多次 被提及 引發話題 的問題,就是OSS開發者完全無法獲利的問題。

退任

2021年7月22日的帖子。

我從未真正要求過,但在過去幾年中,我成為libxml2和libxslt的實質維護者。
幸運的是,我能夠通過Chrome VRP漏洞獎勵和OSS-Fuzz整合獎勵來資助我的參與。
非常感謝Google提供的這些優秀計畫。

不幸的是,來自安全研究的回報正在迅速減少,我看不到獲得最低資金的途徑。
因此,我決定退任貢獻者和維護者。

特別是我未曾要求,但不知不覺中已成為libxml2和libxslt的實際維護者。
幸運的是通過Chrome VRP漏洞獎勵和OSS-Fuzz整合獎勵獲得了一些資金。

遺憾的是,來自安全方面的收入迅速減少,無法再確保最低的資金。
因此,我決定退任貢獻者和維護者。

恢復維護

2022年1月10日的帖子。

多虧了Google的捐贈,我能夠在2022年繼續維護libxml2(和libxslt)。

處理第三方報告的安全問題

2025年5月8日的帖子。

我每週要花幾個小時來處理第三方報告的安全問題。
這些問題中的大多數並不關鍵,但這仍然是一項艱鉅的工作。
從長遠來看,這對我這樣的無償志願者來說是無法持續的。

我在考慮一些改變,以便繼續進行libxml2的工作。
基本的想法是將安全問題視為其他bug。
它們將立即公開,並在維護者有時間時進行修復。
不會有截止日期。
這項政策可能會讓一些下游用戶感到不安,但或許能夠激勵他們多作出一些貢獻。

我在這方面工作了足夠長的時間,知道許多關於安全問題的保密性只是演技。
所有 “最佳實踐” 例如OpenSSF Scorecards,只是大型科技公司試圖讓開源軟件的維護者感到內疚,讓他們無償工作。
我個人的公司最近嘗試成為OpenSSF的成員。
您首先必須成為Linux基金會的成員,這至少需要每年1萬美元的費用。
這些組織都是非常排他的俱樂部,基本上毫無開放性可言。
是時候對他們及其支持者進行指責了。

從長遠來看,對開源軟件的維護者提出這樣的要求而不進行補償是有害的。
我剛剛辭去了libxslt的維護者職位,而這個項目再也不可能持續維護。
更不用說Google Project Zero這些金錢能買到的最佳白帽安全研究人員正對志願者虎視眈眈了。

處理第三方報告的安全問題

2025年5月10日的帖子。

關鍵在於libxml2從未具備用於主流瀏覽器或操作系統的品質。
這一切開始於Apple將libxml2作為其所有操作系統的核心組件。
然後Google緊隨其後,如今甚至Microsoft在其操作系統中(非Edge)也使用libxml2。

重點在於libxml2最初並不具備供瀏覽器或操作系統使用的品質。
Apple最初將libxml2納入其操作系統的核心組件。
隨後Google也跟進,現在甚至Microsoft在其操作系統中(並非僅限於Edge)也使用libxml2。

這不應該發生。
最初這算是一種成長黑客行為,但現在這些公司賺取了數十億美元的利潤,卻拒絕償還他們的技術債務,要麼是轉向更好的解決方案,要麼是始終開發自己的產品,或者試圖改善libxml2。
這些公司的行為是無責任的。
即使他們聲稱否則,他們也不關心用戶的安全和隱私。
他們只是試圖修補症狀。

我不再參與這場遊戲了。
如果這些公司停止使用libxml2,將對該項目的健康狀態更有裨益。

辭去libxml2維護者職位

2025年8月15日的帖子。

我決定辭去libxml2的維護者職位,這意味著該項目現在或多或少處於不受維護狀態。

近來,libxml2幾乎是由Nick Wellnhofer獨自維護,如果他辭職,這意味著該項目的放棄。

關於libxslt,最近Iván Chavero為接任者提出了申請,但貢獻者仍然不多
對於libxml2,未來會如何仍然未知。

OpenSSF是什麼?

OpenSSF是一個推動持續開發和維護開源軟件的組織。
其中著名的舉措包括推動制定協調性漏洞披露流程等。

為了實現協調性的願景,他們要求至少每年支付1萬美元的費用,實際上對OSS開發者的貢獻回饋並不明顯。

總結

協調性漏洞披露流程只不過是讓OSS維護者免費工作的一種威脅,這是一種相當強烈的主張。

從實際的問題來看,例如Google Project Zero對開源項目僅關注漏洞指摘,卻不進行漏洞修復或補丁創建。因此,許多批評聲音認為他們既然獲得了高薪,就應該能夠撰寫補丁。

如果Google真正有興趣改善對抗駭客的情況,應該會發佈修補或資助補丁。
實際上他們只想要收集CVE徽章。

感想

其實說「放棄」有些過於武斷,現在的情況應該是「沒有維護人」,如果有人自願接手開發,將會繼續進行。然而,即使成為維護者,也沒有報酬和利益,所承擔的只有時間和責任,因此這樣的位置幾乎沒有好處。
能夠主動進入這樣的位置,無非就是一些非常特立獨行的人。

如你所見,libxml2已經深入到各種操作系統、瀏覽器和語言,成為一個重要的庫。在這樣的核心部門中出現這樣的情況,未來的OSS將會走向何方呢?

apple-oss-distributions/libxml2

順便提一下,Apple已經公開了自己改進的libxml2版本

如你所見,這是未分支的獨立套件,並且加入了專用的Apple代碼,因此在其他平台上的運作情況尚不明確。


原文出處:https://qiita.com/rana_kualu/items/29227778c0cb9ecd890f


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝17   💬10   ❤️5
419
🥈
我愛JS
📝2   💬8   ❤️4
90
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付