返回市场
MCP资产扫描服务器

MCP资产扫描服务器

作者:nickpending4 星标更新:2025-04-10

项目介绍

mcp-censys

mcp-censys 是一个 MCP 服务器,它利用 Censys 搜索 API 实时获取域名、IP 和 FQDN 的侦察信息,现在增加了增强的 MCP 提示模板

[!CAUTION] 这仅作为演示用途,并不适合生产环境。这不是官方支持的产品。

概述

mcp-censys 将自然语言提示转换为目标 Censys 查询——实时显示主机、DNS、证书和服务信息。它设计用于与 Claude Desktop 或任何其他模型上下文协议(MCP)客户端一起工作。

基于官方 Censys Python SDK 构建,这个轻量级容器通过 Claude 友好的函数提供了精确的侦察工具。

[!NEW] MCP 提示模板

本版本引入了 MCP 提示模板——预定义的指令集,指导 Claude 分析域数据。这些模板提供了如何组织和呈现结果的结构化指导,确保一致且高质量的输出。了解更多关于 MCP 提示

特性

  • 对话查询:通过自然语言访问 Censys 情报
  • 域名和 IP 查找:获取 DNS 名称、ASN、服务和 TLS 上下文
  • 新 FQDN 发现:从 DNS 和证书数据中找到最近看到的子域
  • MCP 兼容工具:可以直接从 Claude Desktop 使用
  • MCP 提示模板:✨ 内置的结构化指导模板,指示 Claude 如何分析和呈现域数据 (了解更多关于 MCP 提示)
  • 带有 .env 支持的 Docker 化:安全、可重复使用
  • 轻量级 API 客户端:基于 Censys Python SDK

工具

  • lookup_domain - 获取特定域的综合 IP、DNS 名称、服务和 ASN 信息(聚合所有结果的数据),并带有 内置 MCP 提示,指导 Claude 将发现整理成有意义的部分
  • lookup_domain_detailed - 返回与域查询匹配的 3 个实际主机记录样本,包括服务、ASN、地理位置和 TLS 数据,以及有关可用总记录数的信息和 结构化的 MCP 提示,以进行全面的基础设施分析
  • lookup_ip - 丰富 IP 的 DNS、ASN、服务信息和 TLS 元数据
  • new_fqdns - 从 DNS 和证书中查找特定域最近观察到的 FQDN
  • host_services - 列出给定域或 IP 的开放端口和服务标语

快速入门指南

1. 域名查询 (lookup_domain)

返回通过聚合所有 IP、DNS 名称、服务标语和 ASN 信息与特定域相关联的完整信息。有助于理解该域解析到什么基础设施。

示例:

用户:mailchimp.com 后面是什么?

AI:mailchimp.com 解析到由 The Rocket Science Group (AS2635) 操作的多个 IP。该域暴露了 80 和 443 端口上的 HTTP 服务,反向 DNS 显示别名如 smtp.mailchimp.com 和 us1.admin.mailchimp.com。几台服务器响应了 'mailchimp-nginx' 的标语。

2. 详细的域名查询 (lookup_domain_detailed)

提供与域查询匹配的实际主机记录样本(最多 3 个),以及存在的总记录数信息。

示例:

用户:给我展示 mailchimp.com 的详细记录

AI:我找到了 42 个 mailchimp.com 的主机记录。这里是一个 3 个样本:

IP:205.201.131.98 - 位于佐治亚州亚特兰大(The Rocket Science Group)
服务:HTTP/80, HTTPS/443, SMTP/25
操作系统:Ubuntu 18.04
IP:205.201.132.24 - 位于佐治亚州亚特兰大(The Rocket Science Group)
服务:HTTP/80, HTTPS/443
TLS:TLSv1.2, RSA 2048位
IP:198.2.131.20 - 位于佐治亚州亚特兰大(The Rocket Science Group)
服务:SMTP/25, SMTP/587
TLS:TLSv1.2, DH 2048位
还有 39 个未显示的记录。

3. IP 查询 (lookup_ip)

提供 IP 的完整上下文,包括 DNS 名称、ASN、TLS 证书、服务和位置数据。

示例:

用户:告诉我关于 184.29.22.16

AI:184.29.22.16 与 Akamai (AS20940) 相关联。它暴露了两个服务:80 端口上的 HTTP 和 443 端口上的 HTTPS。它托管在美国,并使用由 Let's Encrypt 颁发的 TLS 证书。

4. 新 FQDN 发现 (new_fqdns)

从 DNS 记录和证书透明日志中查找特定域最近观察到的 FQDN。

示例:

用户:微软公司在过去三天内有哪些新的 FQDN?

AI:在过去的三天里,microsoft.com 观察到了 17 个 FQDN,包括:

login.microsoft.com(在 DNS 和证书中看到)
api.microsoft.com(仅在证书中看到)
graph.microsoft.com(仅在 DNS 中看到)
teams.microsoft.com(在 DNS 和证书中看到)

5. 主机服务 (host_services)

快速识别给定 IP 上开放的端口和运行的服务。

示例:

用户:example.com 上开放哪些端口?

AI:example.com (93.184.216.34) 有以下服务:

80 端口上的 HTTP(最后看到 2 小时前)
443 端口上的 HTTPS(最后看到 2 小时前)

安装

# 克隆仓库
git clone https://github.com/yourusername/mcp-censys.git
cd mcp-censys

# 构建 Docker 镜像
docker build -t mcp/censys .

# .env 应包含:
CENSYS_API_ID=your_censys_api_id
CENSYS_API_SECRET=your_censys_api_secret

MCP 配置

添加到您的 Claude Desktop 配置:

"censys": {
  "command": "docker",
  "args": [
    "run",
    "--rm",
    "-i",
    "--env-file", "/Users/yourname/.env.censys",
    "mcp/censys"
  ]
}

截图

mcp-censys 在 Claude Desktop 中使用 lookup_domainlookup_domain_detailedlookup_ip 工具的运行情况:

mcp-censys 截图 - 域名/FQDN 查询

此示例展示了对 mailchimp.com 的域名查询请求,返回 IP、ASN、子域、服务和基础设施——全部来自自然语言查询。

mcp-censys 截图 - 详细域名查询

此示例展示了对 mailchimp.com 的详细域名查询请求,返回 IP、ASN、子域、BGP、TLS 信息、服务和基础设施。

mcp-censys 截图 - IP 查询

此示例展示了对 23.204.1.14 的 IP 查询,返回坐标、正向和反向 DNS 和服务。

故障排除

没有返回结果

  • 确保目标是公开可见的
  • 检查您的 API 密钥和速率限制
  • 基于 DNS 的结果依赖于最近的 Censys 观察

性能提示

  • 单次扫描一个域名或 IP 以获得更快的结果
  • 使用 lookup_domain 或 lookup_ip 获取集中数据

API 响应问题

  • 如果遇到结果格式错误,请确保您使用的是最新版本
  • 工具会自动处理分页——lookup_domain 收集所有可用结果,而 lookup_domain_detailed 显示有限样本
  • 对于具有许多结果的域,由于多次 API 请求,查询可能需要更长时间完成

限制

  • new_fqdns 不代表真正的“首次出现”FQDN;它按最近观察的时间戳过滤
  • 该工具旨在进行对话式、单目标分析(而不是批量扫描)
  • lookup_domain_detailed 只显示 3 条记录,即使有更多的记录也保持响应可控

许可证

MIT 许可证

致谢