关于 greynoise
mcp-greynoise 是只读 MCP 服务,可通过 GreyNoise 检查 IPv4 地址的互联网扫描活动、良性服务和威胁分类。安全团队可查询单个地址或最多 10 个地址的批次,也可获取状态和速率限制信息。
主要功能
- 01查询单个 IPv4 地址
- 02每次调用查询最多 10 个 IP 地址
- 03识别扫描活动和威胁分类
- 04通过 RIOT 标记已知良性服务
- 05提供 API 状态和速率限制信息
- 06只读查询,且不留存请求以外的数据
适用场景
- 01判断告警 IP 是背景噪声还是可能的定向攻击
- 02在事件响应中分析攻击者地址
- 03在日志中查找未进行扫描的 IP 以开展威胁搜寻
- 04过滤已知扫描器以减少误报
MCP 相关
向 MCP 客户端提供 GreyNoise IP 查询工具和 API 状态资源。它只读取 GreyNoise 数据,不会留存当前请求以外的数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ip | string | 是 | 要检查的 IPv4 地址(例如,8.8.8.8) |
详细介绍
mcp-greynoise
用于 GreyNoise API 的 MCP 服务——检查 IP 地址是互联网背景噪声,还是可能遭受了有针对性的攻击。
快速开始
npx mcp-greynoise
就这么简单。开箱即用,每天可查询 10 次(无需 API 密钥)。
什么是 GreyNoise?
GreyNoise 会收集并分析互联网范围内的扫描流量。它可以告诉你:
- 噪声:此 IP 是否正在大规模扫描互联网?(僵尸网络、研究人员、爬虫)
- RIOT:此 IP 是否为已知的良性服务?(Google、Cloudflare、Microsoft 等)
- 分类:恶意、良性或未知
这对安全为何重要
当你在日志中发现可疑流量时:
| GreyNoise 结果 | 解读 |
|---|---|
| 噪声 + 恶意 | 背景攻击流量(扫描器、僵尸网络)——很可能并非针对你 |
| 噪声 + 良性 | 安全研究人员、搜索爬虫——通常是安全的 |
| RIOT | 已知的良性服务(CDN、DNS、云服务)——几乎可以确定是良性的 |
| 非噪声 | ⚠️ 此 IP 并未大规模扫描——流量可能是针对你的 |
“非噪声”这种情况往往最重要——这表明有人可能专门对你的系统感兴趣。
演示
check_ip 的示例输出:
IP: 51.91.185.74
Classification: MALICIOUS
Noise: YES - This IP has been observed scanning the internet
RIOT: NO - Not a known benign service IP
Last Seen: 2024-01-15
Details: https://viz.greynoise.io/ip/51.91.185.74
--- Interpretation ---
🚨 This IP is actively scanning the internet and classified as MALICIOUS.
Likely a scanner, botnet, or threat actor.
安装
npm(推荐)
npm install -g mcp-greynoise
npx(无需安装)
npx mcp-greynoise
从源代码安装
git clone https://github.com/nickjlucker/mcp-greynoise.git
cd mcp-greynoise
npm install
npm run build
node build/index.js
配置
Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"greynoise": {
"command": "npx",
"args": ["mcp-greynoise"],
"env": {
"GREYNOISE_API_KEY": "your-api-key-here"
}
}
}
}
环境变量
| 变量 | 必需 | 说明 |
|---|---|---|
GREYNOISE_API_KEY | 否 | 用于提高速率限制的 API 密钥(每天 50 次,而非 10 次) |
在 viz.greynoise.io/signup 获取免费 API 密钥。
⚠️ 切勿提交 API 密钥。 推荐的配置方式请参见
.env.example。
工具
check_ip
使用 GreyNoise 检查单个 IP 地址。
输入:
ip(字符串):要检查的 IPv4 地址
check_ips
在一次调用中检查多个 IP 地址(最多 10 个)。
输入:
ips(字符串数组):IPv4 地址数组
示例输出:
=== Results ===
8.8.8.8: RIOT (benign service) [Google]
51.91.185.74: NOISE - MALICIOUS
192.168.1.1: NOT NOISE (potentially targeted)
--- Legend ---
RIOT: Known benign service (CDN, DNS, etc.)
NOISE: IP is mass-scanning the internet
NOT NOISE: IP is NOT mass-scanning (traffic may be targeted)
资源
greynoise://status
返回 API 状态和速率限制信息。
速率限制
| 层级 | 每日查询次数 |
|---|---|
| 未认证 | 10 |
| 免费账户 | 50 |
| 付费方案 | 更高 |
API 调用和 GreyNoise Visualizer 共用速率限制。
安全
此服务:
- 仅从 GreyNoise API 读取数据(不进行扫描或利用)
- 不会存储当前请求之外的任何数据
- 不会将你的 API 密钥传输到 GreyNoise 以外的任何地方
- 仅执行信誉/遥测数据补充
你的 API 密钥通过环境变量传递,绝不会被记录到日志中。
使用场景
- SOC 分诊:快速判断告警中的 IP 是背景噪声还是针对性流量
- 事件响应:识别攻击者 IP 是大规模扫描器还是有针对性的威胁
- 威胁搜寻:查找日志中并非大规模扫描器的 IP(可能是有针对性的流量)
- 日志分析:过滤掉已知扫描器,减少误报
开发
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run built version
npm start
许可证
MIT
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。