GitHub 推出自動化 Fuzzing 任務流程 (Fuzzing Taskflow) 與 Taskflow Agent 創新應用
為何重要
這項技術體現了 LLM Agent 不僅能進行懶惰的程式碼補全,更顯示其在處理高度反覆迭代、邏輯複雜的軟體工程任務(如 fuzzing)時的實務價值;對開發者團隊而言,這意味著可以自動填補往往是安全漏洞重災區的 vendor code 與冷路徑測試。
GitHub Security Lab 發布名為 Fuzzing Taskflow 的自動化模糊測試管道,旨在透過 LLM Agent 取代傳統 fuzzing 流程中繁瑣的人工監控工作,讓 C/C++ 專案能夠在自動化的狀態下持續追蹤覆蓋率與撰寫測試 harness。
- 使用者只需提供 GitHub Repository 的所有者/倉庫識別碼(例如
tukaani-project/xz),Agent 便能自動執行環境安裝、尋找合適入口點、撰寫 Harness 與除錯報告。 - 系統採取「決策與執行分離」架構,決策層由 LLM Agent(預設使用 Claude Sonnet 5)負責,執行層則由 MCP 工具呼叫 AFL++ 與編譯指令,並透過 SQLite 資料庫串聯各階段狀態。
- 覆蓋率最佳化迴圈採用時間預算加倍策略(30秒 → 480秒 / 約 32分鐘),並在連續兩次疊代幅度低於 1% 時啟動停滯檢測機制。
- 為提升對結構化輸入的偵錯效率,該工具內建針對 JSON、XML、正規表示式、PNG 等格式的專屬字典,並能從原始碼中動態抽取常數作為拼貼 tokens。