科技

Google開源ClusterFuzz,自動化查詢並修復bug

近日,Google開源了一個模糊測試基礎設施——ClusterFuzz,可以非常簡單地自動化查詢並修復程式中的 bug。

模糊測試是一種用於自動化檢測軟體中存在的問題的方法,其通過向目標程式提供意外輸入來實現。它能有效地發現可以帶來嚴重安全隱患的記憶體損壞錯誤。手動查詢這些問題既困難又耗時,儘管有嚴格的程式碼審查實踐,但難免會漏掉一些問題。對於使用諸如 C/C++ 這類不安全的語言編寫的軟體專案,模糊測試是確保其安全性和穩定性的關鍵環節。

專案團隊表示,為了使模糊測試行之有效,它必須是連續的、大規模執行,並且整合到軟體專案的開發過程中,而為了在 Chrome 上提供這些功能,他們編寫了 ClusterFuzz,這是一個執行在 25000 多個核心上的模糊測試基礎設施。兩年前,團隊開始將 ClusterFuzz 作為一項免費服務通過 OSS-Fuzz 向開源專案提供。如今 ClusterFuzz 已開源,任何人都可以使用。

ClusterFuzz 研發到現在已經過 8 年時間,其旨在無縫地融入開發人員工作流程,並使得查詢 bug 並修復它們變得非常簡單。ClusterFuzz 提供端到端的自動化,從 bug 檢測到分類,到錯誤報告,最後到錯誤報告的自動閉合,特性包括:

高度可擴充套件,Google的內部例項執行在超過 25000 臺機器上

準確的去副本化(Accurate deduplication)

問題跟蹤器的全自動錯誤歸檔和關閉

最小化測試用例

通過二分法迴歸查詢

提供分析 fuzzer 效能和崩潰率的統計資訊

易於使用的 Web 介面,用於管理和檢視崩潰

支援引導模糊(例如 libFuzzer 和 AFL)和黑盒模糊測試

ClusterFuzz 已經在 Chrome 中發現了超過 16000 個 bug,在與 OSS-Fuzz 整合的 160 多個開源專案中發現了超過 11000 個 bug。它是 Chrome 和許多其它開源專案開發過程中不可或缺的一部分。ClusterFuzz 通常能夠在引入後幾小時檢測到問題,並在一天內驗證修復。

專案地址:

「好看」一下,分享給更多人↓↓↓

Reference:科技日報

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題