Ladybird 瀏覽器宣佈停止接受公開 Pull Request
Ladybird Browser Project · 2026-06-05
Ladybird 瀏覽器計畫創辦人 Andreas Kling 於 2026 年 6 月 5 日宣佈一項重大政策變更:專案即日起不再接受來自外部的公開 Pull Request。Ladybird 是一款以 C++ 從頭開發的獨立開源瀏覽器,目前仍在早期開發階段並以 alpha 版本為目標,原始碼維持公開授權。
背景
長期以來,開放原始碼文化將接受社群貢獻視為健康生態的指標。Kling 在公告中點出:AI 生成程式碼打破了「提交 PR」作為貢獻者可信度代理的假設。他寫道:「一個實質性的 patch 曾經暗示著實質性的努力,而那份努力是善意的合理代理。」如今,任何人都可以用 AI 工具快速生成外觀合理的大型 patch,舊有的信任機制因此失效。
對於瀏覽器這個特殊類型的軟體,風險不對稱性尤為明顯。瀏覽器直接執行來自全網際網路的不受信任輸入,攻擊者只需成功植入一個隱蔽的漏洞即可造成巨大損害。Kling 引用這個根本性的安全要求作為政策變更的核心理由。
新開發流程
新政策的核心原則是責任歸屬的明確化:「引入變更的人必須是決定該變更是否屬於本專案的人,並且將為此承擔後果。」實際上,只有被認可的專案維護者才能將程式碼合入主幹。每一行進入 Ladybird 的程式碼都必須:符合現有架構設計、能夠在未來重構中存活、與瀏覽器其餘部分正確互動,並且由負責維護的人員充分理解。
外部開發者雖無法直接提交程式碼,但仍可透過以下方式參與:
- 清晰的錯誤回報與重現步驟
- 網站相容性測試與回報
- Web 標準規格討論
- 架構設計討論
- 安全漏洞通報
- 技術反饋
影響範圍
這個決策標誌著 Ladybird 走向與主流開源瀏覽器截然不同的治理模型。Chromium、Firefox 和 WebKit 雖然都有嚴格審查流程,但原則上仍接受外部提交。Ladybird 選擇更類似商業公司內部開發的封閉模型,在維持原始碼公開授權的同時,關閉程式碼貢獻通道。
從工程實務的角度看,這個決策直接反映了 AI 輔助開發工具對開源安全模型的系統性衝擊。隨著程式碼生成工具愈發普及,如何在歡迎貢獻與防止惡意植入之間取得平衡,是整個開源社群都必須面對的問題,而 Ladybird 選擇以一刀切的方式優先保障安全性,代價是放棄廣泛的社群貢獻者基礎。
原始來源:Ladybird Blog
Node.js 26.3.0 發布:Buffer 池擴容、QUIC 強化與執行時期權限降低
Node.js Blog · 2026-06-01
Node.js v26.3.0 於 2026 年 6 月 1 日由 Antoine du Hamel 發布,帶來多項 SEMVER-MINOR 新功能。這是 Node.js 26 Current 系列的第三個小版本,重點在於 Buffer 記憶體池效率、HTTP 標頭驗證彈性、Inspector 覆蓋率精準度、執行時期權限控制,以及 QUIC 協定的廣泛改進。
核心改動
Buffer.poolSize 預設值提升至 64 KiB(此前為 8 KiB)。Node.js 使用共享記憶體池來減少小型 Buffer 的分配器呼叫開銷;更大的池代表需要重新填充的頻率降低,在密集建立小型 Buffer 的應用(如 TCP 封包處理、HTTP 解析)中可觀察到效益。HTTP 模組新增 httpValidation 選項,允許應用程式層自訂標頭值的驗證行為,在需要處理非標準標頭的場景中提供更大彈性。
Permission Model 新增 permission.drop() 方法,允許執行中的 Node.js 程序在執行期間主動放棄已持有的特定權限。這個 API 讓應用程式可以實作「最小特權」的降低模式:在初始化完成後主動縮減能力集合,減少後續程式碼的攻擊面。Inspector 模組新增精確覆蓋率起始點暴露介面,讓 JS 執行時期可直接讀取,改善工具鏈對程式碼覆蓋率測量的精準度。
QUIC 協定改進
本版本對仍處於實驗性狀態的 QUIC 實作進行了大量改進,是近期版本中改動最集中的一次:
- 主機名稱驗證支援(Hostname verification)
- Stream 閒置超時機制(Stream idle timeout)
- Endpoint 的封鎖名單支援(Block list for endpoints)
- Session 建立速率限制(Session creation rate limiting)
- 多項效能最佳化
加密與平台更新
根憑證更新至 NSS 3.123.1,同步 Mozilla 的最新受信任 CA 清單。WebCrypto 強化了對原型污染的防護,並新增 CryptoJob 模式提升非同步加密操作的效能;同時,多個 WebCrypto 方法移除了不必要的 async 包裝,降低呼叫開銷。釋出說明也明確提醒,Apple 正逐步停止支援 Intel 架構,Node.js 26 的 macOS Universal Binary 可能無法在整個生命週期中持續維持,ARM64 用戶不受影響。
原始來源:Node.js Release Blog