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。