内容
# ⚡ Byron — MCP & API 安全扫描器
> **RetroWave 版** — APIs 和 MCP 服务器安全扫描器
Byron 是一款用 Python 编写的网络安全测试工具,旨在审计 REST APIs、GraphQL 端点和 MCP(模型上下文协议)服务器。它有两种版本:一个命令行引擎(`Byron5a.py`)和一个具有 RetroWave 美学的完整图形界面(`ByronTK.py`),基于 Tkinter 构建。
---
## 📁 仓库结构
```
Byron/
├── Byron5a.py # 核心扫描引擎(SecurityTester、AggressionLevel、ApiType)
├── ByronTK.py # Tkinter GUI 前端 — RetroWave 扫描器
├── endpoints.txt # REST/GraphQL 扫描的示例端点列表
├── payloads.lst # 安全测试期间使用的有效载荷列表
└── payloads/ # 附加有效载荷文件的目录
```
---
## ✨ 功能特点
- **多协议支持** — REST、GraphQL、通用 API 和 MCP 服务器(Mossbauer 模式)
- **可调节的攻击级别** — `低`、`中` 或 `高`(控制请求延迟和有效载荷数量)
- **代理支持** — 通过本地代理路由流量(例如 Burp Suite、mitmproxy)
- **身份验证** — Bearer token、用户名/密码
- **Taurus 测试** — 可选的扩展测试套件
- **图形界面** — `ByronTK.py` 提供一个具有 RetroWave 主题的 GUI,包括:
- 实时日志控制台(线程安全,ANSI 剥离)
- JSON 配置加载器
- 端点文件选择器
- 开始/中止扫描控制
- **颜色编码的日志输出** — 黄色警告、红色错误、洋红色 MCP 事件
---
## 🚀 入门指南
### 先决条件
- Python 3.8+
- `tkinter`(大多数 Python 发行版都包含)
### 安装
```bash
git clone https://github.com/doktornand/Byron.git
cd Byron
pip install -r requirements.txt # 如果添加了 requirements 文件
```
### 运行 GUI
```bash
python ByronTK.py
```
### 直接运行 CLI 引擎
```bash
python Byron5a.py \
--target https://api.example.com \
--api-type rest \
--endpoints endpoints.txt \
--aggression medium
```
---
## ⚙️ 配置
所有选项都可以通过 GUI 设置或作为参数传递给 CLI。还可以在 GUI 中通过 **📂 加载 JSON 配置** 加载 JSON 配置文件。
| 选项 | 描述 | 默认值 |
|---|---|---|
| `--target` | 目标基准 URL | — |
| `--api-type` | `rest`、`graphql`、`generic`、`mossbauer` | `rest` |
| `--aggression` | `低` / `中` / `高` | `中` |
| `--endpoints` | 端点文件路径 | — |
| `--proxy-host` | 代理主机名 | `192.168.1.20` |
| `--proxy-port` | 代理端口 | `8118` |
| `--auth-token` | Bearer token | — |
| `--username` | 身份验证用户名 | — |
| `--password` | 身份验证密码 | — |
| `--taurus` | 启用 Taurus 扩展测试 | `false` |
### 攻击级别
| 级别 | 请求延迟 | 有效载荷数量 |
|---|---|---|
| `低` | 2.0 秒 | 3 |
| `中` | 1.0 秒 | 5 |
| `高` | 0.5 秒 | 所有 |
---
## 🔌 API 类型
| 模式 | 描述 |
|---|---|
| `rest` | 使用端点文件扫描标准 REST API |
| `graphql` | GraphQL 内省和查询模糊测试 |
| `generic` | 通用 HTTP 端点扫描器 |
| `mossbauer` | MCP 服务器扫描 — 不需要端点文件 |
---
## 📋 有效载荷和端点文件
- **`endpoints.txt`** — 每行一个端点路径(例如 `/api/v1/users`)
- **`payloads.lst`** — 每行一个有效载荷,在模糊测试期间注入
- **`payloads/`** — 附加分类有效载荷文件的目录
---
## ⚠️ 法律免责声明
Byron 仅用于 **授权的安全测试**。在扫描您不拥有的任何系统或 API 之前,请始终获得明确的书面许可。滥用此工具可能会违反当地法律和法规。作者不对未经授权的使用承担任何责任。
---
## 🛠️ 开发说明
- `ByronTK.py` 从 `Byron5a.py` 导入 `SecurityTester`、`AggressionLevel` 和 `ApiType`。两个文件必须在同一目录中。
- GUI 使用线程安全的基于队列的日志记录处理程序来显示扫描输出,而不会阻塞 UI。
- `ByronTK.py` 中的一个小补丁在核心模块中缺少 `get_request_delay` 和 `get_payload_count` 方法时,会回填这些方法。
---
## 📄 许可证
该项目当前未指定许可证。在重新分发或修改之前,请联系作者。
---
*由 [doktornand](https://github.com/doktornand) 使用 💜 和霓虹灯制作*