尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
作者 |h4cd
本文經授權轉自開源中國
最近,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 通常能夠在引入後幾小時檢測到問題,並在一天內驗證修復。
項目地址:https://github.com/google/clusterfuzz。
熱 文推 薦
☞義大利不禁止華為;13 款 5G 手機時間表公布;亞馬遜 CEO 遭威脅 | 極客頭條
☞工程師們的「鋼鐵審美」:花花公子封面女郎如何成為互聯網第一夫人?
☞斷舍離:我徹底戒掉蘋果、微軟、Google、Facebook 和亞馬遜之後?
☞年薪 10 萬的工程師,如何積累人生的第一個 100 萬?
print_r('點個好看吧!');var_dump('點個好看吧!');NSLog(@"點個好看吧!");System.out.println("點個好看吧!");console.log("點個好看吧!");print("點個好看吧!");printf("點個好看吧!");cout<<"點個好看吧!"<<endl;Console.WriteLine("點個好看吧!");fmt.Println("點個好看吧!");Response.Write("點個好看吧!");alert("點個好看吧!")echo "點個好看吧!"
點擊「閱讀原文」,打開 CSDN App 閱讀更貼心!
喜歡就點擊「好看」吧!