Elastic Security、Observability、SearchがAIツールにインタラクティブなUIを提供

Elasticは、AnthropicとOpenAIが共同で策定したMCPアプリ標準に基づき構築されたAI会話用インタラクティブUIを提供した最初のセキュリティベンダーです。本アプリは、ObservabilityおよびSearch用の他の2つのElastic MCPアプリと同時にリリースされます。

AIエージェントの性能は、それらが返すサーフェスの質に依存します。テキストのみのツールの結果は、ダッシュボード、アラートリスト、調査グラフ、分散トレースなど、本来視覚的またはインタラクティブであるべき要素をすべてフラット化します。会話は、あなたが質問し、エージェントが答える場となりますが、作業が複雑になると、別のタブ、別の製品、別の認証境界へと移動することになります。

MCPアプリはその回答の形式を変えます。ツールはテキストによる要約に加えてインタラクティブなUIを返すことができるようになり、ホスト(Claude Desktop、Claude.ai、VS Code Copilot、Cursor)はそれを会話の中にインラインで表示します。モデルは推論のために簡潔なテキストを保持します。ユーザーはチャットのすぐ隣にライブでクリック可能なインターフェースを利用できます。

以下の3つの特性により、これは「URLを返すWebhook」とは異なる種類の統合となります。

  • コンテキストの保持。UIは会話の中に存在し、タブの切り替えも、引き継ぎも不要です。
  • 双方向のデータフロー。UIはMCPサーバー上のツールを呼び出して最新のデータを取得でき、ホストはエージェントからの新しい結果をUIにプッシュできます。個別のAPIレイヤーや認証システムは不要です。
  • サンドボックス化された信頼境界。MCPアプリは、ホスト制御のiframeで実行されます。親ページにアクセスしたり、Cookieを読み取ったり、コンテナから脱出したりすることはできません。

セキュリティ運用は、トリアージ、調査グラフ、攻撃検出に基づいて行われ、AIエージェントが数百件のアラートを少数の攻撃チェーンに関連付けます。オブザーバビリティとは、分散型トレースと時系列データの詳細な分析を意味します。Kibanaで構築するということは、ダッシュボードグリッドを作成することを意味します。それらをすべてテキストに変換してしまうと、その有用性が失われてしまいます。当社はこれら3つすべてに対応するMCPアプリを開発し、まとめてオープンソース化しました。これにより、チャット画面から離れることなく、同じ会話をトリアージキューから依存関係グラフ、そしてライブダッシュボードへとスムーズに移行させることができます。

これら3つのリファレンスアプリはそれぞれ、複数の独立した製品の集合体ではなく、多数のインタラクティブなビューを提供する1つのMCPサーバーです。セキュリティアプリだけでも、同じサーバーシェル、同じツール可視化モデル、同じホストブリッジを共有する6つのダッシュボードが表示されます。パターンは小さいものの、表面積が大きいほど価値が積み重なります。

Elastic Security MCPアプリ

SOCにとってこれが重要な理由

エージェントがSOCアナリストに「ホスト-314に47件のアラートがあります、概要は以下の通りです」と伝えただけでは、何の作業も行われておらず、単に作業開始地点を示しているだけです。実際の作業は、アラートリスト、プロセスツリー、調査グラフ、ケースファイルにあり、テキストの一段落だけでは実行できません。

セキュリティMCPアプリはワークフロー自体を返します。アナリストはエージェントに指示を出し、エージェントはチャット内にインタラクティブなダッシュボードを返します。このダッシュボードでアナリストはアラートの詳細を調べ、脅威ハンティングを実行し、攻撃チェーンを相関付け、ケースを開くことができます。これらすべて会話の流れを失うことなく行えます。また、調査結果、クエリ、ケースはすべてElasticsearchに反映されるため、アナリストは会話が終了した後、同じ調査をKibanaで再開することができます。

6つのインタラクティブダッシュボード

Elastic Security MCPアプリは、主要なSOCワークフローごとに1つずつ、計6つのインタラクティブ要素を提供します。それぞれがReact UIであり、エージェントが対応するツールを呼び出すとインラインでレンダリングされます。

ツール機能インタラクティブなUI
アラートのトリアージセキュリティアラートの取得、フィルタリング、分類深刻度のグループ化、AI判定カード、プロセスツリー、ネットワークイベント
攻撃の発見オンデマンド生成を用いたAI相関攻撃連鎖分析信頼度スコア、エンティティリスク、MITREマッピングを含むナラティブカードを表示します
ケースマネジメント捜査ケースの作成、検索、管理アラート、観測値、コメントタブ、AIアクションを含むケースリスト
検出ルール検出ルールの閲覧、調整、管理KQL検索、クエリ検証、ノイズルール分析を備えたルールブラウザ
脅威ハンティングエンティティ調査付きES|QLワークベンチクエリエディター、クリック可能なエンティティ、調査グラフ
サンプルデータ一般的な攻撃シナリオに対応するECSセキュリティイベントを生成しますあらかじめ構築された4つの攻撃チェーンを備えたシナリオ選択ツール

各ツールは、アナリストが操作するインタラクティブなUIとともに、モデルが推論できるコンパクトなテキストの概要を返します。UIは、MCPホストブリッジを介してバックグラウンドで新しいデータを取得することもできます。完全なツールモデルとブリッジAPIはリポジトリのアーキテクチャドキュメントにあります。

また、アプリには Claude Desktopのスキルも付属しており、エージェントに各ツールの使い方をいつ、どのように使うかを教える SKILL.md ファイルが含まれています。最新リリースから、事前に構築されたスキルzipファイルをダウンロードしてください。

アラートからケースへ

4つのスキルがコアSOCループをカバーしています。それぞれがプロンプトを取得し、ツールを呼び出し、モデルが推論するテキストサマリーと共にインタラクティブなダッシュボードを返します。アナリストの一日は通常、アラートキューから始まります。

アラートのトリアージ。エージェントにホスト、ルール、ユーザー、またはタイムウィンドウごとにトリアージを依頼してください。アラートのトリアージスキルは、生のアラートリストの上にAIによる判定のダッシュボードを返します。各検出ルールごとに1つの判定が付き、そのルールの活動を「正常」「不審」「悪意あり」のいずれかとして分類し、それぞれに信頼度スコアと推奨アクションが付いています。任意のアラートをクリックすると、プロセスツリー、ネットワークイベント、関連アラート、MITRE ATT&CKタグを含む詳細ビューが開きます。AIの会話とKibana内のアラートダッシュボードのコンテキストを切り替える必要はありません。会話の中ですべてがリアルタイムで行われます。

脅威のハンティング。エージェントにインデックス全体を検索するよう依頼してください。脅威のハンティングスキルは、クエリがあらかじめ入力されて自動実行されるES|QLワークベンチを返します。結果内のすべてのエンティティをクリックして詳細を確認できます。このモデルは、表の下に、何が異常なのか、何が関連しているのか、何が詳しく調べる価値があるのかといった短い説明文を出力します。そして、次の選択肢として、脅威の特定をさらに深めるか、これまでの作業を補完する新しいスキルをMCPアプリ内で習得するかのどちらかが提示されます。これをうまく組み合わせるには、攻撃発見を開始して、詳細に調査したアラートやこれまで追跡してきた脅威に関するより多くのコンテキストを収集するのが効果的です。これをうまく結びつけるには、Attack Discoveryを起動して、詳細に調査したアラートやこれまで追跡してきた脅威に関するより多くのコンテキストを収集することが有効です。

Attack Discoveryの実行。Attack Discoveryスキルは、Attack Discovery APIをトリガーし、ランク付けされた発見のリストを返します。各発見は、MITREの戦術、リスクスコア、信頼度ラベル、影響を受けるホストとユーザーを前面に押し出し、関連するアラートを1つの攻撃チェーンにまとめたものです。エージェントの要約は、調査結果と同じ順位で下に配置され、会話には、次のステップに進むために必要なすべての情報(調査クエリ、トリアージの決定、相関関係のある連鎖など)が揃います。

チャットを終了せずにケースを開く。調査結果を一括承認するか、担当者に特定の警告に関するケースを開くよう依頼してください。ケースマネジメントスキルは、承認された結果(ソースアラートが添付され、攻撃チェーンから継承されたMITRE戦術)ごとに1つのケースを作成し、ライブケースリストをインラインでレンダリングします。ケースをクリックすると詳細ビューが表示され、そこには「ケースの概要」「次のステップの提案」「IOCの抽出」「タイムラインの生成」といったAIアクションボタンが並んでいます。それぞれが構造化されたプロンプトをチャットに送り返すため、エージェントは再説明を必要とせずにケースのコンテキストを把握できます。エージェントの要約はケースリストの下に表示され、最近開始されたケースや、まだ調査が必要な以前の調査結果を含む、すべてのIRキューを網羅しています。

このウォークスルーの各ステップでは、同じループが実行されます。プロンプトが入力され、スキルがそれを拾い上げ、ツールがモデルが推論するためのコンパクトなテキストサマリーを返します。同時に、アナリストが操作する対話型UIも返されます。これらのスキルを組み合わせることで、エンドツーエンドのSOCフローが構築されます。つまり、問題の発見、トリアージ、相関分析、ケースの開設、そして次の方向転換の推進まで、すべてのステップでセッションのコンテキストがモデルに保持されます。どれか一つを単独で起動しても、指定したデータ領域を指す完全なダッシュボードが表示されます。いずれにしても、作業は会話の中で蓄積されていきます。タブの切り替え、コピー&ペースト、引き継ぎは不要です。

さらに、このアプリには2つの機能が追加されています。1つは、ノイズの多いルールを調整するための検出ルールブラウザ、もう1つは、新しいクラスターに対して現実的なECSイベントを生成するためのサンプルデータジェネレータです。次回の記事では、調査グラフ、攻撃フローキャンバス、エンドツーエンドのウォークスルーという6つの要素すべてについて詳しく解説します。

「Elastic Security向けのMCPアプリは自動検出と手動ハンティングの間のギャップを埋める役割を果たします。Claude Desktop内の単一のインターフェースにセキュリティデータを直接統合することで、通常の警告は発せられないものの、即座の対応が必要な「潜在的な」脅威を1時間以内に発見することができました。アナリストにとって大きな戦力増強となります。」Mandy Andress:Elasticの最高情報セキュリティ責任者(CISO)

プログラム概要

各MCPアプリは、モデルの簡潔なテキストサマリーとホストがインラインでレンダリングするReact UIの両方を返す小さなNode.jsサーバーです。オープンなMCPアプリ仕様に基づいて構築されているため、同じサーバーが互換性のあるホスト上で実行されます。詳細はリポジトリのアーキテクチャドキュメントをご覧ください。

試してみる

セキュリティが有効になっているElasticsearch 9.x、ケース、ルール、攻撃検出用のKibanaが必要です。.mcpbバンドルの最速のパスは、最新リリース からのワンクリックです。Claude Desktopでダブルクリックすると、ElasticsearchのURLとAPIキーを入力するプロンプトが表示されます。CursorVS CodeClaude CodeClaude.ai、およびソースからのビルドのセットアップガイドはリポジトリにあります。

Elastic Search MCPアプリ:会話から構築されたダッシュボード

すべてのKibanaユーザーは、作業中のものを離れ、Kibanaを開き、インデックスを選択し、フィールドを選択し、可視化を選択し、調整し、保存するというダッシュボードへの長いパスに慣れています。ここで、画面にチャートが表示されるまでに5回のコンテキスト切り替えが行われました。

新しいexample-mcp-dashbuilderリファレンスアプリは、それをプロンプトにまとめます。エージェントに「収益メトリクス、注文トレンド、カテゴリー内訳を含むダッシュボードを作成してください」と依頼すると、タブを切り替える必要なく会話内にダッシュボードが返ってきます。

そのプロンプトの背後で、エージェントはES|QLを使用してElasticsearchデータを探索し、データに合わせてチャートタイプを選択します。比較には棒グラフ、トレンドには折れ線グラフ、KPIにはメトリックカード、2次元パターンにはヒートマップを使用します。Elastic UI Borealisテーマを使用して、Kibanaの48列のグリッド上にパネルを配置します。完全にインタラクティブな結果が得られ、チャット内でパネルをドラッグ、サイズ変更、折りたたみ可能なセクションへのグループ化ができます。ダッシュボードが正しく表示されれば、1回のツール呼び出しでES|QLクエリとカスタムカラーを保持したまま、Kibanaにエクスポートされます。既存のKibanaダッシュボードをチャットにインポートして、AIによる編集を行うこともできます。

その原則は、Securityアプリの背後にあるものと同じです。アーティファクトが製品である場合、会話の中でそれを返すことで、欲しいものを説明することと、それを見ることの間のループが閉じられます。

内部構造では、同じMCPアプリパターンに従っています。Node.jsサーバーは、view_dashboardモデル対応ツールと、UIが直接呼び出すアプリ専用ツールのセット(データ取得、レイアウトの永続化、時間フィールドの検出、エクスポート/インポート)を登録します。ダッシュボードビュー自体は、vite-plugin-singlefile にバンドルされた単一の自己完結型HTMLファイルで、MCPアプリのリソースとして機能します。リポジトリをフォークするビルダーは、Securityアプリで見られるのと同じサーバーシェルとホストブリッジを、異なるジョブを指すように取得します。example-mcp-dashbuilder READMEには、完全なアーキテクチャーとチャートタイプのリファレンスがあります。

Elastic Observability MCPアプリ

3つ目のリファレンスアプリであるElastic Observability MCPアプリは、SREにおける同様の問題に取り組んでいます。本番環境で何らかの障害が発生した場合、オンコールエンジニアが必要とするのはグラフではなく、Kubernetesのメトリクス、APMトポロジー、機械学習の異常、リスク評価などを統合した診断結果です。回答の形は、何が失敗したのか、なぜ失敗したのか、何がそれに依存しているのか、そして次に何をすべきか、といった因果関係を説明する物語です。

オブザーバビリティ調査のワークフローをサポートする6つのツール

ツール依存関係機能
observeユニバーサルトランジェントES|QL + ML-anomalyアクセスプリミティブ — クエリを一度実行し、メトリックをライブサンプリングするか、しきい値や異常が発生するまでブロックします。
アラート管理ユニバーサルKibanaのカスタムしきい値アラートルールを作成、一覧表示、取得、削除します。読み取り専用で実行するには、KibanaのURLを省略してください。
ml-anomaliesMLジョブ機械学習の異常レコードをクエリし、インラインの異常説明ビューを開きます。
apm-health-summaryElastic APMAPMテレメトリからのクラスターレベルの健全性ロールアップ。利用可能な場合は、K8sおよびMLコンテキストのレイヤーも表示します。
apm-service-dependenciesElastic APMサービス依存関係グラフ — アップストリーム/ダウンストリーム、プロトコル、呼び出し量。
k8s-blast-radiusKubernetesメトリックNode-outage impact — 完全停止、劣化、影響なし、再スケジュールの実現可能性。

クラスターの状態のロールアップ

「壊れているのはどこ?」または「ステータスレポートをください」と尋ねると、全体的な健全性バッジ、理由付きの劣化サービス、上位ポッドのメモリ消費量、異常の深刻度の内訳、サービスのスループットなど、すべてを1つのインラインビューで一度に把握できます。これは、何かがおかしいと感じるものの、どこを調べればいいのか分からないときの出発点です。ビューは、導入がサポートする内容に応じて適応します。APMはサービスの健全性を提供します。Kubernetesメトリクスは、ポッドとノードのコンテキストを追加します。異常のMLジョブレイヤー。

サービス依存関係グラフ

「checkoutを呼び出しているのは何ですか?」または「トポロジーを表示」と尋ねて、レイヤー化された依存関係グラフ(上流の呼び出し元、下流の依存関係、プロトコル、エッジごとの呼び出し回数および遅延)を取得します。Claudeに「フロントエンドのサービス依存関係を見せて」と頼んでみます。

ズーム、パン、ホバー操作で、複雑なサービス間の関係性を理解するために必要な詳細情報をすべて確認できます。

爆発半径でリスクを評価

「k8sノードがダウンしたらどうなる?」と尋ねると、放射状の影響図が表示されます。中央にターゲットノードがあり、完全停止状態のデプロイメントは赤色、機能低下状態は琥珀色、影響を受けない状態は灰色で示されます。画面上に浮かぶサマリーカードには、リスクのあるポッドとスケジュール変更の実現可能性が表示されます。単一レプリカ構成は、単一障害点として認識されます。

監視

Elasticのエージェントの主要なアクセスプリミティブ — 1つのツール、3つの異なるニーズに対応する3つのモード。「CPUは現在何をしている?」と尋ねると、ES|QLクエリを一度実行してテーブルを返します。「今後60秒間のフロントエンドのレイテンシを表示して」と言うと、リアルタイムで指標をサンプリングし、グラフをその場で更新します。「メモリが80MBを下回ったら教えてください」または「今後10分間、異常がないか監視してください」と指定すると、条件が満たされるか、指定された期間が終了するまで処理が停止します。表示はモードに応じて変化します。ワンショットクエリの場合は結果テーブル、サンプリング条件としきい値条件の場合は現在値、ピーク値、ベースライン値を示すリアルタイムトレンドチャート、異常検知モードの場合は深刻度スコア付きのトリガーカードが表示されます。

プログラム概要

SecurityとSearchアプリと同じMCPアプリパターン:Node.jsサーバー、6つのモデル対応ツールが6つの単一ファイルビューリソースに接続されています。ツールは導入バックエンド(ユニバーサル、APM依存、K8s依存、ML依存)によってグループ化されているため、エージェントとユーザーの両方が、呼び出し時に機能ギャップを検出するのではなく、特定の導入に適用されるツールを事前に知ることができます。MCPアプリには、k8s-crashloop-investigation-otel というAgent Builderのワークフローの例も含まれています。これはKubernetesのアラートでトリガーされ、1つのダッシュボードを開く前に構造化された根本原因のサマリーを返すことができます。

エージェンティック・スタック、インタラクティブ

このパターンに関して直接述べておく価値のある特性は3つあります。第一に、ツールの結果はもはや作業の終わりではなく、始まりです。会話は、行動を起こすための要約ではなく、行動を起こすことができるインターフェースを返します。第二に、同じエージェント、同じモデルコンテキスト、そして同じ会話スレッドが、会話を離れることなく、Security、Search、Observabilityのサーフェス間を移動できるようになりました。第三に、これはElasticsearchとKibanaがすでにAPIを公開しているからこそ機能します。MCPアプリは、当社が既に提供している製品機能の上に構築された、薄くインタラクティブなレイヤーです。

Attack Discoveryは、このアプリ内の相関する検出結果ビューをすでに提供しています。スタック内部では、同じエージェントパターンがさらに展開されます。Elastic Workflowsは決定論的なステップ(エンティティの強化、ケースの作成、ホストの分離)を自動化し、Agent Builderはデータに基づいて推論を行い、それらのワークフローをツールとして呼び出します。MCPアプリは、外部とのやり取りにおいても同様のセキュリティ機能を提供し、WorkflowsとAgent Builderは、スタック内部でそのセキュリティ機能をさらに強化します。エントリーポイントが異なっても、基盤となるElastic APIは同じです。

実際にお試しください

まだElasticsearchクラスターをお持ちではありませんか?Elastic Cloudの無料トライアルを開始しましょう。セキュリティアプリの基盤となるビルディングブロックの詳細については、Elastic WorkflowsとAgent BuilderAgent SkillsAttack Discoveryに関するSecurity Labsの関連記事をご覧ください。

このコンテンツはどれほど役に立ちましたか?

役に立たない

やや役に立つ

非常に役に立つ

関連記事

最先端の検索体験を構築する準備はできましたか?

十分に高度な検索は 1 人の努力だけでは実現できません。Elasticsearch は、データ サイエンティスト、ML オペレーター、エンジニアなど、あなたと同じように検索に情熱を傾ける多くの人々によって支えられています。ぜひつながり、協力して、希望する結果が得られる魔法の検索エクスペリエンスを構築しましょう。

はじめましょう