google希望進行“模糊測試(fuzz testing,fuzzing)”,為程式提供随機資料輸入,作為開源開發的标準部分。
為此,它剛剛在github上推出了一個用于 oss-fuzz 的測試計劃的項目,其目的在于推動現代模糊技術标準化,并将它們與可以根據需要擴充的分布式執行模型相結合,以確定重要開源項目的安全性。
根據 維基百科 的解釋:“模糊測試是一種軟體測試技術,通常是自動或半自動的,涉及向計算機程式的輸入提供無效、意外或随機資料。然後,監視程式是否有異常,例如崩潰、内置代碼斷言失敗或查找潛在的記憶體洩漏。”
google表示,這種技術可以用來確定流行的開源元件(特别是被認為是全球it基礎設施的關鍵部分)是穩定、安全和可靠的。
“最近的安全故事證明, 緩沖區溢出 和 釋放後使用 的錯誤會在關鍵的開源軟體中導緻嚴重的後果”,該公司在最近的一篇 部落格 中說。“這些錯誤不僅嚴重,而且通過正常代碼審計很難發現,即使對于有經驗的開發人員也是如此。這就讓模糊測試應運而生。通過生成給定程式的随機輸入,模糊觸發并幫助快速徹底地發現錯誤。”

oss-fuzz将利用 clusterfuzz 項目在可擴充的分布式執行環境中将不同的模糊引擎(從 libfuzzer 開始)和其他元件組合在一起。
該公司表示,該項目迄今已在流行的開源項目中發現了 150個錯誤 。
目前,oss-fuzz隻對有大量使用者群或者對全球it基礎架構至關重要的開源軟體提供服務。這暗示着,盡管沒有直截了當地說明,這一切仍會變化。“通過你的幫助,我們可以将模糊測試作為開源發展中的一個标準規範,并和廣大開發者、安全測試人員一道,確定那些重要開源應用、庫以及api中的程式錯誤都能被發現和修複。”