mcpField
O
OWASP MCP Server

OWASP MCP Server

本地服务
github.com/shadsidd安全1581 周前更新

关于 OWASP MCP Server

OWASP MCP Server 连接 OWASP ZAP,用于自动化 Web 安全评估。它支持实时监控、多种扫描类型和并发域名扫描,并提供 CLI 与 MCP 接口。

主要功能

  1. 01支持爬虫、主动和完整扫描
  2. 02实时显示扫描进度
  3. 03并发扫描多个域名
  4. 04通过 CLI 执行扫描
  5. 05集成 CI/CD

适用场景

  1. 01对网站执行被动或主动扫描
  2. 02实时监控扫描进度
  3. 03并发扫描多个域名
  4. 04将安全扫描加入 CI/CD 流水线

MCP 相关

它通过 WebSocket 向 MCP 客户端提供 OWASP ZAP 扫描控制与监控,包括实时评估更新。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OWASP MCP 服务

基于 WebSocket 的任务控制协议(MCP)服务,可用于 OWASP ZAP 安全扫描,实现安全评估的实时控制和监控。

前提条件

  • Python 3.8+
  • OWASP ZAP 2.12.0+
  • Java 运行时环境(JRE)8+
  • Sudo/管理员权限(ZAP 需要)

为什么使用 MCP 服务?

功能MCP 服务ZAP UIZAP API
自动化✅ 完整❌ 有限✅ 基础
实时更新✅ WebSocket✅ 可视化❌ 轮询
CI/CD 集成✅ 原生支持❌ 手动✅ 复杂
批量处理✅ 支持❌ 不支持✅ 有限
学习难度🟡 中等🟢 简单🔴 困难
进度跟踪✅ 实时✅ 可视化❌ 手动
多个域名✅ 并发❌ 顺序执行🟡 有限
错误处理✅ 稳健✅ 基础❌ 手动

核心组件

  • mcp_server.py - 驱动一切的引擎。请先启动它——它是连接到 OWASP ZAP 的强大安全扫描核心。

  • mcp_client.py - 操作背后的大脑。其他组件通过这个强大的 SDK 与服务通信(你不会直接使用它)。

  • mcp_cli.py - 用于扫描的首选命令行工具。它就像安全扫描的瑞士军刀——简单易用,功能强大。

  • test_client.py - 带你入门的学习工具。非常适合了解一切如何运作或测试你的配置。

快速开始

  1. 安装 OWASP ZAP: 从 https://www.zaproxy.org/download/ 下载

  2. 设置项目:

    git clone https://github.com/shadsidd/Owasp-Zap-MCP-Server-Demo.git
    cd Owasp-Zap-MCP-Server-Demo
    python -m venv venv
    source venv/bin/activate  # Windows: .\venv\Scripts\activate
    pip install -r requirements.txt
    
  3. 启动 ZAP(需要 sudo/管理员权限):

    # macOS/Linux
    sudo /Applications/ZAP.app/Contents/Java/zap.sh -daemon -port 8080
    
    # Windows (as Administrator)
    "C:\Program Files\OWASP\Zed Attack Proxy\zap.bat" -daemon -port 8080
    
  4. 启动 MCP 服务:

    python mcp_server.py
    
  5. 使用 CLI:

    # Quick spider scan (passive)
    python mcp_cli.py scan example.com
    
    # Full active scan (comprehensive)
    python mcp_cli.py fullscan example.com
    
    # Specific scan type with HTML report
    python mcp_cli.py scan --scan-type=active --output=html example.com
    
    # Multiple domains scan
    python mcp_cli.py scan domain1.com domain2.com
    
    # Scan from file
    python mcp_cli.py scan -f domains.txt
    

示例文件

examples/ 目录包含演示主要功能的脚本:

安全扫描
  • basic_scan.py - 使用错误处理进行核心扫描
  • authenticated_scan.py - 基于表单及其他身份验证方法
  • scan_domains.py - 并发扫描多个域名
  • custom_scan_policy.py - 自定义规则和阈值
集成与监控
  • ci_cd_integration.py - CI/CD 流水线集成
  • real_time_monitor.py - 实时进度和警报监控
  • team_notifications.py - 电子邮件、Slack 和 Teams 通知
  • custom_rules.py - 专用安全规则

重要说明

  1. Sudo 要求:

    • OWASP ZAP 需要 sudo/管理员权限才能运行
    • 启动 ZAP 时,系统会提示你输入密码
  2. 端口配置:

    • ZAP 默认使用端口 8080
    • MCP 服务使用端口 3000
    • 启动前,请确保这些端口未被占用
  3. 常见问题:

    • 如果看到“Address already in use”错误:
      # 检查端口 8080 被什么程序占用
      sudo lsof -i :8080
      # 如有需要,终止该进程
      sudo kill -9 <PID>
      
    • 如果 ZAP 启动失败,请尝试:
      # 清除任何现有的 ZAP 进程
      pkill -f zap
      

扫描类型

MCP 服务支持多种扫描类型:

  • 爬虫扫描(默认):爬取网站以发现内容,速度最快,但发现的问题较少
  • 主动扫描:使用实际攻击进行安全测试,可发现更多漏洞
  • 完整扫描:全面扫描(爬虫 + 主动),提供最彻底的结果

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。