使用说明

项目简介

AWVS扫描器MCP服务器是一个基于Model Context Protocol (MCP) 的服务器实现,它将Acunetix Web Vulnerability Scanner (AWVS) 的强大漏洞扫描能力通过标准化的MCP协议暴露出来,使得大型语言模型(LLM)驱动的应用能够轻松调用AWVS进行网站漏洞扫描、目标管理和扫描任务管理。

主要功能点

  • Web漏洞扫描: 支持多种扫描类型,包括全量扫描、高风险漏洞扫描、XSS漏洞扫描、SQL注入漏洞扫描等,满足不同的安全检测需求。
  • 目标管理: 允许LLM列出所有扫描目标,方便用户了解当前AWVS中已配置的扫描对象。
  • 扫描任务管理: 支持列出所有扫描任务,帮助用户监控和管理正在进行的或已完成的扫描活动。
  • 目标和扫描删除: 提供删除所有目标及其关联扫描任务的功能,以及单独删除所有扫描任务的功能,方便用户进行环境清理。
  • 灵活的运行模式: 支持以Stdio和HTTP (SSE) 两种模式运行,适应不同的部署环境和客户端连接方式。

安装步骤

  1. 克隆仓库: 首先,你需要克隆 'MCP-SecurityTools' 仓库到本地。虽然 'MCP-SecurityTools' 本身是一个安全工具集合仓库,但 AWVS-MCP 的代码位于其中。
    git clone https://github.com/Ta0ing/MCP-SecurityTools
    cd MCP-SecurityTools/awvs-mcp
  2. 构建服务器: AWVS-MCP 服务器使用 Go 语言编写,你需要 Go 语言环境来编译它。
    go build -o awvs-mcp ./cmd/main.go
    构建成功后,会在 'awvs-mcp' 目录下生成可执行文件 'awvs-mcp' (或 'awvs-mcp.exe' 在 Windows 下)。

服务器配置

AWVS-MCP 服务器需要连接到你的 AWVS 实例。配置信息通过 'config.json' 文件进行设置,该文件应与 'awvs-mcp' 可执行文件位于同一目录下。你需要根据你的 AWVS 环境修改 'config.json' 文件,主要配置项包括:

  • 'api_url': 你的 AWVS API 的 URL,例如 'https://<your_awvs_host>:<port>'。
  • 'api_key': 你的 AWVS API 密钥。
  • 'verify_ssl': 是否验证 SSL 证书,通常建议设置为 'true' 以确保安全连接。

config.json 示例:

{
  "api_url": "https://your_awvs_host:3443",
  "api_key": "YOUR_AWVS_API_KEY",
  "verify_ssl": true
}

MCP 客户端配置 (以 JSON 格式提供,用于配置 MCP 客户端连接 AWVS-MCP 服务器):

Stdio 模式配置:

{
  "mcpServers": {
    "awvs-scanner": {
      "command": "./awvs-mcp",
      "args": ["stdio"],
      "env": {}
    }
  }
}
  • 'command': './awvs-mcp' (或 'awvs-mcp.exe' 在 Windows 下). 这是 AWVS-MCP 服务器的可执行文件路径。请确保 MCP 客户端能够找到此路径。
  • 'args': '["stdio"]'. 指定服务器以 Stdio 模式运行。
  • 'env': '{}'. 环境变量配置,此处为空,因为 AWVS API 密钥等配置通过 'config.json' 文件读取。

HTTP (SSE) 模式配置:

{
  "mcpServers": {
    "awvs-scanner": {
      "command": "./awvs-mcp",
      "args": ["http", "--port", "8080"],
      "env": {}
    }
  }
}
  • 'command': './awvs-mcp' (或 'awvs-mcp.exe' 在 Windows 下). 这是 AWVS-MCP 服务器的可执行文件路径。
  • 'args': '["http", "--port", "8080"]'. 指定服务器以 HTTP 模式运行,并监听 8080 端口。你可以根据需要修改端口号。
  • 'env': '{}'. 环境变量配置,此处为空。

基本使用方法

  1. 启动 AWVS-MCP 服务器: 根据你选择的模式 (Stdio 或 HTTP),使用相应的命令启动服务器。例如,在 Stdio 模式下,直接运行 './awvs-mcp stdio'。在 HTTP 模式下,运行 './awvs-mcp http --port 8080'。
  2. 配置 MCP 客户端: 在你的 MCP 客户端 (如 Cherry Studio, cline 等) 中,根据上述提供的 JSON 配置信息,添加 AWVS-MCP 服务器。
  3. 使用 LLM 调用 AWVS 功能: 现在,你可以通过 LLM 与 MCP 客户端进行交互,指示 LLM 调用 AWVS-MCP 服务器提供的工具,例如 'scan_website' (扫描网站), 'list_targets' (列出目标), 'list_scans' (列出扫描) 等。 LLM 将通过 MCP 协议与 AWVS-MCP 服务器通信,执行相应的 AWVS 操作。

例如,在支持 MCP 的 LLM 应用中,你可以指示 LLM 执行类似以下操作:

"请使用 AWVS 对 'http://example.com' 进行全面的漏洞扫描。"

LLM 应用解析该指令后,会调用 'scan_website' 工具,并传递 'url' 参数为 'http://example.com','scan_type' 参数为 'full' (或根据指令的具体描述选择合适的扫描类型)。AWVS-MCP 服务器接收到请求后,将调用 AWVS API 启动扫描,并将结果返回给 LLM 应用。

信息

分类

开发者工具