L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

performing-fuzzing-with-aflplusplus

performing-fuzzing-with-aflplusplus

使用 AFL++(American Fuzzy Lop Plus Plus)对编译后的二进制文件执行覆盖率引导模糊测试(Coverage-Guided Fuzzing), 以发现内存损坏、崩溃和安全漏洞。测试人员使用 afl-cc/afl-clang-fast 对目标二进制文件进行插桩, 使用 afl-cmin 和 afl-tmin 管理输入语料库,运行并行模糊测试活动,并使用 CASR 或 GDB 脚本对崩溃进行分类。 适用于涉及二进制模糊测试、崩溃发现、覆盖率引导测试或 AFL++ 模糊测试活动的请求。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: performing-fuzzing-with-aflplusplus description: > 使用 AFL++(American Fuzzy Lop Plus Plus)对编译后的二进制文件执行覆盖率引导模糊测试(Coverage-Guided Fuzzing), 以发现内存损坏、崩溃和安全漏洞。测试人员使用 afl-cc/afl-clang-fast 对目标二进制文件进行插桩, 使用 afl-cmin 和 afl-tmin 管理输入语料库,运行并行模糊测试活动,并使用 CASR 或 GDB 脚本对崩溃进行分类。 适用于涉及二进制模糊测试、崩溃发现、覆盖率引导测试或 AFL++ 模糊测试活动的请求。 domain: cybersecurity subdomain: application-security tags: [fuzzing, aflplusplus, coverage-guided, crash-triage, binary-analysis, security-testing] version: "1.0" author: mahipal license: Apache-2.0

使用 AFL++ 执行模糊测试

概述

AFL++ 是 American Fuzzy Lop(AFL)的社区维护分支,为编译后的二进制文件提供覆盖率引导模糊测试。它在编译时或通过 QEMU/Unicorn 模式(用于纯二进制模糊测试)对目标进行插桩,然后对输入语料库进行变异以发现新的代码路径。AFL++ 包含高级调度算法(MOpt、rare)、自定义变异器、用于输入到状态比较求解的 CMPLOG,以及用于高吞吐量模糊测试的持久模式。

前置条件

  • 已安装 AFL++(apt install afl++ 或从源码构建)
  • 目标二进制文件的源代码(用于编译时插桩)或使用 QEMU 模式进行纯二进制测试
  • 目标格式的有效输入初始种子语料库
  • 已配置 /proc/sys/kernel/core_pattern 的 Linux 系统

操作步骤

  1. 使用 afl-cc 或 afl-clang-fast 对目标二进制文件进行插桩
  2. 准备包含最小有效输入的种子语料库目录
  3. 使用 afl-cmin 最小化语料库以删除冗余种子
  4. 使用适当参数运行 afl-fuzz(-i 输入目录 -o 输出目录)
  5. 通过 afl-whatsup 和 UI 统计信息监控模糊测试进度
  6. 使用 afl-tmin 最小化和 CASR/GDB 分析对崩溃进行分类
  7. 报告唯一崩溃及其复现步骤

预期输出

+++ 发现结果 +++
  唯一崩溃: 12
  唯一挂起: 3
  最近崩溃: 00:02:15 前
+++ 覆盖率 +++
  映射密度: 4.23% / 8.41%
  发现路径: 1847
  执行速度: 2145/秒
Skills enregistrées