這是一款開源軟件,由愛好者撰寫,並由一位志願者進行維護。測試不夠充分,內存安全性不足,並且充滿安全性漏洞。將這款軟件用於不可信的數據是一種愚蠢的行為。安全性漏洞的處理與其他漏洞相同,收到的安全性漏洞報告會被立即公開,並不會優先進行修復。
這是一款處理XML的庫,已經被許多Linux發行版和程式語言所使用,並且在Chrome和Safari等網頁瀏覽器中也有應用。此庫可以說是在業界的標準。
當然PHP中也有,而DOM和SimpleXML等都依賴於libxml2。
libxml2是由Daniel Veillard於2000年左右創建的。之後,從2013年開始,Nick Wellnhofer開始進行貢獻,現在幾乎是由Nick Wellnhofer獨立維護。
最近因Felica的漏洞而小有話題,安全性漏洞的處理方式基本上與普通的漏洞報告不同。如果安全性漏洞在GitHub或其他媒體上突然被公開,攻擊者可能會在修復完成之前就利用這些漏洞。因此,關於安全性漏洞的報告,企業的漏洞獎勵計畫以及HackerOne和IPA等機構都會報告,並在修復完成之前保持不公開的流程已經確立。當然,報告的接收方在修正版發佈之前,對於安全性漏洞保持沉默也是通行的做法。這被稱為協調性漏洞披露流程,目前多數開發者和應用都遵循這一流程。
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,將對該項目的健康狀態更有裨益。
2025年8月15日的帖子。
我決定辭去libxml2的維護者職位,這意味著該項目現在或多或少處於不受維護狀態。
近來,libxml2幾乎是由Nick Wellnhofer獨自維護,如果他辭職,這意味著該項目的放棄。
關於libxslt,最近Iván Chavero為接任者提出了申請,但貢獻者仍然不多。
對於libxml2,未來會如何仍然未知。
OpenSSF是一個推動持續開發和維護開源軟件的組織。
其中著名的舉措包括推動制定協調性漏洞披露流程等。
為了實現協調性的願景,他們要求至少每年支付1萬美元的費用,實際上對OSS開發者的貢獻回饋並不明顯。
協調性漏洞披露流程只不過是讓OSS維護者免費工作的一種威脅,這是一種相當強烈的主張。
從實際的問題來看,例如Google Project Zero對開源項目僅關注漏洞指摘,卻不進行漏洞修復或補丁創建。因此,許多批評聲音認為他們既然獲得了高薪,就應該能夠撰寫補丁。
如果Google真正有興趣改善對抗駭客的情況,應該會發佈修補或資助補丁。
實際上他們只想要收集CVE徽章。
其實說「放棄」有些過於武斷,現在的情況應該是「沒有維護人」,如果有人自願接手開發,將會繼續進行。然而,即使成為維護者,也沒有報酬和利益,所承擔的只有時間和責任,因此這樣的位置幾乎沒有好處。
能夠主動進入這樣的位置,無非就是一些非常特立獨行的人。
如你所見,libxml2已經深入到各種操作系統、瀏覽器和語言,成為一個重要的庫。在這樣的核心部門中出現這樣的情況,未來的OSS將會走向何方呢?
順便提一下,Apple已經公開了自己改進的libxml2版本。
如你所見,這是未分支的獨立套件,並且加入了專用的Apple代碼,因此在其他平台上的運作情況尚不明確。
原文出處:https://qiita.com/rana_kualu/items/29227778c0cb9ecd890f