mcpField
P
performing-fuzzing-with-aflplusplus

performing-fuzzing-with-aflplusplus

github.com/mukul975安全35.2k53 次安装8 周前更新
代码仓库

关于 performing-fuzzing-with-aflplusplus

该技能介绍使用 AFL++ 对编译后的二进制文件进行覆盖引导模糊测试,适合安全测试人员检查程序缺陷,并提供从插桩、语料准备到崩溃分析的流程。

主要功能

  1. 01对目标程序进行插桩
  2. 02准备并精简种子语料
  3. 03通过输入变异探索代码路径
  4. 04监控覆盖率与测试进度
  5. 05缩减并分析崩溃样本

适用场景

  1. 01测试有源码的编译程序
  2. 02通过 QEMU 测试仅有二进制的目标
  3. 03检查输入解析器的崩溃与挂起
  4. 04整理可复现的崩溃报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill performing-fuzzing-with-aflplusplus

安装后在 Claude Code 中输入/performing-fuzzing-with-aflplusplus确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
api-reference.md
scripts/
agent.py

详细介绍

使用 AFL++ 进行模糊测试

概述

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

何时使用

  • 在开展涉及使用 aflplusplus 进行模糊测试的安全评估时
  • 在针对相关安全事件遵循事件响应流程时
  • 在执行计划内的安全测试或审计活动时
  • 在通过动手测试验证安全控制措施时

前置条件

  • 已安装 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 input -o output)
  5. 通过 afl-whatsup 和 UI 统计信息监控模糊测试进度
  6. 使用 afl-tmin 最小化和 CASR/GDB 分析来分诊崩溃
  7. 报告具有复现步骤的唯一崩溃

预期输出

+++ Findings +++
  unique crashes: 12
  unique hangs: 3
  last crash: 00:02:15 ago
+++ Coverage +++
  map density: 4.23% / 8.41%
  paths found: 1847
  exec speed: 2145/sec

评论

支持 Markdown