模型上下文协议服务器

一个用于Censys搜索API的模型上下文协议服务器,使AI助手能够搜索互联网范围的扫描数据、SSL/TLS证书和主机信息。

  • by schwarztim
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 schwarztim/sec-censys-mcp

使用说明

Censys MCP服务器

模型上下文协议(MCP)服务器 Censys搜索API v2,使AI助手能够搜索互联网范围的扫描数据、SSL/TLS证书和主机信息。

概述

Censys是一个搜索引擎,允许安全研究人员发现、监控和分析互联网上暴露的设备和服务。此MCP服务器提供对Censys Search API功能的全面访问,包括:

  • 主机发现 -搜索数十亿个IP地址及其服务
  • 证书智能 -查找和分析SSL/TLS证书
  • 历史分析 -跟踪主机随时间的变化
  • 汇总统计 -生成报告和统计数据

特性

主机搜索工具

工具 说明
censys_search_hosts 使用Censys搜索语言搜索主机
censys_view_host 获取特定IP地址的详细信息
censys_host_diff 比较两个时间戳之间的主机数据
censys_host_events 获取主机的更改/事件时间表
censys_host_names 获取与IP关联的DNS名称
censys_aggregate_hosts 为主机生成聚合统计信息

证书工具

工具 说明
censys_search_certs 搜索SSL/TLS证书
censys_view_cert 通过SHA-256指纹获取证书详细信息
censys_cert_hosts 获取出示特定证书的主机
censys_aggregate_certs 生成证书统计信息

组织工具

工具 说明
censys_list_tags 列出您帐户中的可用标签
censys_create_tag 创建用于组织资产的新标签
censys_tag_host 在主机中添加或删除标签
censys_host_comments 获取或添加对主机的评论
censys_metadata 获取索引元数据和数据新鲜度信息

安装

git clone https://github.com/schwarztim/sec-censys-mcp.git
cd sec-censys-mcp
npm install
npm run build

配置

环境变量

变量 必填 描述
CENSYS_API_ID 是 您的Censys API ID
CENSYS_API_SECRET 是 您的Censys API秘密

从以下位置获取您的API证书:https://search.censys.io/account/api

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "censys": {
      "command": "node",
      "args": ["/path/to/sec-censys-mcp/dist/index.js"],
      "env": {
        "CENSYS_API_ID": "your-api-id",
        "CENSYS_API_SECRET": "your-api-secret"
      }
    }
  }
}

使用示例

在美国搜索具有开放SSH端口的主机

{
  "tool": "censys_search_hosts",
  "arguments": {
    "query": "services.port: 22 AND location.country: US",
    "per_page": 10
  }
}

获取有关IP的详细信息

{
  "tool": "censys_view_host",
  "arguments": {
    "ip": "8.8.8.8"
  }
}

搜索通配符证书

{
  "tool": "censys_search_certs",
  "arguments": {
    "query": "names: *.google.com"
  }
}

查找运行HTTP服务器的顶级国家

{
  "tool": "censys_aggregate_hosts",
  "arguments": {
    "query": "services.service_name: HTTP",
    "field": "location.country",
    "num_buckets": 10
  }
}

跟踪主机随时间的变化

{
  "tool": "censys_host_events",
  "arguments": {
    "ip": "1.2.3.4",
    "start_time": "2024-01-01T00:00:00Z",
    "end_time": "2024-12-31T23:59:59Z"
  }
}

Censys搜索语言

Censys使用强大的查询语言进行搜索。常见模式:

主机查询

查询 描述
services.port: 443 端口443打开的主机
services.service_name: HTTP 运行HTTP服务的主机
services.software.product: nginx 运行nginx的主机
location.country: US 位于美国的主机
location.city: "New York" 纽约市的房东
autonomous_system.name: Amazon 亚马逊AS中的主机
autonomous_system.asn: 15169 AS 15169中的主机(谷歌)
services.tls.certificates.leaf_data.issuer.common_name: "Let's Encrypt" 拥有Let’s Encrypt证书的主机

证书查询

查询 描述
names: example.com 精确域的证书
names: *.example.com 通配符证书
parsed.issuer.common_name: "DigiCert" DigiCert颁发的证书
parsed.validity_period.not_after: [NOW TO *] 当前有效的证书

组合查询

services.port: 443 AND location.country: US AND NOT autonomous_system.name: Amazon

API费率限制

费率限制取决于您的Censys帐户级别:

级别 查询/月 结果/查询
免费 250 100
独奏 1000 1000
团队 5000 10000
企业 自定义 自定义

请访问以下网址查看您的使用情况:https://search.censys.io/account

安全考虑

  • 使用环境变量安全地存储API凭据
  • 从不将凭据提交到版本控制
  • 使用适当的价格限制以避免API滥用
  • 发现漏洞时遵循负责任的披露做法

发展

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode
npm run dev

许可证

MIT许可证-请参阅 许可证 了解详情。

链接