谷歌開源 ClusterFuzz,自動化查詢並修復 bug
近日,谷歌開源了一個模糊測試基礎設施—— ClusterFuzz ,可以非常簡單地自動化查詢並修復程式中的 bug。
模糊測試是一種用於自動化檢測軟體中存在的問題的方法,其通過向目標程式提供意外輸入來實現。它能有效地發現可以帶來嚴重安全隱患的記憶體損壞錯誤。手動查詢這些問題既困難又耗時,儘管有嚴格的程式碼審查實踐,但難免會漏掉一些問題。對於使用諸如 C/C++ 這類不安全的語言編寫的軟體專案,模糊測試是確保其安全性和穩定性的關鍵環節。
專案團隊表示,為了使模糊測試行之有效,它必須是連續的、大規模執行,並且整合到軟體專案的開發過程中,而為了在 Chrome 上提供這些功能,他們編寫了 ClusterFuzz,這是一個執行在 25000 多個核心上的模糊測試基礎設施。兩年前,團隊開始將 ClusterFuzz 作為一項免費服務通過 OSS-Fuzz 向開源專案提供。如今 ClusterFuzz 已開源,任何人都可以使用。
ClusterFuzz 研發到現在已經過 8 年時間,其旨在無縫地融入開發人員工作流程,並使得查詢 bug 並修復它們變得非常簡單。ClusterFuzz 提供端到端的自動化,從 bug 檢測到分類,到錯誤報告,最後到錯誤報告的自動閉合。
ClusterFuzz 已經在 Chrome 中發現了超過 16000 個 bug,在與 OSS-Fuzz 整合的 160 多個開源專案中發現了超過 11000 個 bug。它是 Chrome 和許多其它開源專案開發過程中不可或缺的一部分。ClusterFuzz 通常能夠在引入後幾小時檢測到問題,並在一天內驗證修復。
專案地址:https://github.com/google/clusterfuzz