Nessus MCP服务器
用于与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(用于开发)
从源头构建
- 克隆存储库:
git clone https://github.com/Cyreslab-AI/nessus-mcp-server.git
cd nessus-mcp-server- 安装依赖项:
npm install- 构建服务器:
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一起使用,请执行以下操作:
- 编辑您的Claude for Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 添加服务器配置:
{
"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/:实用功能
添加新工具
- 在相应的文件中定义工具模式和处理程序
src/tools/ - 在中导入并注册该工具
src/index.ts
许可证
麻省理工学院
免责声明
此服务器不隶属于Tenable或不受Tenable认可。Nessus是Tenable,股份有限公司的商标。
