ispras/oss-sydr-fuzz
GitHub: ispras/oss-sydr-fuzz
该项目基于OSS-Fuzz分支,通过结合模糊测试与动态符号执行技术,为多种编程语言的开源软件提供混合模糊测试能力以发现深层漏洞。
Stars: 146 | Forks: 40
# OSS-Sydr-Fuzz:开源软件的混合 Fuzzing
本仓库是 [OSS-Fuzz](https://github.com/google/oss-fuzz)
项目的一个分支。OSS-Sydr-Fuzz 包含了面向 sydr-fuzz 的开源软件目标,它结合了
fuzzing([libFuzzer](https://www.llvm.org/docs/LibFuzzer.html)、[AFL++](https://github.com/AFLplusplus/AFLplusplus))与
动态符号执行([Sydr](https://sydr-fuzz.github.io))
的强大能力。
## 项目结构
每个开源目标项目提供:
* libFuzzer 的 Fuzz 目标
* AFL++ 的 Fuzz 目标
* Sydr 的 Fuzz 目标
* 使用 llvm-cov 构建的目标
* 构建脚本
* 字典
* 初始种子语料库
* Dockerfile,用于安装依赖、构建目标、创建初始语料库等。
* sydr-fuzz 的混合 Fuzzing 配置文件
* 启动混合 Fuzzing 的说明
注意:上述列出的部分文件可能不存在,或者可以从外部仓库获取。
## 支持的开源项目
支持的项目位于[此处](projects)。除了 C/C++ 项目外,Sydr-Fuzz 目前还支持:
* Rust:capstone-rs、image-rs、goblin、libhtp-rs、vector-rs、rust-regex、serde-json、gdb-command;
* Go:image-go、ollama、fyne;
* Python:crunch、h5py、msgspec、pillow、pytorch-py、ruamel-yaml、tensorflow-py、ultrajson、langchain;
* Java:hsqldb、json-sanitizer、java-diff-utils、gson、fuzzywuzzy、joda-time、janino;
* JavaScript:fast-xml-parser、node-xml2js;
* С#:yamldotnet、cppsharp;
* Lua:xml2lua。
## 贡献
欢迎支持新的 Fuzz 目标。工作流程如下:
1. 编写 libFuzzer 和 Sydr 的目标。
2. 准备构建脚本。
3. 构建包含所有目标的 Dockerfile。
4. 提供 sydr-fuzz 配置文件。
5. 编写 README,其中包含运行 Fuzzing 的命令。
## 成果
发现的漏洞列表可以在[这里](TROPHIES.md)找到。
## 引用我们
### Sydr-Fuzz: Continuous Hybrid Fuzzing and Dynamic Analysis for Security Development Lifecycle \[[论文](https://arxiv.org/abs/2211.11595)\] \[[演示](https://vishnya.xyz/vishnyakov-isprasopen2022.webm)\] \[[幻灯片](https://vishnya.xyz/vishnyakov-isprasopen2022.pdf)\]
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](https://www.doi.org/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},
}
```
标签:AFL++, ASN解析, C/C++, CMS安全, Docker, Go, IPv6支持, JavaScript, JS文件枚举, libFuzzer, llvm-cov, Lua, OSS-Fuzz, Python, Ruby工具, Rust, SDLC, Sydr, Sydr-Fuzz, TLS抓取, UML, 中间件漏洞, 事务性I/O, 代码生成, 代码覆盖率, 动态符号执行, 可视化界面, 安全开发生命周期, 安全防御评估, 客户端加密, 开源框架, 持续集成, 无后门, 日志审计, 混合模糊测试, 渗透测试工具, 漏洞分析, 符号执行, 网络流量审计, 请求拦截, 路径探测, 软件安全, 逆向工具