模型协议-Shodan网络情报服务器

@ADEOSec/mcp-shodan
0 Stars 343 次浏览 ADEOSec 更新于 2026-08-23

一种模型上下文协议服务器,提供对Shodan和VirusTotal API的访问以进行网络安全分析,使分析师能够执行网络情报操作,包括主机查询、漏洞分析和威胁情报收集。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

ADEO CTI MCP 服务器

由 ADEO 网络安全服务开发

一个模型上下文协议 (MCP) 服务器,提供对 Shodan 和 VirusTotal API 的访问,用于全面的安全分析和威胁情报。该服务器由 ADEO 网络安全服务开发和维护,使网络安全分析师能够通过一系列工具和提示模板执行网络情报操作,包括主机信息查询、DNS 操作、漏洞分析、网络扫描和警报管理。

关于 ADEO 网络安全服务

ADEO 网络安全服务专注于为网络安全专业人士提供先进的安全解决方案和工具。这款 ADEO CTI MCP 服务器是我们致力于通过创新工具和与行业领先的安全数据源集成来增强网络安全能力的一部分。

功能

Shodan 功能

  • IP 地址的详细信息,包括开放端口、服务和位置数据
  • DNS 查询和反向 DNS 操作
  • 域名信息检索,包括子域名
  • 具有分面和过滤器的高级搜索功能
  • 按需网络扫描
  • 网络警报和监控
  • 漏洞分析和 CVE 跟踪
  • 帐户和 API 管理
  • 历史数据访问

VirusTotal 集成

  • 恶意软件分析和检测
  • URL 扫描和信誉检查
  • IP 地址信誉分析
  • 域名威胁情报
  • 文件哈希分析
  • 全面的威胁报告

综合分析功能

  • 使用两个平台进行统一的安全分析
  • 相关威胁情报
  • 集成的漏洞评估
  • 跨平台数据丰富

增强的功能

  • 丰富的数据格式化和展示
  • 智能工作流自动化
  • 预构建的分析模板
  • 自定义搜索过滤器
  • 批处理能力
  • 实时监控

工具

Shodan 工具

主机信息

  1. host-info
    • 从 Shodan 获取关于主机的详细信息
    • 参数:
      • ip(必需):要查找的 IP 地址
      • history(可选):包含历史信息
      • minify(可选):仅返回基本主机信息
    • 示例:
      @shodan host-info ip="8.8.8.8" history=true
      

DNS 操作

  1. dns-lookup

    • 将主机名解析为 IP 地址
    • 参数:
      • hostnames(必需):要解析的主机名列表,以逗号分隔
    • 示例:
      @shodan dns-lookup hostnames="google.com,facebook.com"
      
  2. reverse-dns

    • 查找 IP 地址对应的主机名
    • 参数:
      • ips(必需):IP 地址列表,以逗号分隔
    • 示例:
      @shodan reverse-dns ips="8.8.8.8,1.1.1.1"
      
  3. domain-info

    • 获取域名的 DNS 记录和子域名
    • 参数:
      • domain(必需):要查询的域名
    • 示例:
      @shodan domain-info domain="example.com"
      

搜索操作

  1. search-host

    • 根据特定条件搜索 Shodan 中的主机
    • 参数:
      • query(必需):Shodan 搜索查询
      • facets(可选):用于摘要信息的属性列表,以逗号分隔
      • page(可选):结果页码
    • 示例:
      @shodan search-host query="apache country:DE" facets="org,port"
      
  2. search-host-count

    • 获取匹配结果的数量,但不包含完整详情
    • 参数:
      • query(必需):Shodan 搜索查询
      • facets(可选):用于汇总信息的属性列表,以逗号分隔
    • 示例:
      @shodan search-host-count query="product:nginx"
      

搜索工具

  1. list-search-facets

    • 列出所有可用的搜索属性
    • 无需参数
  2. list-search-filters

    • 列出搜索时可以使用的所有过滤器
    • 无需参数
  3. search-tokens

    • 分析并分解搜索查询组件
    • 参数:
      • query(必需):要分析的 Shodan 搜索查询
    • 示例:
      @shodan search-tokens query="apache port:80 country:DE"
      

网络信息

  1. list-ports

    • 列出 Shodan 正在主动扫描的所有端口
    • 无需参数
  2. list-protocols

    • 列出所有可用于扫描的协议
    • 无需参数

扫描操作

  1. request-scan

    • 请求 Shodan 对特定目标进行扫描
    • 参数:
      • ips(必需):IP 或 CIDR 表示法的网络列表,以逗号分隔
    • 示例:
      @shodan request-scan ips="192.168.1.0/24"
      
  2. get-scan-status

    • 检查已提交扫描的状态
    • 参数:
      • id(必需):唯一的扫描 ID
    • 示例:
      @shodan get-scan-status id="SCAN_ID"
      
  3. list-scans

    • 查看您提交的所有扫描
    • 无需参数

警报管理

  1. list-triggers

    • 列出可用的网络警报触发器
    • 无需参数
  2. create-alert

    • 设置网络监控警报
    • 参数:
      • name (必需):警报名称
      • filters (必需):警报过滤器
      • expires (可选):过期时间(秒)
    • 示例:
      @shodan create-alert name="My Alert" filters={"ip":["8.8.8.8"],"port":[80,443]}
      
  3. get-alert-info

    • 获取特定警报的详细信息
    • 参数:
      • id (必需):警报ID
    • 示例:
      @shodan get-alert-info id="ALERT_ID"
      
  4. delete-alert

    • 删除现有的警报
    • 参数:
      • id (必需):要删除的警报ID
  5. edit-alert

    • 修改现有的警报
    • 参数:
      • id (必需):警报ID
      • name (可选):新的警报名称
      • filters (可选):更新后的过滤器
  6. list-alerts

    • 查看所有活动警报
    • 无需参数

查询管理

  1. list-queries

    • 查看保存的搜索查询
    • 参数:
      • page (可选):结果页码
      • sort (可选):按"votes"或"timestamp"排序
      • order (可选):"asc"或"desc"
  2. search-queries

    • 搜索保存的查询
    • 参数:
      • query (必需):搜索词
      • page (可选):页码
  3. list-query-tags

    • 查看热门查询标签
    • 参数:
      • size (可选):返回的标签数量

账户管理

  1. get-profile

    • 查看账户信息
    • 无需参数
  2. get-api-info

    • 检查API订阅状态
    • 无需参数
  3. get-billing

    • 查看账单信息
    • 无需参数
  4. get-http-headers

    • 检查您的请求头
    • 无需参数
  5. get-my-ip

    • 查看您当前的IP地址
    • 无需参数

漏洞分析

  1. cve-lookup

    • 获取CVE详细信息
    • 参数:
      • cve (必需):CVE ID(例如,CVE-2021-44228)
    • 示例:
      @shodan cve-lookup cve="CVE-2021-44228"
      
  2. cpe-vuln-search

    • 通过CPE搜索漏洞
    • 参数:
      • cpe (必需):CPE 2.3字符串
      • minCvss (可选):最小CVSS分数
      • maxResults (可选):结果限制
    • 示例:
      @shodan cpe-vuln-search cpe="cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*" minCvss=7.0
      

VirusTotal 工具

URL 分析

  1. virustotal-url-analysis
    • 分析URL的安全威胁
    • 参数:
      • url (必需):目标URL
    • 示例:
      @shodan virustotal-url-analysis url="https://example.com"
      

文件分析

  1. virustotal-file-analysis
    • 检查文件哈希是否存在恶意软件
    • 参数:
      • hash (必需): MD5/SHA-1/SHA-256 哈希值
    • 示例:
      @shodan virustotal-file-analysis hash="a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
      

IP 分析

  1. virustotal-ip-analysis
    • 检查 IP 信誉
    • 参数:
      • ip (必需): 目标 IP 地址
    • 示例:
      @shodan virustotal-ip-analysis ip="8.8.8.8"
      

域名分析

  1. virustotal-domain-analysis
    • 分析域名信誉
    • 参数:
      • domain (必需): 目标域名
    • 示例:
      @shodan virustotal-domain-analysis domain="example.com"
      

MCP 服务器提示

该服务器提供了一组智能提示,用于全面的网络安全分析工作流程:

资产发现

  • 名称: asset-discovery
  • 描述: 发现并分析面向互联网的资产和基础设施
  • 参数:
    • target (必需): 要分析的域名、IP 地址或组织名称
    • depth (可选): 侦察深度 ("basic" 或 "comprehensive")
  • 示例:
    @shodan asset-discovery target=example.com depth=comprehensive
    

漏洞评估

  • 名称: vulnerability-assessment
  • 描述: 查找互联网连接系统中的漏洞
  • 参数:
    • target_type (必需): 要分析的目标类型 ("host", "domain", "cpe", "cve")
    • target (必需): 目标标识符(IP、域名、CPE 字符串或 CVE ID)
    • severity_threshold (可选): 最低严重性阈值 ("all", "medium", "high", "critical")
    • include_vt_analysis (可选): 包含 VirusTotal 安全分析 ("yes" 或 "no")
  • 示例:
    @shodan vulnerability-assessment target_type=host target=192.168.1.1 severity_threshold=high
    

互联网搜索

  • 名称: internet-search
  • 描述: 搜索特定的互联网连接系统或服务
  • 参数:
    • search_type (必需): 搜索类型 ("service", "product", "vulnerability", "organization", "custom")
    • query (必需): 搜索词或 Shodan 查询字符串
    • filters (可选): 额外的 Shodan 过滤器
  • 示例:
    @shodan internet-search search_type=product query="nginx" filters="country:US port:443"
    

网络监控

  • 名称: network-monitoring
  • 描述: 设置网络监控和警报
  • 参数:
    • target (必需): 要监控的 IP、网络范围或域名
    • monitor_type (必需): 要监控的变化类型 ("new-service", "vulnerability", "certificate", "custom")
    • notification_threshold (可选): 通知的最低严重性 ("all", "high", "critical")
  • 示例:
    @shodan network-monitoring target=192.168.0.0/24 monitor_type=vulnerability notification_threshold=high
    

ICS 分析

  • 名称: ics-analysis
  • 描述: 分析暴露的工业控制系统和SCADA设备
  • 参数:
    • target_type (必需): 要分析的目标类型 ("ip", "network", "product", "country")
    • target (必需): 目标标识符 (IP, 网络范围, 产品名称或国家代码)
    • protocol (可选): 需要关注的具体协议
  • 示例:
    @shodan ics-analysis target_type=country target=US protocol=modbus
    

DNS 情报

  • 名称: dns-intelligence
  • 描述: 分析域名和 IP 地址的DNS信息
  • 参数:
    • target_type (必需): 要分析的目标类型 ("domain", "ip", "hostname")
    • target (必需): 要分析的域名、IP地址或主机名
    • include_history (可选): 是否包含历史信息 ("yes" 或 "no")
    • include_vt_analysis (可选): 是否包含VirusTotal安全分析 ("yes" 或 "no")
  • 示例:
    @shodan dns-intelligence target_type=domain target=example.com include_vt_analysis=yes
    

服务暴露分析

  • 名称: service-exposure
  • 描述: 分析互联网上暴露的特定服务类型
  • 参数:
    • service_type (必需): 服务类型 ("database", "webcam", "industrial", "remote-access", "custom")
    • target_scope (必需): 分析范围 ("global", "country", "organization", "ip-range")
    • target (可选): 基于范围的目标值
    • custom_query (可选): 对于'custom'服务类型的自定义查询
    • include_vt_analysis (可选): 是否包含VirusTotal分析 ("yes" 或 "no")
  • 示例:
    @shodan service-exposure service_type=database target_scope=country target=US
    

账户状态

  • 名称: account-status
  • 描述: 分析账户信息和API使用状态
  • 参数:
    • info_type (必需): 要检索的信息类型 ("profile", "api", "usage", "all")
  • 示例:
    @shodan account-status info_type=all
    

扫描管理

  • 名称: scan-management
  • 描述: 管理并分析按需网络扫描
  • 参数:
    • action (必需): 要执行的扫描操作 ("initiate", "check", "list")
    • target (可选): 要扫描的目标IP或网络(逗号分隔)
    • scan_id (可选): 用于检查状态的扫描ID
  • 示例:
    @shodan scan-management action=initiate target=192.168.1.0/24
    

搜索分析

  • 名称: search-analytics
  • 描述: 分析Shodan搜索功能和模式
  • 参数:
    • action (必需): 分析类型 ("analyze-query", "explore-facets", "examine-filters", "saved-queries")
    • query (可选): 要分析的查询 (对于analyze-query操作)
  • 示例:
    @shodan search-analytics action=analyze-query query="apache country:DE port:443"
    

漏洞狩猎

  • 名称: vulnerability-hunting
  • 描述: 在整个互联网上搜索特定的漏洞
  • 参数:
    • vuln_type (必需): 要搜索的漏洞类型 ("cve", "product", "service", "custom")
    • target (必需): 漏洞目标 (CVE ID, 产品名称, 服务类型)
    • scope (可选): 搜索范围 ("global", "regional", "industry")
    • scope_value (可选): 范围值 (国家, 行业)
  • 示例:
    @shodan vulnerability-hunting vuln_type=cve target=CVE-2021-44228 scope=regional scope_value=US
    

恶意软件分析

  • 名称: malware-analysis
  • 描述: 分析文件和 URL 中的恶意软件和安全威胁
  • 参数:
    • target_type (必需): 要分析的目标类型 ("file" 或 "url")
    • target (必需): 要分析的文件哈希 (MD5/SHA1/SHA256) 或 URL
    • include_relationships (可选): 包含关系数据 ("yes" 或 "no")
  • 示例:
    @shodan malware-analysis target_type=file target=a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
    

基础设施分析

  • 名称: infrastructure-analysis
  • 描述: 使用 Shodan 和 VirusTotal 的组合数据来分析网络基础设施
  • 参数:
    • target_type (必需): 要分析的目标类型 ("ip" 或 "domain")
    • target (必需): 要分析的 IP 地址或域名
    • depth (可选): 分析深度 ("basic" 或 "comprehensive")
    • include_vt_analysis (可选): 包含 VirusTotal 分析 ("yes" 或 "no")
  • 示例:
    @shodan infrastructure-analysis target_type=domain target=example.com depth=comprehensive
    

威胁狩猎

  • 名称: threat-hunting
  • 描述: 使用综合情报在多个数据源中搜索威胁
  • 参数:
    • indicator_type (必需): 指标类型 ("ip", "domain", "url", "file")
    • indicator (必需): 要调查的指标值
    • include_vt_analysis (可选): 包含 VirusTotal 分析 ("yes" 或 "no")
  • 示例:
    @shodan threat-hunting indicator_type=ip indicator=8.8.8.8 include_vt_analysis=yes
    

环境设置

  1. 设置所需的环境变量:

    SHODAN_API_KEY=your_shodan_api_key
    VIRUSTOTAL_API_KEY=your_virustotal_api_key
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    
  4. 启动服务器:

    npm start
    

API 速率限制

  • 根据您的订阅遵守 Shodan API 限制
  • VirusTotal API 有单独的速率限制
  • 尽可能使用批处理操作
  • 在请求之间实现适当的延迟

错误处理

服务器处理各种错误场景:

  • 无效的 API 密钥
  • 速率限制
  • 网络问题
  • 无效的参数
  • 缺少权限

贡献

  1. Fork 仓库
  2. 创建一个功能分支
  3. 提交拉取请求

许可证

Copyright © 2024 ADEO 网络安全服务。保留所有权利。

相关 MCP 服务