• Stars
    star
    109
  • Rank 312,298 (Top 7 %)
  • Language
    C
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated 25 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OSS-Sydr-Fuzz - OSS-Fuzz fork for hybrid fuzzing (fuzzer+DSE) open source software.

OSS-Sydr-Fuzz: Hybrid Fuzzing for Open Source Software

This repository is a fork of OSS-Fuzz project. OSS-Sydr-Fuzz contains open source software targets for sydr-fuzz that combines fuzzing (libFuzzer, AFL++) with the power of dynamic symbolic execution (Sydr).

Project Structure

Each open source target project provides:

  • Fuzz target for libFuzzer
  • Fuzz target for AFL++
  • Fuzz target for Sydr
  • Target built with llvm-cov
  • Build script
  • Dictionary
  • Initial seed corpus
  • Dockerfile that installs dependencies, builds targets, creates initial corpus, etc.
  • Hybrid fuzzing configuration file for sydr-fuzz
  • Instructions to start hybrid fuzzing

NOTE: Some listed above files may not be present or can be gathered from external repositories.

Supported Open Source Projects

Supported projects are located here. In addition to C/C++ projects Sydr-Fuzz currently supports:

  • Rust: capstone-rs, image-rs, goblin, libhtp-rs, vector-rs, rust-regex, serde-json, gdb-command;
  • Go: image-go;
  • Python: crunch, h5py, msgspec, pillow, pytorch-py, ruamel-yaml, tensorflow-py, ultrajson;
  • Java: hsqldb, json-sanitizer;
  • JavaScript: fast-xml-parser, node-xml2js.

Contributing

Feel free to support new fuzz targets. The workflow is following:

  1. Compose targets for libFuzzer and Sydr.
  2. Prepare build script.
  3. Build Dockerfile with all targets.
  4. Provide sydr-fuzz configuration files.
  5. Write README with commands to run fuzzing.

Trophies

The list of discovered bugs can be found here.

Cite Us

Sydr-Fuzz: Continuous Hybrid Fuzzing and Dynamic Analysis for Security Development Lifecycle [paper] [demo] [slides]

Vishnyakov A., Kuts D., Logunova V., Parygina D., Kobrin E., Savidov G., Fedotov A. Sydr-Fuzz: Continuous Hybrid Fuzzing and Dynamic Analysis for Security Development Lifecycle. 2022 Ivannikov ISPRAS Open Conference (ISPRAS), IEEE, 2022, pp. 111-123. DOI: 10.1109/ISPRAS57371.2022.10076861

@inproceedings{vishnyakov22-sydr-fuzz,
  title = {{{Sydr-Fuzz}}: Continuous Hybrid Fuzzing and Dynamic Analysis for
           Security Development Lifecycle},
  author = {Vishnyakov, Alexey and Kuts, Daniil and Logunova, Vlada and
            Parygina, Darya and Kobrin, Eli and Savidov, Georgy and Fedotov,
            Andrey},
  booktitle = {2022 Ivannikov ISPRAS Open Conference (ISPRAS)},
  pages = {111--123},
  year = {2022},
  publisher = {IEEE},
  doi = {10.1109/ISPRAS57371.2022.10076861},
}

More Repositories

1

casr

Collect crash (or UndefinedBehaviorSanitizer error) reports, triage, and estimate severity.
Rust
248
star
2

web-scraper-chrome-extension

Web data extraction tool implemented as chrome extension
JavaScript
171
star
3

dedoc

Dedoc is a library (service) for automate documents parsing and bringing to a uniform format. It automatically extracts content, logical structure, tables, and meta information from textual electronic documents. (Parse document; Document content extraction; Logical structure extraction; PDF parser; Scanned document parser; DOCX parser; HTML parser
Python
97
star
4

Futag

FUTAG (FUzzing Target Automated Generator) - автоматический генератор фаззинг-оберток для библиотек
Python
51
star
5

scrapy-puppeteer

Library that helps use puppeteer in scrapy.
Python
43
star
6

pu4spark

Positive-Unlabeled Learning for Apache Spark
Scala
40
star
7

rop-benchmark

ROP Benchmark is a tool to compare ROP compilers
Python
36
star
8

crusher

Python
35
star
9

qdt

QEMU Development Toolkit
Python
34
star
10

atr4s

Toolkit with state-of-the-art Automatic Terms Recognition methods in Scala
Scala
33
star
11

spark-openstack

Scripts to setup Spark cluster (any version) in any Openstack environment with optional useful tools.
Jinja
30
star
12

juliet-dynamic

Juliet C/C++ Dynamic Test Suite
22
star
13

qemu-gui

GUI for QEMU
C++
20
star
14

michman

Service for distributed systems deployment; part of Asperitas
Go
18
star
15

hdl-benchmarks

Collection of open HDL modules, subsystems and microprocessors (benchmarks) that are used for related tools testing.
Verilog
17
star
16

sydr-benchmark

Sydr benchmark applications
C++
15
star
17

quix86

An x86-64 instruction decoder.
C
15
star
18

natch

Natch: инструмент определения поверхности атаки
Shell
15
star
19

cotea

cotea: Ansible control tool
Python
14
star
20

EcgLib

Python
12
star
21

centos6.9-build-docker

CentOS 6.9 build Docker environment to distribute portable Linux binaries
Dockerfile
11
star
22

swat

SWAT - System-Wide Analysis Toolkit
C
11
star
23

proceedings

Proceedings of ISP RAS LaTeX Template
TeX
10
star
24

v8-aotc

V8 ahead-of-time compilation project
C++
10
star
25

scrapy-puppeteer-service

A special service that runs puputeer instances.
JavaScript
10
star
26

tact

C
8
star
27

lingvodoc-react

JavaScript
7
star
28

texterra-py

Texterra python sdk
Python
7
star
29

lingvodoc

More advanced Python version for Dialeqt project
JavaScript
7
star
30

riscv-avs

RISC-V Architecture Verification Suite (AVS)
Assembly
7
star
31

microtesk-old

MicroTESK: Specification-Based Framework for Developing Test Program Generators
7
star
32

tm

Regularized multilingual Probabilistic Semantic Analysis Scala implementation.
HTML
6
star
33

TrustedDynamic

Dockerfile
6
star
34

proceedings-md

Automatic markdown to docx converter that follows the Ispras proceedings design requirements
TypeScript
6
star
35

dedoc-utils

Useful utilities for automatic document images processing
Python
5
star
36

clouni

Cloud Unifier Tool for Service Orchestration
Python
5
star
37

FuzzedDataProviderCS

FuzzedDataProvider for C#, inspired by Google's FuzzedDataProvider.
C#
5
star
38

microtesk

MicroTESK: Specification-Based Framework for Developing Test Program Generators
Java
5
star
39

gocotea

gocotea: Ansible control tool on Golang
Go
5
star
40

parmasan

Mirror repository with parmasan project
C++
4
star
41

endometrium-dataset-analysis

This repository is dedicated to the analysis of the EndoNuke dataset
Jupyter Notebook
4
star
42

esoc

Ethernet Switch on Configurable Logic
Stata
3
star
43

angiocells_analysis

Jupyter Notebook
3
star
44

libosuction

A tool for stripping dynamic libraries of unneeded symbols
C
3
star
45

news-page-dataset

3
star
46

I3S

Python
2
star
47

utopia-hls

Utopia: a High-Level Synthesis framework
C++
2
star
48

hls-idct

Inverse Discrete Cosine Transform (IDCT) algorithm implementations are written in languages for High-Level Synthesis (HLS) and Hardware Construction (HC) tools.
Verilog
2
star
49

sv-tests

Test suites based on Verilog and SystemVerilog standards
Verilog
1
star
50

cv

Klever Continuous Verification Framework
Python
1
star
51

NetBlox

Java
1
star
52

flagsup

Build flags extractor and summarizer.
Python
1
star
53

dedockerfiles

Collection of dockerfiles for dedoc group projects
Dockerfile
1
star
54

qdt-guest-agent

C++
1
star
55

parmasan-remake

Mirror repository with patched remake for parmasan
C
1
star
56

staccato

Fork for the STACCATO project of University of Michigan
C
1
star
57

flint

Scalable machine learning framework
Scala
1
star
58

gephi-graphson

Importer and exporter plugins for Gephi for GraphSON format
Java
1
star
59

RISC-V-nML

RISC-V nML is a specification of ISA RISC-V in nML architecture decription language.
1
star