漏洞扫描服务

Nessus MCP Server for Claude Desktop 是一个实现了模型上下文协议(MCP)的服务,允许Claude Desktop直接与Tenable Nessus交互,通过自然语言执行漏洞扫描、列出策略并生成安全报告。

  • by SamTesura
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 SamTesura/nessus-mcp-server

使用说明

克劳德桌面版Nessus MCP服务器

实施 模型上下文协议(MCP) 允许Claude Desktop直接与 Tenable Nessus.执行漏洞扫描,列出策略,并使用自然语言生成安全报告。

✨ 主要特点

  • 自然语言安全: 让Claude“在192.168.1.0/24上运行基本网络扫描。”
  • 自动报告: 通过聊天生成和检索PDF漏洞报告。
  • Docker化架构: 通过预配置的Docker环境轻松部署。
  • 安全第一: 仅使用本地通信 host.docker.internal 以保护您的扫描数据隐私。

🛠️ 技术栈

  • 语言: Python 3.11+
  • 接口: 模型上下文协议(MCP)
  • API Tenable Nessus JSON API
  • 集装箱化: 码头工人

📋 先决条件

  • Docker桌面(正在运行)。
  • Nessus Essentials(已安装在主机上)。
  • 克劳德桌面(已安装)。

🚀 快速开始

  1. 克隆仓库: git clone https://github.com/samtesura/nessus-mcp-server.git
  2. 设置配置: 复制 nessus_mcp_config.json.example 到 nessus_mcp_config.json 并添加您的Nessus API密钥。
  3. 构建: 跑 .\scripts/build-docker.ps1
  4. 整合: 将服务器配置添加到您的 claude_desktop_config.json.

注: 有关完整的分步说明,请参阅 安装指南.

🧪 使用示例

  • “列出我当前的Nessus扫描结果。”
  • “‘Web App’扫描的状态如何?”
  • “使用基本网络扫描策略为10.0.0.5创建新的扫描。”

技术总结

挑战

Nessus是一个强大的漏洞扫描程序,但管理它通常需要导航复杂的web UI或为JSON API编写自定义脚本。将这些功能直接集成到AI的上下文窗口中需要一个处理身份验证、网络和结构化数据交换的桥梁。

解决方案

此项目实现了一个专用的MCP服务器,该服务器充当Claude Desktop和本地Nessus Essentials实例之间的智能中介。它的特点是:

  • 健壮的容器化:一种基于Docker的部署,使用host.Docker.internal安全地弥合隔离容器和运行Nessus服务的主机之间的差距。

  • 自动化安全工作流:用于启动扫描、监控进度和以PDF格式自动导出漏洞摘要的逻辑。

  • 容错设计:优化的PowerShell构建脚本和简化的Dockerfile,以确保在Windows环境中无缝安装。

影响

通过将Nessus API抽象为自然语言工具,安全分析师可以在不离开主要研究环境的情况下执行全面的网络审计(“扫描192.168.1.0/24并总结结果”)。