攻击性模糊测试
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/offensive-fuzzing-sh-w5dvwc。
技能介绍
面向什么场景
传统代码审计和单元测试通常只能覆盖显式路径。面对 parser、网络协议、IPC、syscall、IOCTL 这类复杂输入面时,边界状态、内存错误和依赖上下文的崩溃仍可能漏掉。这个技能面向安全测试与可靠性验证,强调通过模糊测试主动生成异常输入,定位崩溃、挂起、UB、并发问题以及逻辑不一致。
技能如何工作
它把模糊测试拆成一条可执行流程:先映射目标输入面和高价值区域,再完成插桩构建与 harness 编写,随后准备 seed corpus 并启动多类 fuzzer。资料覆盖 BlackBox、GreyBox、Snapshot、WhiteBox、Ensemble,并说明 AFL++、Honggfuzz、libFuzzer、Nyx、syzkaller、LibAFL 等工具在不同目标类型中的位置。关键步骤包括:
- 使用
afl-cmin与afl-tmin精简种子语料和崩溃输入 - 在进度停滞时启用
CmpLog、字典、AFLGo定向执行或 concolic 辅助 - 按缺陷类型选择 oracle,例如
ASan、HWASan、TSan、UBSan、KASAN、KCFI - 对内核、EDR/Windows 扫描引擎、Rust、嵌入式等目标采用专门 harness 和分析路径
它也关注崩溃分诊与复现:固定 CPU governor、记录二进制哈希、保存输入序列,并在确认安全边界后谨慎处理 ASLR 等测试变量。适合能够搭建 C/C++、Rust、Go、Python 或内核测试环境,并希望把 fuzzing 纳入持续测试流程的团队。
使用场景
- 为 C/C++ parser 编写 libFuzzer harness,用 AFL++ 或 Honggfuzz 生成崩溃输入
- 在 Linux 内核模块开发中用 syzkaller 限制 syscall,并分析 KASAN 报告
- 为 Windows mini-filter 或 mpengine.dll 构建快照 harness,做 IOCTL 模糊测试
- 将 AFL++ 语料接入 ClusterFuzzLite,在 CI 中持续运行并复现 crash
适合人员
- 负责 C/C++ 服务端或协议模块的工程师,需要定位内存安全、UB 和逻辑错误
- 做 Linux 内核或驱动开发的安全工程师,需要用 syzkaller 和 KASAN 验证 syscall 路径
- 维护 Windows 驱动、EDR 或扫描引擎的工程师,需要构建 IOCTL 与快照 fuzzing harness
- 平台或 DevSecOps 工程师,需要把模糊测试和 crash 语料纳入 CI 持续运行