项目

链接项目

项目需要被连接到FuzzX,这样我们的FuzzX才可以自动化获取到您的代码提交。

配置项目

每个项目的根目录下都需要放置一个fuzzx.yaml文件,该文件定义了如何搭建环境和如何进行fuzzing。我们给出在c/c++示例中的配置文件:

fuzzx.yaml
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: ./target

base字段声明了为您运行代码的系统环境:ubuntu:18.04environment字段声明了您运行前需要设置的环境变量; setup字段声明了您的项目需要安装的依赖; language字段声明了您所使用的编程语言; target字段内的各项信息描述了您的targetname为名称,setup为编译和插桩指令,corpus为语料库路径,harness为插桩后生成的可执行文件路径。

想为您的项目编写fuzzx.yaml文件,请点击这里

Last updated