fandango-fuzzer/fandango

GitHub: fandango-fuzzer/fandango

一款结合文法规范与 Python 约束表达式的模糊测试工具,通过进化算法生成满足复杂语义约束的结构化测试输入。

Stars: 108 | Forks: 15

# 欢迎使用 Fandango! [![PyPI Release](https://img.shields.io/pypi/v/fandango-fuzzer)](https://pypi.org/project/fandango-fuzzer/) [![Last Release](https://img.shields.io/github/release-date/fandango-fuzzer/fandango)](https://github.com/fandango-fuzzer/fandango/releases) [![Tests](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/008c5469cf125900.svg)](https://github.com/fandango-fuzzer/fandango/actions/workflows/python-tests.yml) [![Code Quality Checks](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/5f2d70a88b125901.svg)](https://github.com/fandango-fuzzer/fandango/actions/workflows/code-checks.yml) [![CodeQL Analysis](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/bbb8b3e732125902.svg)](https://github.com/fandango-fuzzer/fandango/actions/workflows/github-code-scanning/codeql) [![PyPI Downloads](https://img.shields.io/pypi/dm/fandango-fuzzer)](https://pypi.org/project/fandango-fuzzer/) [![PyPI Downloads](https://static.pepy.tech/badge/fandango-fuzzer)](https://pepy.tech/projects/fandango-fuzzer) [![GitHub stars](https://img.shields.io/github/stars/fandango-fuzzer/fandango)](https://github.com/fandango-fuzzer/fandango/stargazers) ### ✨ 富有表现力且灵活的规范 Fandango 的规范语言结合了 **grammar** 与 **constraints written in Python**,使其具有极强的表现力。 * **自定义测试目标:** 精确定义您的需求。如果您需要输入具有特定值或遵循特定分布,可以直接在 Fandango 中开箱即用地表达这些测试目标。 ### 🚀 多样的运行模式 Fandango 通过支持多种运行模式来适应您的工作流程: * **黑盒 Fuzzing(默认):** 直接根据 `.fan` Fandango 规范文件生成输入。 * **输入变异:** 向 Fandango 提供样本输入,它将对其进行变异,以获取更复杂、更逼真的测试用例。 * **协议 Fuzzing:** 生成动态交互。Fandango 可以作为客户端或服务器,根据您的协议规范生成交互并对其做出反应。 ### 🧠 内部原理 Fandango 是一个可移植的 Python 程序,这意味着它可以轻松地在多种平台上运行。为了生成输入,它利用了复杂的 **进化算法**。它从随机输入的种群开始,通过变异和交叉系统地进化它们,直到它们完美地满足您给定的约束条件。 ### 🗺️ 2026 路线图 Fandango 正处于活跃开发中!我们正在不断扩展其功能。计划在 2026 年推出的功能包括: * 覆盖率引导测试 * 代码导向测试 * 高多样性输入生成 * ...以及更多! 📚 **准备好深入了解了吗?** 如需完整的文档,包括教程、参考和高级使用指南,请访问 [Fandango 文档](https://fandango-fuzzer.github.io/)。 ## 许可证 Fandango 根据欧盟公共许可证 V. 1.2 授权。有关详细信息,请参阅 [LICENSE](https://github.com/fandango-fuzzer/fandango/blob/main/LICENSE.md) 文件。
标签:DevSecOps, Fandango, Fuzzing, Python, TLS抓取, 上游代理, 协议模糊测试, 安全测试, 形式化规范, 攻击性安全, 文法, 无后门, 测试用例生成, 约束求解, 语法生成, 软件安全, 输入变异, 逆向工具, 黑盒测试