EyalSec について
EyalSec MCP server は、EyalSec を利用するセキュリティ担当者や開発者に、アカウントデータへの読み取り専用アクセスを提供します。自然言語でセキュリティイベント、マシン、実行履歴、ルールを調べられ、アカウント情報は変更しません。
主な機能
- 01重要度、日時、発生元でイベントを検索
- 02イベント詳細、トレース、データ経路を確認
- 03イベント数と推移を集計
- 04マシンの状態と保留中の更新を確認
- 05ルール、フィルター、アカウントの操作履歴を参照
活用シーン
- 01週内のマシン別高重要度イベントを集計
- 02インジェクションイベントのリクエストから危険な操作までを追跡
- 03特定のイベントを発生させたプログラム実行を検索
- 04更新待ちのマシンを確認
MCP 対応
イベント、マシン、実行履歴、ルールなどの EyalSec API データを読み取り専用で MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx eyalsec-mcpEYALSEC_API_KEYシークレットYour EyalSec API key, from Settings > API access. A read-only key is enough.EYALSEC_URLYour EyalSec address, if your account is not on https://eyalsec.com.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
19掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sort | any | いいえ | 'newest'(デフォルト)または 'severity'(重大度の高い順)。 |
| tags | any | いいえ | 保持する影響カテゴリ。例:'xss'、'sqli'。 |
| view | any | いいえ | 対象とする製品のイベント:'python'(es-python)または 'browser'(es-chromium)。省略すると、アカウント内のすべての製品が対象になります。 |
| limit | integer | いいえ | 少なくともこの件数のイベントを収集した時点で停止します(最大 100 件のページ単位)。 |
| bucket | any | いいえ | 'live'(デフォルト:抑制されていないイベント)、'suppressed'、または 'all'。 |
| cursor | any | いいえ | 続行するための、同じフィルターを指定した前回の呼び出しで得た next_cursor。 |
| labels | any | いいえ | 保持するラベル ID(list_labels から取得)。 |
| date_to | any | いいえ | 終了日。形式は YYYY-MM-DD または RFC3339。当日全体を含みます。 |
| machine | any | いいえ | 表示名で 1 台のマシンを指定します(完全一致)。 |
| run_uid | any | いいえ | この実行によって生成されたイベントのみ(list_runs または get_event から取得した run_uid)。es-python のみ。 |
| sources | any | いいえ | これらの汚染ソースカテゴリのみを保持します。 |
| advanced | any | いいえ | イベントページの条件ビルダーを、そのまま渡します:{"match": "all"|"any", "conditions": [{"field": "sink", "op": "contains", "value": "sql", "negate": false}]}。 |
| severity | any | いいえ | これらの重大度のみを保持します。 |
| xss_only | any | いいえ | sink でスクリプトを実行できる es-chromium イベントのみ。view='browser' が必要です。 |
| date_from | any | いいえ | 開始日。形式は YYYY-MM-DD または RFC3339。 |
| value_chars | integer | いいえ | 各イベントの str_repr を指定文字数に切り詰めます(0 = 切り詰めなし)。 |
| sink_exclude | any | いいえ | 大文字と小文字を区別しない正規表現。sink ラベル('where')に一致するイベントを除外します。 |
| sink_include | any | いいえ | 大文字と小文字を区別しない正規表現。sink ラベル('where')に一致するイベントのみを保持します。 |
詳細
EyalSec MCP サーバー
EyalSec アカウントについて、普段の言葉で AI アシスタントに質問できます。「月曜日以降に届いた重大なイベントは?」「イベント 90210 のトレース全体を表示して」「更新が必要なマシンはどれ?」このサーバーは、EyalSec API を通じて、Claude、Cursor、その他すべての MCP クライアントにイベント、マシン、実行、ルールへの読み取りアクセスを提供します。そのため、コードレビューにすでに使っているアシスタントで、EyalSec が検出した問題のトリアージも行えます。
EyalSec は、最高の Python セキュリティ製品です。実行中のプログラム内で、信頼できないデータ(リクエスト、ファイル、環境変数など)の流れを追跡し、SQL クエリ、シェルコマンド、デシリアライズ、ファイルパスなどの危険な操作にデータが到達すると報告します。各イベントには、操作、コードの行、受け取った値、信頼できない部分の発生元が記録されます。このサーバーはそれらのイベントを読み取りますが、アカウント上の内容を変更することはありません。
必要なもの
- EyalSec アカウントと API キー。ダッシュボードの Settings > API access からキーを作成してください。このサーバーに必要なのは 読み取り専用キー のみで、こちらをおすすめします。詳しくはAPI キーをご覧ください。
- Python 3.10 以降、または別途インストールせずにサーバーを実行できる
uv。
まだアカウントをお持ちでない場合は、ライブデモを予約してください。セットアップをお手伝いします。料金については eyalsec.com/pricingをご覧ください。
セットアップ
このサーバーは stdio 経由で MCP と通信します。クライアントは uvx eyalsec-mcp(または pipx install eyalsec-mcp の実行後に eyalsec-mcp)でサーバーを起動し、環境変数でキーを渡します。
Claude Code
claude mcp add eyalsec -e EYALSEC_API_KEY=es2_your_read_only_key -- uvx eyalsec-mcp
Claude Desktop
claude_desktop_config.json に次の内容を追加し(Settings > Developer > Edit Config)、Claude Desktop を再起動してください。
{
"mcpServers": {
"eyalsec": {
"command": "uvx",
"args": ["eyalsec-mcp"],
"env": {
"EYALSEC_API_KEY": "es2_your_read_only_key"
}
}
}
}
Cursor
同じブロックを ~/.cursor/mcp.json(すべてのプロジェクトに適用)または .cursor/mcp.json(1 つのプロジェクトに適用)に追加してください。
{
"mcpServers": {
"eyalsec": {
"command": "uvx",
"args": ["eyalsec-mcp"],
"env": {
"EYALSEC_API_KEY": "es2_your_read_only_key"
}
}
}
}
Docker
docker build -t eyalsec-mcp https://github.com/EyalSec/eyalsec-mcp.git
docker run --rm -i -e EYALSEC_API_KEY=es2_your_read_only_key eyalsec-mcp
2 行目を、任意のクライアント設定でコマンドとして使用してください。
その他すべての MCP クライアント
EYALSEC_API_KEY を設定した状態で、stdio サーバーとして uvx eyalsec-mcp を実行してください。クライアントにキーを設定する前に確認するには、次を実行します。
EYALSEC_API_KEY=es2_your_read_only_key uvx eyalsec-mcp --check
API を 1 回呼び出し、接続先のアカウント、キーのスコープ、マシンの数を出力します。
設定
| 変数 | 必須 | 説明 |
|---|---|---|
EYALSEC_API_KEY | はい | Settings > API access で取得した API キーです。読み取り専用で十分です。 |
EYALSEC_URL | いいえ | EyalSec の URL です。デフォルトは https://eyalsec.com です。アカウントが別のドメインにある場合のみ設定してください。https:// である必要があります。 |
できること
すべてのツールは読み取り専用です。サーバーには何かを追加、変更、削除するコードパスがないため、フルアクセスキーを使っても書き込みはできません。
| ツール | 取得できる情報 |
|---|---|
search_events | イベントを新しい順または重大度の高い順で取得します。イベントページのフィルター(製品、重大度、日付、マシン、汚染元、影響クラス、ラベル、シンクパターン、実行、および高度な条件ビルダー)を利用できます。API のページングも自動で処理します。 |
get_event | 1 件のイベントの全情報(スタックトレース、データの入力元、値の生成元、マシンが送信した場合は周辺のソースコード、メモ、およびイベントを生成した実行)を取得します。 |
event_stats | ダッシュボードの概要(合計数、直近 1 時間・1 日・1 週間の件数、イベント種別の上位項目、および 14 日間のタイムライン)を取得します。 |
event_counts | 各製品のイベント一覧に含まれる件数、有効なイベントと抑制されたイベントの内訳、および月間上限に対する件数を取得します。 |
list_event_names | イベント全体にわたる、重複のないシンクラベルを取得します。フィルターの作成に便利です。 |
event_map | es-python のイベントを、ソース、データの読み込み元ファイル、および到達した処理を示すグラフとして取得します。 |
list_runs | イベントの原因となったプログラムの実行とコマンドラインを取得します(シークレットはマスキングされます)。 |
ci_findings | 指定したマシンである時点以降に報告された実行結果を、重大度別の件数と新しい検出結果の有無とともに取得します。 |
list_machines | すべてのマシンについて、ステータス、OS ターゲット、製品、インストール済みビルドと最新ビルド、および更新待ちの有無を取得します。 |
supported_targets | es-python をインストールできる Linux ディストリビューション、アーキテクチャ、Python バージョンを取得します。 |
list_rules、list_filters、get_taint_settings、get_event_uniqueness、list_rule_templates | アカウントと各マシンの設定を取得します。 |
list_labels、list_saved_searches | トリアージラベルと保存済み検索を取得します。 |
get_account、list_activity | プロフィールと利用上限、キーの権限範囲と有効期限(キー自体は含みません)、セットアップの進捗、アクティビティログを取得します。 |
試してみること:
- 「今週の重大および高重大度のイベントをマシン別に要約してください。」
- 「最新の SQL インジェクションイベントを開き、リクエストからクエリまでの経路を説明してください。」
- 「昨日、どの
app.pyの実行でコマンドインジェクションイベントが発生しましたか?」 - 「更新待ちのマシンや、保留中のままインストールが止まっているマシンはありますか?」
安全に関する注意
- イベントには信頼できないテキストが含まれます。 シンクに到達した値、スタックトレース、コマンドラインは、監視対象プログラムとその入力に由来します。攻撃者が書いたテキストが含まれる場合があります。サーバーは、アシスタントにこれらを指示ではなくデータとして扱うよう伝えます。アシスタントがこれらを使って提案する操作は、必ず人間が確認してください。
- 読み取り専用キーを使用してください。 このサーバーが読み取る情報はすべて読み取れますが、それ以上の操作はできません。キーには有効期限を設定することもできます。
- キーはお客様の手元に保持されます。 キーは環境変数から読み込まれ、HTTPS 経由で EyalSec のお客様のアドレスにのみ送信されます。いずれのツールからも返されることはありません。
localhost以外への平文 HTTP 接続は拒否されます。 - API のレート制限が適用されます。
search_eventsは 1 回の呼び出しで最大 10 ページを読み取り、残りのページ用にカーソルを返します。
開発
git clone https://github.com/EyalSec/eyalsec-mcp && cd eyalsec-mcp
python -m venv .venv && . .venv/bin/activate
pip install -e '.[test]'
pytest
テストは偽の API を使って実行します。自分のアカウントに対して読み取り専用のパスも実行するには、EYALSEC_LIVE=1 と EYALSEC_API_KEY を設定してください。
サポート
ご質問やバグ報告は、issuesへお寄せください。または [email protected] までご連絡ください。セキュリティに関する報告は、公開 issue ではなく [email protected] までお送りください。
ライセンス
MIT。LICENSEをご覧ください。このライセンスはこの MCP サーバーに適用されます。EyalSec アカウントにはEyalSec の利用規約が適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。