article
README
🚀 ZAP - MCP:模型上下文协议用于OWASP ZAP
ZAP - MCP借助模型上下文协议(MCP),实现了OWASP ZAP与AI模型之间的强大集成。它让AI模型能直接调用ZAP的扫描功能,有力推动了基于AI的安全测试发展。
🚀 快速开始
ZAP - MCP将AI模型(如Claude)与OWASP ZAP连接起来,实现自动化安全测试和分析。它采用客户机 - 服务器架构,ZAP - MCP作为服务器,通过MCP协议公开标准化功能供AI模型调用。
✨ 主要特性
- 基于AI的安全测试:支持AI模型开展安全扫描与分析工作。
- 实时扫描监控:可跟踪扫描进度并即时接收警报。
- 自动化分析:自动生成安全报告和建议。
- 灵活的集成:借助MCP协议能与各类AI模型兼容。
- WebSocket通信:实现实时更新和交互。
📦 安装指南
先决条件
- Python 3.8+
- 在本地或远程运行的OWASP ZAP
- Claude桌面应用程序(或其他MCP兼容客户端)
安装步骤
- 克隆仓库:
git clone https://github.com/tazer/ZAP-MCP.git
cd ZAP-MCP
- 安装依赖项:
pip install -r requirements.txt
- 设置MCP服务器:
./setup_mcp.sh
- 配置ZAP - MCP:
- 将
claude_desktop_config.json复制到Claude应用程序的配置目录中。 - 在配置文件中更新ZAP API密钥和URL。
- 将
💻 使用示例
基础用法
- 启动MCP服务器:
mcp-server --config claude_desktop_config.json --model-dir ./models
-
配置您的Claude桌面应用程序:
- 打开Claude应用程序设置。
- 启用MCP服务器集成。
- 将WebSocket URL设置为:
ws://localhost:7456/ws
-
开始使用ZAP - MCP:
- 此时,Claude应用程序即可访问ZAP扫描工具。
- 您可以发起安全扫描、获取警报并生成报告。
可用工具
MCP服务器公开了以下特定的ZAP工具:
start_scan:针对目标URL启动新的ZAP扫描。get_scan_status:检查正在运行的扫描状态。get_alerts:从当前扫描中获取所有警报。get_scan_summary:获取当前扫描的摘要。
📚 详细文档
配置说明
claude_desktop_config.json文件包含所有必要的设置:
{
"mcp_server": {
"host": "localhost",
"port": 7456,
"model": "claude-instant-v1",
"max_tokens": 1000,
"temperature": 0.7,
"zap_api_key": "your-zap-api-key",
"zap_url": "http://localhost:8080"
},
"local_models": {
"path": "./models",
"prefer_local": true
},
"zap_settings": {
"scan_timeout": 300,
"max_concurrent_scans": 5,
"alert_threshold": "HIGH",
"scan_policy": "default"
}
}
开发相关
该项目使用Cursor AI开发,Cursor AI是一个智能编码助手,有助于优化开发流程并保证代码质量。
📄 许可证
此项目根据MIT许可证发布,详情请参阅LICENSE文件。
👨💻 作者
- TAZER - 初始工作和维护
微信扫一扫