Google開源ClusterFuzz,可擴充套件的模糊測試基礎架構
最近,Google開源了一個模糊測試基礎設施ClusterFuzz,這使得自動搜尋和修復程式中的錯誤非常容易。
模糊測試是一種通過向目標程式提供意外輸入來自動檢測軟體問題的方法。它可以有效地檢測可能帶來嚴重安全風險的記憶體損壞錯誤。手動發現這些問題既困難又耗時,儘管有嚴格的程式碼審查實踐,但不可避免地會遺漏一些問題。對於用不安全的語言(如C/C ++)編寫的軟體專案,模糊測試是確保安全性和穩定性的關鍵部分。
專案團隊表示,為了使模糊測試工作,它必須是連續的,大規模的執行,並且整合到軟體專案的開發中,並且為了在Chrome上提供這些功能,他們編寫了ClusterFuzz,這是一個在超過25,000個核心上執行模糊測試基礎設施。兩年前,該團隊開始通過OSS-Fuzz向開源專案提供ClusterFuzz免費服務。今天,ClusterFuzz是一個開放原始碼,任何人都可以使用。
ClusterFuzz提供了許多功能,可以幫助將模糊測試無縫整合到軟體專案的開發過程中:
- 高度可擴充套件。Google的內部例項執行在超過25000臺機器上。
- 準確的重複資料刪除崩潰。
- 問題跟蹤器的全自動錯誤歸檔和關閉(僅限現在的單軌)。
- 測試用例最小化。
- 通過二分法找回迴歸。
- 用於分析模糊器效能和崩潰率的統計資訊。
- 易於使用的Web介面,用於管理和檢視崩潰。
- 支援覆蓋引導模糊(例如libFuzzer和AFL)和blackbox模糊測試。
ClusterFuzz在Chrome中發現了超過16,000個錯誤,在與OSS-Fuzz整合的160多個開源專案中發現了超過11000個錯誤。 ClusterFuzz可在 此處 獲得。
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2019-02/156810.htm