工程開發
aflpp avatar

aflpp

AFL++ 模糊測試協作工具,支援 C/C++ 專案的多核心模糊測試,提供多樣化的變異策略與成熟的除錯工具,協助擴展漏洞挖掘。

簡介

AFL++ 是一款專為 C/C++ 程式碼庫設計的高效能工業級模糊測試工具(fuzzer),適用於資安研究人員與開發者。作為原版 AFL 的分叉版本,它引入了進階功能、更優異的變異策略與卓越的穩定性,成為複雜且大規模模糊測試專案的首選。透過多核心平行執行,AFL++ 能最大化處理量與測試覆蓋率,在生產級環境中表現往往優於 libFuzzer 等輕量級工具。

本技能提供了簡化的介面,以便將 AFL++ 整合至開發工作流中。它能協助建立容器化環境、配置持久性模糊測試掛鉤(fuzzing hooks),並管理系統級的效能最佳化,例如停用核心安全防護以達到最高測試速度。使用者可透過此工具在軟體開發生命週期早期發現崩潰(crash)、記憶體損毀與未定義行為。

  • 支援多核心模糊測試調度,達成高延展性的測試吞吐量。

  • 支援多種編譯模式,包含 LTO(連結時最佳化)、LLVM 模式與 GCC 外掛程式。

  • 整合 AddressSanitizer (ASAN) 等錯誤檢查工具,提升崩潰偵測的準確度。

  • 提供標準 libFuzzer 風格之 C++ 介面 harness 範本產生功能。

  • 提供效能調校工具,包含停用核心級緩解措施的系統設定指令碼,以提升執行速度。

  • 支援基於 Docker 的部署工作流,確保主機與雲端系統間的環境一致性。

  • 最適合 libFuzzer 覆蓋率已達瓶頸,且需要更深度變異策略的成熟專案。

  • 非常適合需要自動化長時間執行模糊測試活動的開發人員與安全審計人員。

  • 輸入資料包含 C/C++ 原始程式碼、建置系統檔案與初始種子(seed corpus)。

  • 輸出內容包含崩潰報告、覆蓋率指標與詳細的漏洞審查記錄。

  • 實際限制:需妥善設定 LLVM/Clang 工具鏈;因系統設定會針對效能調整,請勿在一般生產環境主機上執行。

倉庫統計

Star 數
4,906
Fork 數
428
Open Issue 數
21
主要語言
Python
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月30日 上午11:18
在 GitHub 查看