🚀 サイバーセンチネルMCPサーバー
セキュリティ分析のために、複数の脅威インテリジェンスソースへの統一アクセスを提供する包括的な脅威インテリジェンス集約MCP(Model Context Protocol)サーバーです。
🚀 クイックスタート
前提条件
- Python 3.8以上
- MCP互換クライアント(Claude Desktop、Cursorなど)
インストール
- リポジトリをクローンする:
git clone https://github.com/jx888-max/cyber-sentinel-mcp.git
cd cyber-sentinel-mcp
- 依存関係をインストールする:
pip install -e .
- APIキーを設定する:
python -m cyber_sentinel.setup_wizard
export VIRUSTOTAL_API_KEY=your_virustotal_api_key_here
export ABUSEIPDB_API_KEY=your_abuseipdb_api_key_here
- インストールを確認する:
python -c "from cyber_sentinel.server import app; print('✅ インストール成功!')"
APIキーの設定
VirusTotal(強く推奨)
- 無料プラン:1日1,000リクエスト
- 機能:IP、ドメイン、ハッシュ、URLの分析
- VirusTotalにアクセスする
- 無料アカウントを作成する
- APIセクションからAPIキーを取得する
.envに追加する:VIRUSTOTAL_API_KEY=your_key_here
AbuseIPDB(強く推奨)
- 無料プラン:1日1,000リクエスト
- 機能:IPアドレスの評判と悪用報告
- AbuseIPDBにアクセスする
- 無料アカウントを作成する
- アカウント設定からAPIキーを取得する
.envに追加する:ABUSEIPDB_API_KEY=your_key_here
Shodan(オプション)
- 無料プラン:1か月100件の結果
- 機能:インターネット接続機器のインテリジェンス
- Shodanにアクセスする
- アカウントを作成し、APIキーを取得する
.envに追加する:SHODAN_API_KEY=your_key_here
URLhaus(APIキー不要)
- 無料:基本的な使用にはAPIキーなしで動作する
- 機能:マルウェアURLとペイロードの追跡
✨ 主な機能
🔍 脅威インテリジェンス
- 複数ソースのインテリジェンス:VirusTotal v3、AbuseIPDB、URLhaus、Shodan、ThreatFox、MalwareBazaarからのデータを集約する
- スマートなインジケーター検出:IPアドレス、ドメイン、ファイルハッシュ、URLを自動検出する
- インテリジェントな集約:複数ソースからの結果を信頼度スコア付きで結合する
- 非同期性能:高性能の並行処理
- スマートキャッシュ:API呼び出しを削減し、応答時間を改善する(TTL 1時間)
- レート制限:すべてのソースのAPI制限を尊重する(デフォルトで1分間60リクエスト)
- エラー回復:APIの失敗やタイムアウトを適切に処理する
🛡️ コードセキュリティ分析
- 多言語対応:Python、JavaScript、Java、C#、PHP、Go、Rust、C++、SQLコードを分析する
- 脆弱性検出:ハードコードされたシークレット、SQLインジェクション、XSS、パストラバーサルなどを特定する
- ネットワークインジケーター分析:コード内に見つかったIP、ドメイン、URLを抽出して分析する
- 安全な代替案:安全なコーディングの推奨事項と代替案を提供する
- リスクスコアリング:包括的なセキュリティリスクスコアを計算する
📦 依存関係セキュリティ
- 多プラットフォーム対応:NPM、Python、Maven、Cargo、Go、Composerの依存関係をスキャンする
- 脆弱性検出:既知の悪意のあるパッケージと古い依存関係を特定する
- セキュリティ推奨事項:実行可能なセキュリティ改善提案を提供する
- リスク評価:包括的な依存関係リスクスコアリング
🐳 インフラストラクチャセキュリティ
- Dockerセキュリティ:Dockerfileの設定をセキュリティベストプラクティスに基づいて分析する
- Kubernetesセキュリティ:K8sマニフェストをセキュリティの誤設定についてスキャンする
- CI/CD統合:DevOpsパイプラインのセキュリティ分析を提供する
📊 レポートと可視化
- 充実したレポート:包括的なセキュリティ分析レポートを生成する
- ビジュアルダッシュボード:セキュリティメトリクスとトレンドの可視化を作成する
- エクスポートオプション:複数の出力形式(JSON、HTML、PDF)をサポートする
- MCPプロトコル:MCP対応のAIアシスタントと完全互換
🔧 MCPクライアントの設定
Claude Desktop
claude_desktop_config.jsonに追加する:
{
"mcpServers": {
"cyber-sentinel": {
"command": "python",
"args": ["-m", "cyber_sentinel.server"],
"cwd": "/path/to/cyber-sentinel",
"env": {
"VIRUSTOTAL_API_KEY": "your_virustotal_key",
"ABUSEIPDB_API_KEY": "your_abuseipdb_key",
"SHODAN_API_KEY": "your_shodan_key"
}
}
}
}
Cursor/VS Code
MCP設定に追加する:
{
"mcp.servers": {
"cyber-sentinel": {
"command": ["python", "-m", "cyber_sentinel.server"],
"cwd": "/path/to/cyber-sentinel",
"env": {
"VIRUSTOTAL_API_KEY": "your_virustotal_key",
"ABUSEIPDB_API_KEY": "your_abuseipdb_key"
}
}
}
}
💻 使用例
MCPクライアントに設定したら、自然言語を使ってセキュリティインジケーターを分析できます。
🔍 脅威インテリジェンス分析
Analyze the IP address 8.8.8.8 for any malicious activity
Check if 1.1.1.1 is safe to use
Is google.com safe?
Check the security status of example.com
Analyze this MD5 hash: d41d8cd98f00b204e9800998ecf8427e
Is this URL safe: https://example.com/suspicious-path
Show me the status of all threat intelligence sources
🛡️ コードセキュリティ分析
Analyze this Python code for security vulnerabilities:
[paste your code here]
Check this JavaScript function for XSS vulnerabilities:
[paste your code here]
Scan this SQL query for injection risks:
[paste your code here]
📦 依存関係セキュリティスキャン
Scan these project dependencies for vulnerabilities:
package.json: [paste content]
requirements.txt: [paste content]
Check my Python project for outdated packages:
[provide requirements.txt content]
🐳 インフラストラクチャセキュリティ
Analyze this Dockerfile for security issues:
[paste Dockerfile content]
Check this Kubernetes deployment for security misconfigurations:
[paste K8s YAML content]
📊 セキュリティレポート
Generate a comprehensive security report for my project
Create a security dashboard with current threat landscape
Export security findings to HTML report
🛠️ 利用可能なMCPツール
🔍 脅威インテリジェンスツール
analyze_indicator
複数の脅威インテリジェンスソースを横断してセキュリティインジケーターを分析します。
サポートされるインジケーター:
- IPアドレス:IPv4アドレス(例:
8.8.8.8)
- ドメイン名:任意のドメイン(例:
google.com)
- ファイルハッシュ:MD5、SHA1、SHA256ハッシュ
- URL:完全なURL(例:
https://example.com)
返される情報:
- 全体的な評判(クリーン/悪意あり/不明)
- 信頼度スコア(0-100%)
- 個々の脅威インテリジェンスソースからの結果
- 地理的およびISP情報(IPの場合)
- 詳細な分析データ
check_api_status
すべての脅威インテリジェンスソースの設定と状態を確認します。
返される情報:
- APIキーの検証状態
- ソースごとの利用可能な機能
- レート制限の設定
- システム全体の健全性
🛡️ セキュリティ分析ツール
analyze_code_security
ソースコードの包括的なセキュリティ分析を実行します。
パラメーター:
code_content:分析するソースコード
language:プログラミング言語(指定されない場合は自動検出)
locale:出力言語(zh/en)
返される情報:
- セキュリティ脆弱性とその深刻度
- ハードコードされたシークレットと資格情報
- コード内に見つかったネットワークインジケーター
- 安全なコーディングの推奨事項
- リスクスコアと修復ガイダンス
scan_project_dependencies
プロジェクトの依存関係をセキュリティ脆弱性についてスキャンします。
パラメーター:
project_files:依存関係ファイルの辞書(package.json、requirements.txtなど)
返される情報:
- 既知の悪意のあるパッケージ
- 脆弱性のある古い依存関係
- セキュリティ推奨事項
- リスク評価とスコアリング
analyze_docker_security
Dockerの設定をセキュリティベストプラクティスに基づいて分析します。
パラメーター:
dockerfile_content:分析するDockerfileの内容
返される情報:
- セキュリティの誤設定
- ベストプラクティスの違反
- 強化の推奨事項
- リスク評価
scan_kubernetes_config
Kubernetesマニフェストをセキュリティ問題についてスキャンします。
パラメーター:
k8s_manifests:Kubernetes YAMLファイルの辞書
返される情報:
- セキュリティポリシーの違反
- 特権昇格のリスク
- ネットワークセキュリティ問題
- コンプライアンスの推奨事項
generate_security_report
可視化付きの包括的なセキュリティレポートを生成します。
パラメーター:
analysis_results:セキュリティ分析からの結合結果
report_format:出力形式(json/html/markdown)
返される情報:
- フォーマットされたセキュリティレポート
- エグゼクティブサマリー
- 詳細な調査結果
- 修復ロードマップ
📊 応答例
{
"indicator": "8.8.8.8",
"type": "ip",
"overall_reputation": "clean",
"confidence": 100.0,
"sources_checked": 4,
"sources_responded": 3,
"malicious_sources": 0,
"clean_sources": 3,
"countries": ["US"],
"isps": ["Google LLC"],
"detailed_results": [
{
"source": "VirusTotal",
"reputation": "clean",
"malicious_count": 0,
"total_engines": 89
}
],
"errors": [],
"timestamp": "2024-01-15T10:30:00Z"
}
⚡ パフォーマンスと信頼性
🚀 高性能
- 非同期アーキテクチャ:すべての分析ツールで高性能の並行処理
- スマートキャッシュ:1時間のTTLでAPI呼び出しを削減し、応答時間を改善する
- 並列処理:複数の脅威インテリジェンスソースを同時に分析する
- 最適化されたアルゴリズム:効率的なパターンマッチングと脆弱性検出
🛡️ 信頼性と回復力
- レート制限:設定可能な制限(デフォルト:1分間60リクエスト)とインテリジェントなスロットリング
- タイムアウト処理:30秒のリクエストタイムアウトでハング操作を防止する
- エラー回復:APIの失敗やネットワーク問題を適切に処理する
- フォールバックメカニズム:一部のソースが利用できない場合でも分析を続行する
- リトライロジック:一時的な障害に対して指数関数的バックオフで自動的にリトライする
🔒 セキュリティとプライバシー
🛡️ データ保護
- ゼロデータ保存:インジケーター、コード、分析結果は永久に保存されない
- メモリ内のみの処理:すべての分析はメモリ内で行われ、自動的にクリーンアップされる
- APIキーのセキュリティ:キーは環境変数と暗号化されたストレージを通じて安全に管理される
- ソースの分離:各脅威インテリジェンスソースは独立して動作し、資格情報が分離される
🔐 プライバシー保護
- ローカル処理:コード分析は外部に送信せずにローカルで行われる
- エラーの分離:エラーメッセージやログに機密情報は一切公開されない
- 監査トレイル:コンプライアンス要件に応じてオプションのセキュリティイベントロギング
- データ最小化:必要なデータのみが処理され、すぐに破棄される
🧪 テスト
機能を検証するためにテストスイートを実行します:
python -m pytest tests/ -v
python -c "
from cyber_sentinel.server import check_api_status
import asyncio
print(asyncio.run(check_api_status()))
"
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細についてはLICENSEファイルを参照してください。
🤝 コントリビューション
- リポジトリをフォークする
- 機能ブランチを作成する (
git checkout -b feature/amazing-feature)
- 変更を加え、テストを追加する
- 変更をコミットする (
git commit -m 'Add amazing feature')
- ブランチにプッシュする (
git push origin feature/amazing-feature)
- プルリクエストを作成する
🆘 サポート
🙏 謝辞
🛡️ 脅威インテリジェンスを簡素化する。