谷歌开源模糊测试工具:ClusterFuzz 安装方法

2022-04-24 09:30:37 浏览数 (1)

谷歌开源的 ClusterFuzz 是一个可扩展的模糊测试基础设施,可在软件中发现安全性和稳定性问题。

它被谷歌用于模糊测试 Chrome 浏览器,截至2019年1月,ClusterFuzz 已经在 Chrome 中发现了大约16,000个错误。并且在与 OSS-Fuzz 集成的160多个开源项目中发现了大约11,000个错误。

ClusterFuzz 提供了许多功能,可以将模糊测试无缝集成到软件项目的开发过程中:

  • 高度可扩展。 谷歌的内部实例运行在超过25,000台机器上。
  • 准确的重复数据删除崩溃。
  • 问题跟踪器的全自动错误归档和关闭(仅限现在的单轨)。
  • 测试用例最小化。
  • 通过二分法找回回归。
  • 用于分析模糊器性能和崩溃率的统计信息。
  • 易于使用的Web界面,用于管理和查看崩溃。
  • 支持覆盖引导模糊(例如libFuzzer和AFL)和黑盒模糊测试。

ClusterFuzz的许多功能都依赖于Google Cloud Platform服务(有关详细信息,请参阅:https://google.github.io/clusterfuzz/architecture/#requirements)。 但是,也可以在没有这些依赖性的情况下在本地运行。

虽然ClusterFuzz可以跨平台运行,但只能在Linux和macOS上进行开发。

以下为ClusterFuzz安装步骤:

1、获取代码

代码语言:javascript复制
git clone https://github.com/google/clusterfuzz
cd clusterfuzz

2、安装依赖

  • Google Cloud SDK:按照 https://cloud.google.com/sdk/ 的说明进行安装。
  • (可选)登录 Google Cloud 帐户:如果您只是在本地运行 ClusterFuzz,则无需执行此操作。

如果您计划在生产环境中设置 ClusterFuzz,则应使用 gcloud 工具对您的帐户进行身份验证:

代码语言:javascript复制
gcloud auth application-default login
gcloud auth login

3、安装Python 2.7

可以在 https://www.python.org/downloads/release/python-2715/ 这里下载并安装。

如果您已经安装了Python,则可以通过运行 python -version 来验证其版本。所需的最低版本是2.7.10。

4、安装Go

可以在 https://golang.org/doc/install 这里下载并安装。

5、安装其他依赖项

提供了一个脚本,用于在 Linux 和 macOS 上安装所有其他开发依赖项。

支持的系统包括:

Ubuntu(14.04,16.04,17.10,18.04,18.10)

Debian 8(jessie)或更高版本

macOS with homebrew(experimental)(可以在 https://brew.sh/ 这里下载安装)

运行以下脚本安装依赖项:

代码语言:javascript复制
local/install_deps.bash

6、设置环境 virtualenv

激活由 local/install_deps.bash 脚本创建的 virtualenv。此时会加载当前环境中的所有 python 依赖项。

代码语言:javascript复制
source ENV/bin/activate

通过运行验证一切正常:

代码语言:javascript复制
python butler.py --help

0 人点赞