SuperAPI AI 工具集

performing-fuzzing-with-aflplusplus

智能体与模型

查看项目

更新于 10-16 06:49

技能介绍

用途:该技能用于对编译后的二进制程序执行覆盖率引导的模糊测试(fuzzing),借助 AFL++ 发现新的代码路径与崩溃。AFL++ 是 American Fuzzy Lop(AFL)的社区维护分支。

主要能力:支持编译期插桩,也支持通过 QEMU/Unicorn 模式对仅有二进制、无源码的目标进行模糊测试;通过变异输入语料探索新代码路径。包含高级调度(MOpt、rare)、自定义变异器、用于输入到状态比较求解的 CMPLOG,以及用于高吞吐量模糊测试的持久模式。

使用方式:先安装 AFL++(apt install afl++ 或从源码构建);使用 afl-cc 或 afl-clang-fast 对目标二进制进行插桩;准备包含最小有效输入的种子语料目录;用 afl-cmin 最小化语料以去除冗余种子;运行 afl-fuzz 并传入相应参数(-i input -o output);通过 afl-whatsup 和界面统计监控进度;用 afl-tmin 最小化并结合 CASR/GDB 分析对崩溃进行分诊;最后报告唯一崩溃及复现步骤。

适用场景:涉及 AFL++ 模糊测试的安全评估;相关安全事件的事件响应流程;计划性的安全测试或审计活动;通过动手测试验证安全控制。

前提条件:已安装 AFL++;目标二进制源码(用于编译期插桩)或使用 QEMU 模式(仅二进制);目标格式的初始有效输入种子语料;已配置 /proc/sys/kernel/core_pattern 的 Linux 系统。

限制:资料未提供具体收费、价格、平台支持范围或效果保证等信息,暂未提供。