使用说明
项目简介
AWVS扫描器MCP服务器是一个基于Model Context Protocol (MCP) 的服务器实现,它将Acunetix Web Vulnerability Scanner (AWVS) 的强大漏洞扫描能力通过标准化的MCP协议暴露出来,使得大型语言模型(LLM)驱动的应用能够轻松调用AWVS进行网站漏洞扫描、目标管理和扫描任务管理。
主要功能点
- Web漏洞扫描: 支持多种扫描类型,包括全量扫描、高风险漏洞扫描、XSS漏洞扫描、SQL注入漏洞扫描等,满足不同的安全检测需求。
- 目标管理: 允许LLM列出所有扫描目标,方便用户了解当前AWVS中已配置的扫描对象。
- 扫描任务管理: 支持列出所有扫描任务,帮助用户监控和管理正在进行的或已完成的扫描活动。
- 目标和扫描删除: 提供删除所有目标及其关联扫描任务的功能,以及单独删除所有扫描任务的功能,方便用户进行环境清理。
- 灵活的运行模式: 支持以Stdio和HTTP (SSE) 两种模式运行,适应不同的部署环境和客户端连接方式。
安装步骤
- 克隆仓库: 首先,你需要克隆 'MCP-SecurityTools' 仓库到本地。虽然 'MCP-SecurityTools' 本身是一个安全工具集合仓库,但 AWVS-MCP 的代码位于其中。
git clone https://github.com/Ta0ing/MCP-SecurityTools cd MCP-SecurityTools/awvs-mcp - 构建服务器: AWVS-MCP 服务器使用 Go 语言编写,你需要 Go 语言环境来编译它。
构建成功后,会在 'awvs-mcp' 目录下生成可执行文件 'awvs-mcp' (或 'awvs-mcp.exe' 在 Windows 下)。go build -o awvs-mcp ./cmd/main.go
服务器配置
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': '{}'. 环境变量配置,此处为空。
基本使用方法
- 启动 AWVS-MCP 服务器: 根据你选择的模式 (Stdio 或 HTTP),使用相应的命令启动服务器。例如,在 Stdio 模式下,直接运行 './awvs-mcp stdio'。在 HTTP 模式下,运行 './awvs-mcp http --port 8080'。
- 配置 MCP 客户端: 在你的 MCP 客户端 (如 Cherry Studio, cline 等) 中,根据上述提供的 JSON 配置信息,添加 AWVS-MCP 服务器。
- 使用 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 应用。
信息
分类
开发者工具