当前位置: 首页 > article >正文

FuzzBench云实验教程:利用Google Cloud进行大规模模糊测试评估

FuzzBench云实验教程利用Google Cloud进行大规模模糊测试评估【免费下载链接】fuzzbenchFuzzBench - Fuzzer benchmarking as a service.项目地址: https://gitcode.com/gh_mirrors/fu/fuzzbenchFuzzBench是一款强大的模糊测试评估服务能够帮助开发者和研究人员在Google Cloud平台上进行大规模的模糊测试实验。通过FuzzBench您可以轻松比较不同模糊测试工具fuzzer的性能评估它们在各种真实世界基准测试中的表现从而选择最适合您项目需求的模糊测试方案。FuzzBench云实验架构解析 FuzzBench的云实验架构设计精巧能够高效地处理大规模模糊测试任务。下图展示了FuzzBench的整体架构包括从构建模糊测试工具和基准测试到生成最终报告的完整流程。该架构主要包含以下关键组件Builder负责构建模糊测试工具和基准测试的Docker镜像Google Cloud Build处理镜像构建和存储Trial Runners在Google Compute Engine实例上执行模糊测试实验Measurer收集和分析测试覆盖率数据Database存储实验结果数据Reporter生成直观的实验报告开始之前Google Cloud项目准备在运行FuzzBench云实验之前您需要完成Google Cloud项目的设置。请确保您已经创建了Google Cloud项目启用了必要的API服务配置了适当的权限和结算信息设置了Cloud Storage存储桶和Cloud SQL数据库详细的设置指南可以参考官方文档docs/running-a-cloud-experiment/setting_up_a_google_cloud_project.md配置实验创建实验配置文件实验配置文件是运行FuzzBench云实验的核心。您需要创建一个YAML格式的配置文件指定实验的关键参数。以下是一个基本的配置示例# 每个模糊测试工具-基准测试对的试验次数 trials: 5 # 每个试验的运行时间秒1天86400秒 max_total_time: 86400 # Docker镜像仓库地址 docker_registry: gcr.io/$PROJECT_NAME # Google Cloud项目名称 cloud_project: $PROJECT_NAME # Google Compute Engine区域 cloud_compute_zone: $PROJECT_ZONE # 存储实验数据的Cloud Storage桶 experiment_filestore: gs://$DATA_BUCKET_NAME # 存储报告的Cloud Storage桶 report_filestore: gs://$REPORT_BUCKET_NAME # Cloud SQL实例连接信息 cloud_sql_instance_connection_name: $PROJECT_NAME:$PROJECT_REGION:$POSTGRES_INSTANCEtcp:5432请将上述配置中的$PROJECT_NAME、$PROJECT_ZONE等占位符替换为您的实际项目信息。选择基准测试和模糊测试工具FuzzBench提供了丰富的基准测试和模糊测试工具供您选择基准测试选择您可以从benchmarks/目录中选择要使用的基准测试。例如freetype2_ftfuzzerFreeType字体渲染库的模糊测试bloaty_fuzz_targetBloaty二进制分析工具的模糊测试libpng_libpng_read_fuzzerlibpng图像库的模糊测试模糊测试工具选择您可以从fuzzers/目录中选择要评估的模糊测试工具。例如libfuzzerLLVM项目的官方模糊测试工具afl经典的American Fuzzy Lop模糊测试工具aflplusplusAFL的增强版本包含更多高级功能honggfuzz由Google开发的模糊测试工具启动云实验执行run_experiment.py一切准备就绪后您可以使用run_experiment.py脚本启动云实验。在FuzzBench项目根目录下执行以下命令PYTHONPATH. python3 experiment/run_experiment.py \ --experiment-config experiment-config.yaml \ --benchmarks freetype2_ftfuzzer bloaty_fuzz_target \ --experiment-name my-first-experiment \ --fuzzers afl libfuzzer aflplusplus其中my-first-experiment是您为实验指定的名称。您还可以添加一些可选参数--no-seeds不使用种子语料库--no-dictionaries不使用字典--oss-fuzz-corpus使用OSS-Fuzz的最新语料库如果可用监控实验进度和查看结果实验启动后FuzzBench会自动处理所有后续工作包括构建必要的Docker镜像、启动GCE实例、运行测试以及收集结果。实验报告实验报告将定期更新您可以通过以下URL访问https://storage.googleapis.com/$REPORT_BUCKET_NAME/$EXPERIMENT_NAME/index.html报告中包含丰富的可视化图表帮助您直观比较不同模糊测试工具的性能。例如下面的热图展示了不同模糊测试工具之间的覆盖度对比而下面的柱状图则直观展示了各个模糊测试工具的唯一边缘覆盖度排名FuzzBench云实验工作流程下图展示了研究人员使用FuzzBench服务进行模糊测试评估的完整流程研究人员选择要评估的模糊测试工具FuzzBench服务在各种基准测试上运行这些工具系统收集并分析测试结果生成详细的性能报告帮助研究人员比较不同工具的表现高级用法自定义模糊测试工具配置许多模糊测试工具都有可调整的参数这些参数会影响其性能。FuzzBench支持通过配置文件来调整这些参数。以下是一个示例配置文件# 要运行的模糊测试工具名称位于fuzzers/目录下 fuzzer: libfuzzer # 此配置的名称将显示在报告中 variant_name: libfuzzer_value_profile # 运行模糊测试工具前设置的环境变量 env: ADDITIONAL_ARGS: -use_value_profile1然后您可以在启动实验时使用--fuzzer-configs参数指定此配置文件。通过Pull Request提交实验如果您希望贡献实验结果FuzzBench维护者可以通过内部工具运行您的实验。在提交PR时请确保实验名称仅使用小写字母、数字和连字符且不超过30个字符提供所有必要的资源如基准测试、种子语料库在PR中包含实验的详细说明总结FuzzBench提供了一个强大而灵活的平台使您能够在Google Cloud上轻松进行大规模模糊测试评估。通过遵循本教程您可以快速设置和运行自己的模糊测试实验获得有价值的性能数据帮助您选择最适合项目需求的模糊测试工具。无论您是安全研究人员、开发人员还是质量 assurance工程师FuzzBench都能为您提供深入的模糊测试工具性能洞察帮助您构建更安全、更可靠的软件。【免费下载链接】fuzzbenchFuzzBench - Fuzzer benchmarking as a service.项目地址: https://gitcode.com/gh_mirrors/fu/fuzzbench创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

FuzzBench云实验教程:利用Google Cloud进行大规模模糊测试评估

FuzzBench云实验教程:利用Google Cloud进行大规模模糊测试评估 【免费下载链接】fuzzbench FuzzBench - Fuzzer benchmarking as a service. 项目地址: https://gitcode.com/gh_mirrors/fu/fuzzbench FuzzBench是一款强大的模糊测试评估服务,能够…...

Nimx高级特性:动画系统与事件处理的实战应用

Nimx高级特性:动画系统与事件处理的实战应用 【免费下载链接】nimx GUI library 项目地址: https://gitcode.com/gh_mirrors/ni/nimx Nimx作为一款功能强大的GUI库,为开发者提供了丰富的高级特性,其中动画系统与事件处理机制尤为出色。…...

SSHamble核心功能解析:认证攻击与会话枚举实用指南

SSHamble核心功能解析:认证攻击与会话枚举实用指南 【免费下载链接】sshamble SSHamble: Unexpected Exposures in SSH 项目地址: https://gitcode.com/gh_mirrors/ss/sshamble SSHamble是一款专注于SSH安全检测的工具,能够帮助用户发现SSH服务中…...

从入门到精通:FoodAdvisor的自定义API开发实战指南

从入门到精通:FoodAdvisor的自定义API开发实战指南 【免费下载链接】foodadvisor 🥘 THE Strapi demo application 项目地址: https://gitcode.com/gh_mirrors/fo/foodadvisor FoodAdvisor是一个基于Strapi和Next.js构建的餐厅列表演示应用&…...

asynchronous-php完全指南:解锁PHP异步编程的终极资源库

asynchronous-php完全指南:解锁PHP异步编程的终极资源库 【免费下载链接】asynchronous-php List of resources for asynchronous programming in PHP 项目地址: https://gitcode.com/gh_mirrors/as/asynchronous-php asynchronous-php是一个全面的PHP异步编…...

跨语言信息检索挑战:awesome-information-retrieval中的CLIR数据集与应用

跨语言信息检索挑战:awesome-information-retrieval中的CLIR数据集与应用 【免费下载链接】awesome-information-retrieval A curated list of awesome information retrieval resources 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-information-retrie…...

掌握Flyimg URL参数:20个实用技巧让你轻松实现图片裁剪与压缩

掌握Flyimg URL参数:20个实用技巧让你轻松实现图片裁剪与压缩 【免费下载链接】flyimg Dockerized application to resize and crop images on the fly. Get optimised images with AVIF, WebP, MozJPEG or PNG using ImageMagick, with an efficient caching syste…...

cp-ddd-framework与MyBatis集成:领域模型持久化最佳实践

cp-ddd-framework与MyBatis集成:领域模型持久化最佳实践 【免费下载链接】cp-ddd-framework 轻量级DDD正向/逆向业务建模框架,支撑复杂业务系统的架构演化! 项目地址: https://gitcode.com/gh_mirrors/cp/cp-ddd-framework 在复杂业务…...

2048-ai:揭秘1000万步/秒的AI如何碾压经典游戏

2048-ai:揭秘1000万步/秒的AI如何碾压经典游戏 【免费下载链接】2048-ai AI for the 2048 game 项目地址: https://gitcode.com/gh_mirrors/20/2048-ai 2048-ai是一款专为经典游戏2048打造的AI解决方案,能够以惊人的速度(1000万步/秒&…...

Deepagents数字孪生:构建智能数字孪生系统的终极AI代理方案

Deepagents数字孪生:构建智能数字孪生系统的终极AI代理方案 【免费下载链接】deepagents Deepagents is an agent harness built on langchain and langgraph. Deep agents are equipped with a planning tool, a filesystem backend, and the ability to spawn sub…...

ik-analyzer-solr核心功能揭秘:187万词库+动态加载技术解析

ik-analyzer-solr核心功能揭秘:187万词库动态加载技术解析 【免费下载链接】ik-analyzer-solr ik-analyzer for solr 7.x-8.x 项目地址: https://gitcode.com/gh_mirrors/ik/ik-analyzer-solr ik-analyzer-solr是一款专为Solr 7.x-8.x打造的中文分词工具&…...

javascript-guidebook函数进阶:从调用模式到高阶函数的蜕变

javascript-guidebook函数进阶:从调用模式到高阶函数的蜕变 【免费下载链接】javascript-guidebook :books:JavaScript 前端知识图谱 A guidebook for the convenience of the front-end developers 项目地址: https://gitcode.com/gh_mirrors/ja/javascript-guid…...

functime安装完全指南:从环境配置到第一个预测模型

functime安装完全指南:从环境配置到第一个预测模型 【免费下载链接】functime Time-series machine learning at scale. Built with Polars for embarrassingly parallel feature extraction and forecasts on panel data. 项目地址: https://gitcode.com/gh_mirr…...

ezdxf开发者指南:深入理解DXF文件结构与API设计

ezdxf开发者指南:深入理解DXF文件结构与API设计 【免费下载链接】ezdxf Python interface to DXF 项目地址: https://gitcode.com/gh_mirrors/ez/ezdxf ezdxf是一个功能强大的Python库,为开发者提供了读取、修改和创建DXF(绘图交换文件…...

Code Scanner高级用法:连续扫描模式与回调处理最佳实践

Code Scanner高级用法:连续扫描模式与回调处理最佳实践 【免费下载链接】code-scanner Code scanner library for Android, based on ZXing 项目地址: https://gitcode.com/gh_mirrors/co/code-scanner Code Scanner是一款基于ZXing的Android二维码扫描库&am…...

Rust音频开发新选择:awesome-audio-dsp中的NIH-plug框架实战指南

Rust音频开发新选择:awesome-audio-dsp中的NIH-plug框架实战指南 【免费下载链接】awesome-audio-dsp My curated list of audio DSP and plugin development resources 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-audio-dsp 在音频插件开发领域&…...

DaggerMock实战:解决Android测试中Dagger依赖注入难题

DaggerMock实战:解决Android测试中Dagger依赖注入难题 【免费下载链接】DaggerMock A JUnit rule to easily override Dagger 2 objects 项目地址: https://gitcode.com/gh_mirrors/da/DaggerMock DaggerMock是一款专为Android开发者打造的JUnit规则库&#…...

如何使用FileHelpers快速解析CSV文件?初学者入门指南

如何使用FileHelpers快速解析CSV文件?初学者入门指南 【免费下载链接】FileHelpers The FileHelpers are a free and easy to use .NET library to read/write data from fixed length or delimited records in files, strings or streams 项目地址: https://gitc…...

Kubernetes IPv6网络配置终极指南:基于gh_mirrors/kubern/Kubernetes的双栈网络实现

Kubernetes IPv6网络配置终极指南:基于gh_mirrors/kubern/Kubernetes的双栈网络实现 【免费下载链接】Kubernetes kubernetes (k8s) 二进制高可用安装,Binary installation of kubernetes (k8s) --- 开源不易,帮忙点个star,谢谢了…...

FlapPyBird核心架构解析:如何用Entity类设计游戏实体系统

FlapPyBird核心架构解析:如何用Entity类设计游戏实体系统 【免费下载链接】FlapPyBird A Flappy Bird Clone using python-pygame 项目地址: https://gitcode.com/gh_mirrors/fl/FlapPyBird FlapPyBird是一款使用python-pygame开发的Flappy Bird克隆游戏&…...

GoRose ORM核心功能详解:从配置到CRUD的终极实践

GoRose ORM核心功能详解:从配置到CRUD的终极实践 【免费下载链接】gorose gohouse/gorose: 一个基于 Go 的 ORM 框架,用于操作 MySQL 数据库。适合用于 Go 项目中需要操作 MySQL 数据库的场景,可以实现高效的数据访问和操作。 项目地址: ht…...

Raspberry Pi USB Boot(rpiboot)快速上手:3分钟实现树莓派USB启动

Raspberry Pi USB Boot(rpiboot)快速上手:3分钟实现树莓派USB启动 【免费下载链接】usbboot Raspberry Pi USB booting code, moved from tools repository 项目地址: https://gitcode.com/gh_mirrors/us/usbboot Raspberry Pi USB Bo…...

Django-Rosetta与第三方翻译API集成:DeepL、Azure和Google翻译全攻略

Django-Rosetta与第三方翻译API集成:DeepL、Azure和Google翻译全攻略 【免费下载链接】django-rosetta Rosetta is a Django application that eases the translation process of your Django projects 项目地址: https://gitcode.com/gh_mirrors/dj/django-roset…...

如何快速集成SideMenuController:iOS侧边菜单开发入门指南

如何快速集成SideMenuController:iOS侧边菜单开发入门指南 【免费下载链接】SideMenuController A side menu controller written in Swift for iOS 项目地址: https://gitcode.com/gh_mirrors/si/SideMenuController SideMenuController是一款用Swift编写的…...

SVG填充与描边属性全解析:打造精美矢量图形的秘诀

SVG填充与描边属性全解析:打造精美矢量图形的秘诀 【免费下载链接】svgpocketguide All original content of A Pocket Guide to Writing SVG by Joni Trythall 项目地址: https://gitcode.com/gh_mirrors/sv/svgpocketguide SVG(可缩放矢量图形&…...

Hardhat Boilerplate常见问题解决:从Invalid nonce到钱包连接的终极方案

Hardhat Boilerplate常见问题解决:从Invalid nonce到钱包连接的终极方案 【免费下载链接】hardhat-boilerplate 项目地址: https://gitcode.com/gh_mirrors/ha/hardhat-boilerplate Hardhat Boilerplate是以太坊开发者常用的智能合约开发框架,提…...

容器存储新选择:democratic-csi如何彻底改变Kubernetes存储方案

容器存储新选择:democratic-csi如何彻底改变Kubernetes存储方案 【免费下载链接】democratic-csi democratic-csi是一个开源的容器存储接口(CSI)插件,为Kubernetes提供民主化的存储解决方案,支持多种存储后端&#xff…...

探索Chartist:TypeScript构建的高性能图表引擎核心原理与实战指南

探索Chartist:TypeScript构建的高性能图表引擎核心原理与实战指南 【免费下载链接】chartist Simple responsive charts 项目地址: https://gitcode.com/gh_mirrors/ch/chartist Chartist是一款基于TypeScript构建的轻量级响应式图表引擎,以其高性…...

如何安全使用React Helmet:全面安全审计与风险防范指南

如何安全使用React Helmet:全面安全审计与风险防范指南 【免费下载链接】react-helmet A document head manager for React 项目地址: https://gitcode.com/gh_mirrors/re/react-helmet React Helmet 是一个强大的 React 文档头部管理器,允许开发…...

如何利用Normalizr优化在线学习平台:教育领域数据管理完整指南

如何利用Normalizr优化在线学习平台:教育领域数据管理完整指南 【免费下载链接】normalizr paularmstrong/normalizr: 正常化器(Normalizr)是一个JavaScript库,用于将复杂的JSON数据结构扁平化为规范化格式,便于在Redu…...