跳至正文
Google Developers Blog·· 2 天前AI 評分58

Google 工程師用 Gemini 4 Argon 與 Z3 捕捉 Go 邊界檢查中模糊測試漏掉的錯誤

Catch Go bugs that fuzzing misses with Gemini and a constraint solver

AI 導讀

一位主導公司 agent skills 計畫的 Google 工程師建了一套流程,讓 Gemini 4 Argon 讀取 Go 原始碼與 RISC-V 反組譯,把殘存的 runtime.panicBounds 陷阱轉成 Z3 約束,再由 go test 把任何可滿足的輸入重放成真正的重現案例。這套流程在 skill-lint 中抓到了全部三個植入的錯誤與三個潛伏錯誤,而未設種子的 go test -fuzz 漏掉了其中兩個植入的當機,因為 Go 是拿切片對容量而非長度做檢查。用 data[:len(data):len(data)] 把容量裁到長度後,模糊測試器在三次執行中都讓兩個越界錯誤當掉,中位數分別為 0.28 秒與 0.17 秒。

來源:Google Developers Blog · developers.googleblog.com