Google推出ClusterFuzzLite模糊測試系統

谷歌推出了 ClusterFuzzLite 項目,該項目允許組織程式碼模糊測試,以便及早發現持續整合系統運行過程中的潛在漏洞。 目前,ClusterFuzz 可用於對 GitHub Actions、Google Cloud Build 和 Prow 中的拉取請求進行自動化模糊測試,但預計未來將支援其他 CI 系統。 該專案基於 ClusterFuzz 平台,旨在協調模糊測試叢集的工作,並在 Apache 2.0 許可證下分發。

值得注意的是,Google在2016年推出OSS-Fuzz服務後,已有超過500個重要開源專案被納入持續模糊測試計畫。 根據所進行的測試,已消除了 6500 多個已確認的漏洞,修正了 21 多個錯誤。 ClusterFuzzLite 繼續開發模糊測試機制,能夠在提議變更的審查階段儘早發現問題。 ClusterFuzzLite已經在systemd和curl專案的變更審查流程中實現,並且可以識別在檢查新程式碼的初始階段使用的靜態分析器和linter所遺漏的錯誤。

ClusterFuzzLite 支援 C、C++、Java(和其他基於 JVM 的語言)、Go、Python、Rust 和 Swift 的專案審查。 模糊測試是使用 LibFuzzer 引擎進行的。 也可以呼叫AddressSanitizer、MemorySanitizer 和UBSan (UndefinedBehaviorSanitizer) 工具來識別記憶體錯誤和異常。

ClusterFuzzLite 的主要功能:在程式碼接受之前快速檢查建議的變更以發現錯誤; 下載有關崩潰情況的報告; 能夠進行更高級的模糊測試,以識別在檢查程式碼變更後未出現的更深層的錯誤; 產生覆蓋率報告以評估測試期間的程式碼覆蓋率; 模組化架構可讓您選擇所需的功能。

讓我們回想一下,模糊測試涉及產生接近真實資料的各種輸入資料的隨機組合流(例如,具有隨機標籤參數的 html 頁面、具有異常標題的檔案或圖像等),並記錄可能的情況。處理過程中的失敗。 如果序列崩潰或與預期回應不匹配,則此行為很可能表示存在錯誤或漏洞。

來源: opennet.ru

添加評論