Agent Skills
返回列表
🎓

漏洞挖掘模糊测试课

教育学习 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/fuzzing-course-sh-ukvcta

技能介绍

模糊测试的核心痛点

在漏洞挖掘与利用开发中,模糊测试(Fuzzing)是发现内存破坏、逻辑崩溃等深层缺陷的关键手段。然而,实际工程中往往会遇到目标选择困难、语料生成无效、覆盖率难以提升以及海量崩溃难以去重归类等具体问题。缺乏系统化的方法论指导,很容易让 Fuzzing 任务陷入盲目堆砌算力的泥潭。

技能的工作方式与核心步骤

本技能作为漏洞开发课程的第二周内容,提供了一套标准化的模糊测试操作清单。当你准备启动模糊测试活动时,它会引导你按序执行以下关键步骤:

  • 目标选择与 Harness 策略:评估当前上下文,确定合适的模糊测试目标,并制定高效的 Harness(测试脚本)策略。
  • 语料生成与变异:构建初始语料库,利用变异策略生成多样化的测试输入。
  • 覆盖率引导的模糊测试:集成 AFL++ 或 libFuzzer 等主流工具,基于代码覆盖率反馈动态调整输入。
  • 结构化模糊测试:针对特定格式(如网络协议、文件格式)设计结构化的解析逻辑。
  • 崩溃分类与去重:对 Fuzzer 产生的崩溃进行快速分诊(Triage)和去重(Deduplication),过滤掉重复或无效的 Bug。

适用边界与注意事项

该技能侧重于方法论与操作清单的落地,要求使用者已具备基础的模糊测试环境配置能力。由于它不直接替代具体的底层工具实现,在处理高度自定义的闭源协议或缺乏符号执行支持的复杂二进制时,可能需要结合人工逆向分析。此外,请确保在安全合规的授权环境中进行测试。

使用场景

  • 准备对一个开源网络协议解析库发起模糊测试,需要确定合适的 fuzz target 并编写对应的 harness 脚本。
  • 已经跑了一天 AFL++,产生了大量崩溃文件,需要按调用栈和堆栈痕迹做去重与分诊排序。
  • 为一个自定义文件格式解析器搭建 libFuzzer 测试入口,需要生成初始语料库并配置结构化变异策略。
  • 在漏洞开发课程的 Week 2 实验中,需要按方法论检查清单逐项验证 fuzzing 流程的覆盖率与产出质量。

适合人员

  • 漏洞利用开发工程师,需要在 NVD 或 CTF 中系统性地挖掘二进制程序中的内存破坏漏洞。
  • 安全研究员,负责对开源代码库进行自动化模糊测试以评估潜在攻击面。
  • 系统安全方向学生,正在学习漏洞开发课程并需要一套可操作的 fuzzing 实验流程。
  • 底层基础设施开发者,需要为自定义解析器编写覆盖率引导的 fuzz 测试以拦截回归缺陷。