k0retux/fuddly
GitHub: k0retux/fuddly
一个基于图数据模型的 Linux 模糊测试与数据操作框架,用于对复杂协议和文件格式进行结构化漏洞挖掘。
Stars: 163 | Forks: 45
# fuddly:一个模糊测试与数据操作框架
|docs|
.. |docs| image:: https://readthedocs.org/projects/fuddly/badge/?version=develop
:target: https://readthedocs.org/projects/fuddly/?badge=develop
:alt: 文档
## 功能列表
+ 基于图的数据模型,支持:
- 表示复杂的数据格式以及混合它们
- 复杂的数据操作
- 解析/吸收现有数据
- 生成与变异的模糊测试策略
+ 模糊测试自动化框架:
- 目标抽象
- 基于独立探针的监控手段
- 重放与日志记录
- 基于 operator(实现特定数据转换的对象)的数据操作
- 场景基础设施(用于对协议逻辑进行建模)
- 虚拟控制器
+ 其他更多...
## 尚待完善之处
+ 请参阅 TODO 文件
## 关于文档
+ 文档可在`此处`_获取。
+ 若要从源码生成文档,请按照以下步骤操作:
#. 进入 ``docs/`` 目录
#. 执行 ``make html`` 以生成 HTML 文档
#. 执行 ``make latexpdf`` 以生成 PDF 文档
#. 生成的文档位于 ``docs/build/`` 目录中
.. _here: http://fuddly.readthedocs.io
## 基本安装说明
使用 `pipenv` 进行安装::
```
$ cd
$ pipenv install # or pipenv sync (if you want to match exactly the environment
# described in fuddly Pipfile.lock)
$ pipenv shell
```
请参阅文档以获取更多信息
## 启动 fuddly shell
- 如果 `fuddly` 是通过 pip/pipenv 或您发行版中的软件包安装的::
$ fuddly shell
- 如果 `fuddly` 未安装::
$ python -m fuddly.cli shell
## 运行 fuddly 测试用例
``test`` 包含 ``fuddly`` 自身所有的单元测试与集成测试用例。
在 ``src/`` 目录下,使用方法如下:
- 要运行所有测试,请执行以下命令::
$ python -m fuddly.test -a
- 要运行除耗时较长的测试之外的所有测试,请执行以下命令::
$ python -m fuddly.test
- 若要跳过特定数据模型的测试用例,请使用 ``--ignore-dm-specifics`` 选项
- 要运行特定的测试类别,请执行以下命令::
$ python -m fuddly.test fuddly.test....
标签:CISA项目, DNS枚举, Fuzzing, GNU/Linux, pipenv, Python, 协议分析, 协议逻辑, 变异测试, 图数据模型, 安全测试, 密码管理, 攻击性安全, 数据处理框架, 数据操纵, 数据格式处理, 数据生成, 数据解析, 无后门, 权限提升, 测试框架, 目标监控, 网络安全工具, 逆向工具