上周微软开源了一款叫OneFuzz的模糊测试平台,主要是由开发团队驱动的可持续模糊测试平台,通过开发与集成项目对应的Fuzzer工具,在CI构建中持续Fuzz,自动化分析跟踪崩溃,告警通知、远程调试与漏洞重现等功能。
开源地址:https://github.com/microsoft/onefuzz
按官方介绍的功能包括:
OneFuzz依赖于Microsoft Azure云服务,它利用虚拟机规模集(Virtual Machine Scale Sets)可以创建出虚拟机集群,从单一虚拟到上千核计算资源,并自动支持负载均衡。
同时利用 Azure Blob 存储容器去存储每个Fuzz任务的上下文信息,按容器作分类,包括目标程序及依赖、崩溃信息、输入样本等。
在代码仓库中,你可以直接集成OneFuzz去持续Fuzz,比如利用Github Actions去自动部署:
也可以自己本地利用OneFuzz本地命令去创建虚拟机,创建任务去Fuzz,运行效果:
如果发现崩溃可通过Microsoft Teams向团队发送通知:
对于崩溃会自动去重和分析,开发还可直接利用自带命令远程调试:
最后聊点个人看法: