谷歌最新開源的工具可以自動化查找並修復 bug!

谷歌最新開源的工具可以自動化查找並修復 bug!

作者 | h4cd

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

谷歌最新開源的工具可以自動化查找並修復 bug!

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

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

谷歌最新開源的工具可以自動化查找並修復 bug!

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

  • 高度可擴展,谷歌的內部實例運行在超過 25000 臺機器上
  • 準確的去副本化(Accurate deduplication)
  • 問題跟蹤器的全自動錯誤歸檔和關閉
  • 最小化測試用例
  • 通過二分法迴歸查找
  • 提供分析 fuzzer 性能和崩潰率的統計信息
  • 易於使用的 Web 界面,用於管理和查看崩潰
  • 支持引導模糊(例如 libFuzzer 和 AFL)和黑盒模糊測試

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

項目地址:https://github.com/google/clusterfuzz。


分享到:


相關文章: