安全

Shodan MCP:让智能体查 IP 暴露面和 CVE 详情

接入 Shodan API 和 CVEDB:智能体能查 IP 开放的端口和服务、搜索联网设备、查 CVE 的 CVSS、EPSS 和 KEV 状态。

项目与安装文档

查看项目

https://github.com/w0h1v/mcp-shodan

排查一个可疑 IP,或者评估自家服务器在公网上暴露了什么,常规做法是开 Shodan 网页查一遍,再去 NVD 翻对应的 CVE。Shodan MCP 把这两步接到智能体里:一次调用拿到 IP 的端口、服务、证书和归属,再用 Shodan 的 CVEDB 查漏洞的严重程度和利用情况。它是社区项目,截至 2026-10-06 约 170 star。

能做什么

  • IP 侦察:ip_lookup 返回 IP 的组织、ASN、地理位置、开放端口、服务横幅、云厂商信息,以及每个服务的 TLS 证书细节(证书指纹、有效期、JARM/JA3S),证书里的 SAN 域名会汇总到顶层的归属域名字段。
  • 设备搜索:shodan_search 用 Shodan 查询语法搜索联网设备,max_results 控制返回数量,附带国家分布统计和每台设备的服务摘要。
  • 漏洞情报:cve_lookup 查 CVE 的 CVSS v2/v3 评分、EPSS 概率、是否在 KEV 名单、是否与勒索软件相关;cves_by_product 按产品名或 CPE 列出漏洞,可按 KEV 过滤、按 EPSS 排序、按日期筛选;cpe_lookup 按产品名查 CPE,支持只返回计数。
  • DNS:dns_lookup 和 reverse_dns_lookup 做正向、反向解析,都支持批量传入多个主机名或 IP。

适合谁

  • 做威胁情报、需要快速核实可疑 IP 背景的安全分析师,不想在 Shodan 网页和 NVD 之间来回切换。
  • 想定期检查自家公网资产暴露面的运维和安全工程师,把巡检做成智能体能跑的固定流程。

接入方式

需要 Node.js 和一个 Shodan API key。Claude Code 一条命令:

claude mcp add --transport stdio --env SHODAN_API_KEY=your-shodan-api-key shodan -- npx -y @burtthecoder/mcp-shodan

README 还给出了 Codex CLI、Gemini CLI 和 Claude Desktop 的配置;也可以用 npm install -g 全局装好后指定命令路径,或者克隆源码自己编译。服务器已经登记在官方 MCP Registry(server.json 清单),这是作者从 v1.0.22 起补上的。

编辑点评

威胁情报类 MCP 里,Shodan 数据源的价值最直观,这个实现工具不多但都实用,输出经过格式化,CVE 查询把 CVSS、EPSS、KEV 放在一起,模型做优先级判断时信息比较全。它的工具都是查询,不会对目标发起扫描。Wireshark MCP 看的是你本机抓到的流量,Shodan 看的是公网上别人暴露了什么,两者互补而不是替代。需要注意的是 Shodan API 按账户额度计费,401 表示密钥无效,402 表示额度用尽,429 是限流;shodan_search 这类搜索消耗额度较快,建议先用 dns_lookup 之类便宜的调用验证密钥是否生效。只用它查自己有权调查的目标,不要拿公司以外的资产练手。npm 包名仍沿用作者旧账号 @burtthecoder,项目近期从手写的 @modelcontextprotocol/sdk 迁移到了 FastMCP 框架。许可证为 MIT。