README
🚀 OWASP MCP 服务器
OWASP MCP 服务器是一个基于 WebSocket 的任务控制协议(MCP)服务器,专为 OWASP ZAP 安全扫描设计。它支持实时控制和监控安全评估,能有效提升安全扫描的效率和精准度。
🚀 快速开始
安装 OWASP ZAP
可从以下地址下载 OWASP ZAP:https://www.zaproxy.org/download/
设置项目
git clone https://github.com/shadsidd/Owasp-Zap-MCP-Server-Demo.git
cd Owasp-Zap-MCP-Server-Demo
python3 -m venv venv
source venv/bin/activate # 在 Windows 上使用 `venv\Scripts\activate`
pip install -r requirements.txt
启动 MCP 服务器
python mcp_server.py
启动 ZAP
打开终端并运行以下命令以开始 ZAP 的代理:
zap-baseline.py -t http://目标URL:端口
使用命令行工具
例如,执行蜘蛛扫描:
python mcp_client.py --scan-type spider --target http://目标URL:端口
✨ 主要特性
| 特性 | MCP 服务器 | ZAP UI | ZAP API | |------------|------------|---------|---------| | 自动化 | ✅ 完全支持 | ❌ 有限 | ✅ 基本 | | 实时更新 | ✅ WebSocket | ✅ 可视化 | ❌ 拉取式 | | CI/CD 集成 | ✅ 原生支持 | ❌ 手动 | ✅ 复杂 | | 批处理 | ✅ 支持 | ❌ 不支持 | ✅ 有限 | | 学习曲线 | 🟡 中等 | 🟢 简单 | 🔴 困难 | | 进度跟踪 | ✅ 实时 | ✅ 可视化 | ❌ 手动 | | 多个域名 | ✅ 并发支持 | ❌ 串行 | 🟡 有限 | | 错误处理 | ✅ 健壮 | ✅ 基本 | ❌ 手动 |
📦 安装指南
先决条件
- Python 3.8+
- OWASP ZAP 2.12.0+
- Java 运行环境(JRE)8+
- Sudo 或管理员权限(ZAP 所需)
💻 使用示例
基本的扫描操作
蜘蛛扫描
python mcp_client.py --scan-type spider --target http://目标URL:端口
主动扫描
python mcp_client.py --scan-type active --target http://目标URL:端口
全面扫描
python mcp_client.py --scan-type full --target http://目标URL:端口
📚 详细文档
核心组件
mcp_server.py- 动力源泉。首先启动它,它是连接到 OWASP ZAP 的核心扫描引擎。mcp_client.py- 运行 brains。一个强大的 SDK,其他组件用于与服务器通信(你不会直接使用此文件)。mcp_cli.py- 你的瑞士军刀式命令行工具。简单易用且功能强大。test_client.py- 学习和测试的理想工具。
示例文件
项目中包含以下示例文件:
mcp_server.py- MCP 服务器的核心实现。mcp_client.py- 提供命令行接口以控制扫描。test_client.py- 测试连接性和基本功能。
扫描类型
MCP 服务器支持多种扫描类型:
- 蜘蛛扫描(默认):爬取网站内容,速度最快但发现的漏洞较少。
- 主动扫描:执行实际攻击测试,发现更多漏洞。
- 全面扫描:结合蜘蛛和主动扫描,提供最全面的结果。
⚠️ 重要提示
⚠️ 重要提示
- 端口冲突:确保目标 URL 的端口未被其他应用程序占用。
- 权限问题:在某些系统上,你可能需要使用 sudo 来提升权限。
- 日志记录:服务器和客户端都会输出日志以帮助调试。
Scan to contact