返回市场
NESSUS-MCP-服务器

NESSUS-MCP-服务器

作者:Cyreslab-AI10 星标更新:2025-04-26

项目介绍

Nessus MCP Server

这是一个用于与Tenable Nessus漏洞扫描器交互的模型上下文协议(MCP)服务器。该服务器允许AI助手通过MCP协议执行漏洞扫描和分析。

功能

  • 漏洞扫描:启动并监控针对指定目标的漏洞扫描
  • 扫描管理:列出、跟踪并检索漏洞扫描结果
  • 漏洞分析:搜索并获取特定漏洞的详细信息
  • 模拟模式:无需Nessus API密钥即可进行测试的完全功能模拟模式

工具

服务器提供以下工具:

工具名称描述
list_scan_templates列出可用的Nessus扫描模板
start_scan对目标启动新的漏洞扫描
get_scan_status检查正在运行的扫描状态
get_scan_results获取已完成扫描的结果
list_scans列出所有扫描及其状态
get_vulnerability_details获取特定漏洞的详细信息
search_vulnerabilities根据关键词搜索漏洞

安装

先决条件

  • Node.js 16或更高版本
  • TypeScript(用于开发)

从源代码构建

  1. 克隆仓库:

    git clone https://github.com/Cyreslab-AI/nessus-mcp-server.git
    cd nessus-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    npm run build
    

使用方法

在模拟模式下运行

默认情况下,服务器在模拟模式下运行,不需要Nessus API密钥:

node build/index.js

使用Nessus API运行

要连接到真实的Nessus实例,请设置以下环境变量:

NESSUS_URL=https://your-nessus-instance:8834
NESSUS_ACCESS_KEY=your-access-key
NESSUS_SECRET_KEY=your-secret-key

然后运行服务器:

node build/index.js

与Claude for Desktop一起使用

要将此服务器与Claude for Desktop一起使用:

  1. 编辑你的Claude for Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加服务器配置:

{
  "mcpServers": {
    "nessus": {
      "command": "node",
      "args": ["/path/to/nessus-mcp-server/build/index.js"],
      "env": {
        "NESSUS_URL": "https://your-nessus-instance:8834",
        "NESSUS_ACCESS_KEY": "your-access-key",
        "NESSUS_SECRET_KEY": "your-secret-key"
      }
    }
  }
}

对于模拟模式,你可以省略env部分。

示例交互

启动扫描

start_scan:
  target: 192.168.1.1
  scan_type: basic-network-scan

获取扫描结果

get_scan_results:
  scan_id: scan-1234567890

搜索漏洞

search_vulnerabilities:
  keyword: log4j

开发

项目结构

  • src/index.ts: 主服务器入口点
  • src/nessus-api.ts: 带有模拟回退的Nessus API客户端
  • src/mock-data.ts: 测试用的模拟漏洞数据
  • src/tools/: 工具实现
  • src/utils/: 实用函数

添加新工具

  1. src/tools/中的适当文件中定义工具模式和处理器
  2. src/index.ts中导入并注册工具

许可证

MIT

免责声明

本服务器未得到Tenable的认可或支持。Nessus是Tenable, Inc.的商标。