American Fuzzy Lop(AFL)介绍

AmericanFuzzyLop是一个结合遗传算法的暴力fuzzer,通过边缘覆盖修改表单轻松捕获程序控制流中的局部尺度变化。其测试流程包括加载测试用例、裁剪大小、重复转变文件并记录新状态转换,最终生成高价值测试集合,适用于各种密集测试场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

American Fuzzy Lop是一个结合了极其简单但是有坚如磐石的工具指引的遗传算法的暴力fuzzer。它使用了一个边缘覆盖的修改的表单来轻易地pick up不易察觉的,局部尺度变化到程序控制流中。

简单来说,整个算法可以归纳为如下:

  1. 加载用户提供的初始测试用例到一个队列中,
  2. 从队列中取得下一个输入文件,
  3. 尝试裁剪测试用例的大小并降到最小,同时并不改变程序的衡量行为,
  4. 使用一个均衡的,并且对传统fuzzing策略研究透彻的变化来重复转变文件,
  5. 如果任意一个生成的转变导致了一个由一起记录的新的状态转换,增加转变的输出作为一个新的入口在队列中,
  6. 重复步骤2
被发现的测试用例同样需要周期地剔除来排除一部分测试用例,这些测试用例已经被新的,更高的覆盖率发现已经被淘汰;同时经历一些其它工具驱动的努力最小化步骤。
作为fuzzing过程的一个副产品,这个工具创建了一个小的,自包含的有意思的测试用例的文集。对一些人力或者资源密集的测试工作,这些集合是非常有用的。例如,对于浏览器的压力测试,办公应用,绘图套件或者闭源的工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值