Agent Skills
返回列表
🎓

模糊测试实战课

教育学习 更新于 2026.08.30

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

请根据 https://skillhub.cn/install/skillhub.md 的指引,在你的 AI 助手中安装 @user_3c6cb52e/fuzzing-course-lr-zfjh 技能。

技能介绍

模糊测试为什么需要方法论

随机变异确实能撞出 bug,但真正做漏洞挖掘时,没有章法的模糊测试往往运行几个小时只留下一堆重复崩溃,或者把测试时间浪费在永远到达不了的代码路径上。典型问题包括:测试目标选得太大导致永远跑不完、初始语料质量太差导致覆盖率上不去、发现崩溃后分不清哪些是同一个根因。这个技能把模糊测试拆成一套可执行的方法论,适合在需要搭建模糊测试活动、设计 harness 策略或处理模糊测试器输出时使用。

技能如何工作

方法论按固定顺序组织,每一步都有明确的工程产出:

  • 目标选择:评估被测系统,确定适合模糊测试的入口点,避免把时间浪费在过宽或不可达的目标上。
  • 语料生成:准备初始语料库,高质量的种子能让覆盖率快速爬升,而不是靠随机字节碰运气。
  • 覆盖引导模糊测试:使用 AFL++ 或 libFuzzer 这类覆盖引导工具运行测试,让变异方向由代码覆盖反馈驱动。
  • 结构化模糊测试:针对有格式约束的输入(协议、文件格式)设计结构化变异策略,比纯随机变异更高效。
  • 分诊与去重:对模糊测试器产出的崩溃做 triage 和 dedup,识别哪些是真正的新缺陷,哪些只是同一根因的重复表现。

使用边界

这是一个课程型技能,提供的是方法论层面的操作清单,而不是开箱即用的模糊测试器。你需要自己准备目标程序、构建环境以及 AFL++ 或 libFuzzer 等工具链,技能负责指导你如何组织这些工作。方法论默认按顺序执行,如果你对当前目标已有成熟流程,可以按需裁剪步骤。典型触发场景包括模糊测试课程、AFL++、libFuzzer、覆盖引导模糊测试、语料生成、harness、fuzz target、变异、分诊、崩溃去重、exploit 开发课程等。

使用场景

  • 需要从零搭建 AFL++ 模糊测试活动并选择测试目标
  • 写 harness 时不确定怎样生成更有用的初始语料库
  • 模糊测试跑完拿到大量崩溃,需要按根因去重分诊
  • 在漏洞挖掘流水线中引入 libFuzzer 覆盖引导测试

适合人员

  • 漏洞挖掘工程师,需要在 AFL++ 或 libFuzzer 之间选择并组织完整流程
  • Exploit 开发人员,想把模糊测试接入漏洞利用开发流程
  • 安全研究员,需要对模糊测试产生的崩溃做系统性 triage
  • 后端开发工程师,想为自定义解析器补充结构化模糊测试