fe1w0 / FuzzChains

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FuzzChains

author: fe1w0

Setup

按照以下命令进行环境部署。

mvn

# 编译
mvn clean package -DskipTests

# fuzz - 默认使用 Zest 算法
mvn jqf:fuzz -Djqf.failOnDeclaredExceptions=true -Dclass=xyz.xzaslxr.fuzzing.FuzzChainsTest -Dmethod=fuzz -Dtime=5s

# repro
mvn jqf:repro -Djqf.failOnDeclaredExceptions=true -Dclass=xyz.xzaslxr.fuzzing.FuzzChainsTest -Dmethod=reportFuzz -Dtime=5s -Dinput=/Users/fe1w0/Project/SoftWareAnalysis/Dynamic/FuzzChains/target/fuzz-results/xyz.xzaslxr.fuzzing.FuzzChainsTest/fuzz/failures/id_000000

Usage

Prepare the needed configuration files

使用 DeSerVulnAnalysis(基于doop修改) 扫描,得到 PropertyTree 和 CoveragePath, 这两类文件。

Fuzzing Java libraries

Todo:

  • 1 期目标:
    • 支持以下功能:
      • 提供基本的Fuzzing功能
        • JQF
      • 支持 根据 Property Trees 构造Fuzzing 种子
        • propertyTreeNode
      • 实现 Chains-Coverage Directed Fuzzing
        • 根据 example.jar 手工编写 paths.csv (1.0 版)
        • 编写新的 Guidance,从而实现 Chains-Coverage Directed Fuzzing
      • 可以测试DataSet中的example
  • 2 期目标:
    • 完善 Generator,补充 和 Reference Types
    • 测试真实软件

About


Languages

Language:Java 99.2%Language:Shell 0.8%