Shodan MCP服务器

一个通过标准化接口提供Shodan互联网扫描能力的模型上下文协议服务器。

  • by X3r0K
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 X3r0K/Shodan-MCP-Server-Inspector

使用说明

Shodan MCP服务器

一种模型上下文协议(MCP)服务器,通过标准化接口提供对Shodan互联网扫描功能的访问。

概述

该服务器实现了模型上下文协议,以展示Shodan强大的互联网扫描和侦察能力。它提供了一个标准化的接口,用于查询Shodan的互联网连接设备、服务和漏洞数据库。

特性

  • 搜索功能:使用高级搜索过滤器查询Shodan的数据库
  • 域名解析:解析域名并获取详细的DNS信息
  • CVE信息:获取有关常见漏洞和暴露的详细信息
  • 获取漏洞:获取与IP地址相关的漏洞的详细信息
  • 标准化接口:使用MCP协议进行一致通信
  • 环境变量支持:通过环境变量实现安全的API密钥管理

先决条件

  • Node.js(v14或更高版本)
  • npm(v6或更高版本)
  • Shodan API密钥

安装

  1. 克隆存储库:

    git clone https://github.com/X3r0K/Shodan-MCP-Server-Inspector.git
    cd shodan-mcp-server-Inspector
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .env.local 文件,并添加您的Shodan API密钥:

    SHODAN_API_KEY=your_api_key_here
    

用法

启动服务器

  1. 构建服务器:

    npm run build
    
  2. 启动服务器:

    node build/index.js
    

可用工具

  1. 搜索工具

    • 查询:使用Shodan的搜索语法搜索设备和服务
    • 例子: log4j country:US city:Atlanta
    • 返回:包含详细信息的匹配设备列表
  2. DNS查找工具

    • 查询:要解析的域名
    • 例子: example.com
    • 返回:DNS记录和相关信息
  3. CVE信息工具

    • 查询:CVE标识符
    • 例子: CVE-2021-44228
    • 返回:详细的漏洞信息

查询示例

// Search for Log4j vulnerable systems in the US
{
  "query": "log4j country:US"
}

// DNS lookup for a domain
{
  "query": "example.com"
}

// Get CVE information
{
  "query": "CVE-2021-44228"
}

使用MCP检查器

您可以使用MCP检查器直接与服务器交互:

  1. 安装MCP检查器:
npm install -g @modelcontextprotocol/inspector
  1. 使用服务器运行检查器:
npx @modelcontextprotocol/inspector build/index.js

检查员提供了一个交互式界面,用于:

  • 测试所有可用工具
  • 查看工具文档
  • 调试服务器响应
  • 监控服务器状态

环境变量

  • SHODAN_API_KEY:您的Shodan API密钥(必需)
  • PORT:服务器端口(可选,默认为3000)
  • LOG_LEVEL:日志记录级别(可选,默认为“info”)

错误处理

服务器为以下对象实现了全面的错误处理:

  • API密钥无效
  • 速率限制
  • 网络问题
  • 无效查询
  • 服务器错误

安全考虑

  1. API密钥保护:

    • 永远不要将API密钥提交到版本控制
    • 对敏感数据使用环境变量
    • 定期旋转API键
  2. 速率限制:

    • 遵守Shodan的API费率限制
    • 实施客户端速率限制
  3. 数据隐私:

    • 从响应中筛选敏感信息
    • 根据需要实施访问控制

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • 提供API的Shodan
  • MCP规范的模型上下文协议团队