项目
链接项目
项目需要被连接到FuzzX,这样我们的FuzzX才可以自动化获取到您的代码提交。
配置项目
每个项目的根目录下都需要放置一个fuzzx.yaml文件,该文件定义了如何搭建环境和如何进行fuzzing。我们给出在c/c++示例中的配置文件:
base: ubuntu:18.04
environment:
- CC=clang
- CXX=clang++
setup:
- sudo apt-get -y update
- sudo apt-get -y install git clang make
language: c++
target:
name: heartbleed
setup:
- cd openssl && CC="$CC -g -fsanitize=address,fuzzer-no-link" ./config && make clean && make && cd ..
- $CXX -g ./target.cc -fsanitize=address,fuzzer openssl/libssl.a openssl/libcrypto.a -std=c++17 -DCERT_PATH=\"$PWD/runtime\" -I openssl/include -lstdc++fs -ldl -lstdc++ -o ./target
corpus: ./corpus
harness: ./targetbase字段声明了为您运行代码的系统环境:ubuntu:18.04; environment字段声明了您运行前需要设置的环境变量; setup字段声明了您的项目需要安装的依赖; language字段声明了您所使用的编程语言; target字段内的各项信息描述了您的target,name为名称,setup为编译和插桩指令,corpus为语料库路径,harness为插桩后生成的可执行文件路径。
想为您的项目编写fuzzx.yaml文件,请点击这里。
Last updated
Was this helpful?