Bondifuzz/shelob
GitHub: Bondifuzz/shelob
基于 OpenAPI 规范的 API 模糊测试工具,通过自动化构造异常请求发现接口安全漏洞和边界处理缺陷。
Stars: 12 | Forks: 3
# Shelob
## 用于 OpenAPI 规范的 Shelob Fuzzer
Shelob 是一款功能强大的工具,旨在测试和验证使用 OpenAPI 规范定义的 API。该工具通过根据 OpenAPI schema 生成各种请求,帮助识别 API endpoint 中潜在的漏洞、安全缺陷和意外行为。
## 功能特性
* 自动化 Fuzzing:Shelob Fuzzer 根据基于 OpenAPI 规范自动生成请求并将其发送到您的 API endpoint。这有助于发现边缘情况、安全漏洞和潜在的数据不一致性。
* 可自定义输入:配置 fuzzer 以生成包含各种输入的请求,包括有效和无效的数据类型、各种数据格式以及不同的参数值。这允许您彻底测试 API 对不同输入的处理能力。
* 授权方式:Shelob Fuzzer 支持 API OpenAPI 规范中定义的各种授权方式。无论您的 API 使用 API keys、OAuth tokens 还是其他身份验证机制,Shelob 都会在其请求中包含所需的 headers 或 tokens。
* 详细报告:每次 fuzzing 会话结束后,Shelob Fuzzer 会生成详细的报告,其中包含有关已发送请求、已接收响应以及遇到的任何异常或错误的信息。这有助于调试和提高 API 的质量。
## 快速开始
### 基本用法
```
go run main.go -spec=**OPENAPI FILE** -url=**TARGET URL**
```
支持的 OpenAPI 规范格式:JSON (.json)、YAML (.yaml, .yml)
### 高级选项
所有选项:
```
-apikey string
api key for auth
-debug
enable debug logs (default: true)
-detailed
include successful test cases
-duration duration
time duration of fuzzing (default 1h0m0s)
-output string
output directory (default "fuzzer_output")
-password string
password (auth)
-rps int
requests per second limit (default 0 means no limit)
-spec string
openapi file specification (Required)
-token string
token for bearer auth
-url string
target URL
-user string
username (auth)
```
## 演示
您可以使用本地演示(`demo` 目录)或 [VAmPI](https://github.com/erev0s/VAmPI) 来试用 Shelob。
对于本地演示,只需运行 `demo/createDocker.sh`。它使用了 [Petstore 示例](https://hub.docker.com/r/swaggerapi/petstore3)。以下 OpenAPI 规范位于 `./demo/openapi.json`
注意:Shelob 同时支持 JSON (.json) 和 YAML (.yaml, .yml) OpenAPI 规范格式。
## 贡献
我们欢迎社区贡献力量,以增强 OpenAPI Fuzzer 的功能、性能和安全性。如果您有兴趣贡献,请遵循以下步骤:
* Fork 本仓库并为您的贡献创建一个新分支。
* 进行更改并进行彻底测试。
* 提交 pull request,包括对更改内容及所解决问题的详细描述。
## 许可证
Shelob Fuzzer 是根据 [Apache License 2.0](https://github.com/Bondifuzz/shelob/blob/main/LICENSE) 授权的开源软件。
请随意探索、使用和自定义 Shelob Fuzzer 以满足您的 API 测试需求。祝您 Fuzzing 愉快!🚀
标签:API安全, API测试, CISA项目, EVTX分析, EVTX分析, Fuzzing, Go, Golang, Homebrew安装, JSON输出, OpenAPI, Ruby工具, Schema验证, Web安全, 代码生成, 安全测试, 安全编程, 攻击性安全, 文档结构分析, 日志审计, 渗透测试工具, 蓝队分析