greynoise について
mcp-greynoise は、GreyNoise を使って IPv4 アドレスのインターネットスキャン活動、良性サービス、脅威分類を調べる読み取り専用 MCP サーバーです。セキュリティチームは単一または最大 10 件をまとめて確認でき、状態とレート制限の情報も取得できます。
主な機能
- 01単一の IPv4 アドレスを確認
- 021 回の呼び出しで最大 10 件の IP を確認
- 03スキャン活動と分類を特定
- 04RIOT で既知の良性サービスを識別
- 05API の状態とレート制限情報を提供
- 06読み取り専用で、リクエスト後のデータを保持しない
活用シーン
- 01アラートの IP が背景ノイズか標的型攻撃の可能性があるかを判定
- 02インシデント対応で攻撃者のアドレスを調査
- 03脅威ハンティングでログから非スキャン IP を特定
- 04既知のスキャナーを除外して誤検知を削減
MCP 対応
GreyNoise の IP 検索ツールと API 状態リソースを MCP クライアントに公開します。GreyNoise からの読み取りのみを行い、現在のリクエストを超えてデータを保持しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ip | string | はい | 確認する IPv4 アドレス(例:8.8.8.8) |
詳細
mcp-greynoise
GreyNoise API 用の MCP サーバーです。IP アドレスがインターネット上のバックグラウンドノイズなのか、標的型攻撃の可能性があるのかを確認できます。
クイックスタート
npx mcp-greynoise
これだけです。API キーなしで、すぐに 1 日 10 回の検索を利用できます。
GreyNoise とは?
GreyNoise は、インターネット全体のスキャン通信を収集して分析します。次のことを確認できます。
- ノイズ:この IP はインターネットを広範囲にスキャンしていますか?(ボットネット、研究者、クローラー)
- RIOT:この IP は既知の良性サービスですか?(Google、Cloudflare、Microsoft など)
- 分類:悪意あり、良性、または不明
セキュリティ上、重要な理由
ログに不審な通信が見つかった場合:
| GreyNoise の結果 | 解釈 |
|---|---|
| NOISE + Malicious | バックグラウンドの攻撃通信(スキャナー、ボットネット)— 標的を定めていない可能性が高い |
| NOISE + Benign | セキュリティ研究者、検索クローラー — 通常は安全 |
| RIOT | 既知の正規サービス(CDN、DNS、クラウド)— ほぼ確実に良性 |
| NOT NOISE | ⚠️ この IP は広範囲なスキャンを行っていません — 通信はあなたを標的としている可能性があります |
「NOT NOISE」のケースは、誰かがあなたのシステムに特に関心を持っていることを示唆するため、多くの場合もっとも重要です。
デモ
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 | いいえ | より高いレート制限(1 日 10 回から 50 回)を利用するための API キー |
無料の API キーは viz.greynoise.io/signup で取得できます。
⚠️ API キーをコミットしないでください。 推奨される設定については
.env.exampleを参照してください。
ツール
check_ip
GreyNoise に対して単一の IP アドレスを確認します。
入力:
ip(文字列):確認する IPv4 アドレス
check_ips
1 回の呼び出しで複数の 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 のステータスとレート制限の情報を返します。
レート制限
| プラン | 1 日あたりの検索回数 |
|---|---|
| 認証なし | 10 |
| 無料アカウント | 50 |
| 有料プラン | さらに多い |
レート制限は、API 呼び出しと GreyNoise Visualizer で共有されます。
セキュリティ
このサーバーは次のとおりです。
- GreyNoise API から読み取りのみを行います(スキャンやエクスプロイトは行いません)
- 現在のリクエストを超えてデータを保存しません
- GreyNoise 以外の場所に API キーを送信しません
- レピュテーション/テレメトリの補足情報の提供のみを行います
API キーは環境変数経由で渡され、ログに記録されることはありません。
ユースケース
- SOC トリアージ:アラート対象の IP がバックグラウンドノイズなのか、標的型なのかをすばやく判定
- インシデント対応:攻撃者の 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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。