サイト内の現在位置

Splunk × MCP × LLMによるセキュリティログ分析の効率化の検証

NECセキュリティブログ

2025年12月26日

本記事では、ログ分析基盤である Splunknew window[1]と、LLM(大規模言語モデル)向けのプロトコル Model Context Protocol(MCP)を連携させ、AI によるログ検索支援・初動分析の高速化が実現できるかを検証します。

目次

背景と目的

近年のサイバー攻撃は複雑化・高度化が進み、SOC や CSIRTに求められる対応スピードと分析精度はますます高まっています。
SOC や CSIRT では日々膨大なログを扱い、次のような問題が発生しがちです。

問題

  • Splunkの検索用クエリ(Search Processing Language、SPL)の作成に時間がかかる(属人性が高い)
  • イベント量が多く、手動での分析に限界がある
  • アラート全体の俯瞰やパターン抽出が難しく、初動対応が遅れやすい

これらの問題を整理すると、次のような課題が見えてきます。

課題

  • SPL作成プロセスが属人化しており、作成時間の最適化が必要
  • イベントデータ量の増加により、手動分析のスケーラビリティに課題あり
  • アラート管理におけるパターン可視化機能の不足による初動対応遅延の改善が必要

この課題を解決するため、本検証では以下の3点を目的としました。

検証目的

  1. Splunk + MCP の技術的連携が実運用レベルで可能か確認する
  2. AI による自然言語ベースのログ分析支援の有効性を確認する
  3. 初動調査の高速化と属人性の排除が実現できるか検証する

運用に組み込む際の補足
今回の検証では利便性のため MCP クライアントとして Claude for Desktopnew window[2]new window[3]を使用していますが、実際の企業環境では、オンプレミスや閉域網で動作する LLM を利用する構成が望ましいです。
MCP はベンダ非依存のプロトコルのため、Claude をそのまま社内 LLM に置き換えることができます。

検証準備

実験環境

使用データセット

Splunk BOSS of the SOC(BOTS)v3 new window[4]new window[5]のデータを使用しました。
演習用に作成された仮想組織の攻撃ログが含まれ、SOC トレーニングに最適です。

Splunk環境

  • Splunk Enterprise (Trial License)
  • Splunk App for MCP Server new window[6]
  • BOTS v3 のログを取り込み済み

LLM / MCP クライアント

  • Claude for Desktop(Windows)※検証用に利用
  • claude_desktop_config.json に MCP サーバを設定
  • 認証は Splunk 側で発行した Bearer Token を利用

Splunk MCP 連携手順

  • 1.
    Splunk MCP App のセットアップ
    Splunk base から MCP Server App をインストールします。
  • 2.
    ロールとユーザの作成
    ユーザに付与するロールを作成します。割り当てる権限として「mcp_tool_execute」を設定します。
図 1 ロールの作成

次にMCPサーバがアクセスするユーザを作成します。ロールとして、上記で作成したものを設定します。

図 2 ユーザ作成時のロールの設定
  • 3.
    ユーザのトークン作成
    MCPクライアントから接続する際に利用するユーザのトークンを作成します。オーディエンスの部分は「mcp」と設定します。
図 3 ユーザのトークンの作成

作成されたトークンはテキストファイルなどに一時的に保存しておきます。

  • 4.
    MCPクライアント(Claude Desktop)の設定
    Claude for Desktopでは裏側でNode.jsを利用するため、事前に導入しておきます。なお、Claude for DesktopからMCPへの接続が失敗する問題が発生する場合があるため、インストール先は「C:\nodejs」など半角スペースを含まないパスを指定します。

    次にClaude for Desktopを導入します。導入完了後、起動後にClaudeのアカウントでログインします。その後、以下のMCPの設定を追加します。
    Claude for Desktopの左上のハンバーガーアイコン⇒「ファイル」⇒「設定」と進み、「開発者」⇒「設定を編集」をクリックします。
    Claude for Desktopの設定ファイルが格納されているフォルダが開くので、「claude_desktop_config.json」をテキストエディタなどで開きます。
    設定内容として、以下のようなMCPサーバに接続するための情報を記載します。

{
  "mcpServers": {
    "splunk-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://<Splunk Server Address>:8089/services/mcp/",
        "--header",
        "Authorization: Bearer ${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "<Your Token>",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

設定ファイルに記載後はClaude for Desktopを再起動します。

再起動後、再度、設定の開発者画面を表示し、以下のように接続されている(runningになっている)ことを確認します。

図 4 MCPサーバへの接続状態の正常性を確認

検証

検証内容:AI によるログ分析支援の実力を試す

Splunk × MCP × LLM がどこまで役に立つか確認します。

プロンプトの内容として、PowerShellに関連した攻撃の兆候を探し、その結果に関連する追加の情報も検索、さらにレポートにまとめる指示を出しました。
結果は以下の通りです。

zoom拡大する
図 5 LLMからMCPを介したSplunkのログ検索とレポーティングの結果

上記の画像に示す通り、段階的な検索をその都度SPLを作成しつつ行い、追加情報も検索したうえで、最終的なレポートにわかりやすくまとめる作業を、1回のプロンプトの指示で行うことができました。

SPLによるログの検索はブラックボックスになっておらず、以下のようにすべての検索処理を確認することができます。これにより、初学者の方がSPLの習熟に利用でき、また検索内容が問題ないかの検証にも利用することができます。

図 6 作成され実行されたSPLと結果を確認

検証結果と考察

有効だったポイント

  • 自然言語だけで SPL を生成
    SPL生成の経験が浅いメンバでも分析がすぐ始められる。
  • 大量ログの要約が圧倒的に速い
    人が数十分かける内容も数秒で把握。
  • 初動調査の属人性を軽減
    AI が「次に確認すべき項目」を提示。

課題と限界

  • AI の判断が常に正しいわけではない
    要約の誤認識や検索条件の過不足が起こる場合がある。
  • SPL の最適化は専門家の監修が必要
    生成された SPL は必ずしも高速・最適とは限らない。
  • 実運用ではオンプレ LLM が必須
    閉域環境やプライベート環境に構築したLLMを利用するのが安全。

システム導入のポイント

今回の検証結果から、AIは特に「初動調査」「要約」「情報整理」といった領域で有効性が高いことが確認できました。一方で、最終判断や検索条件の精査は人間が担う必要があります。
そのため、導入にあたっては以下のポイントを押さえることが重要です。

  • AIは補助的役割として活用する
    最終判断は人間が行う前提で運用する。
  • 手順を標準化し、AIに再現させる
    これにより属人性を排除し、対応の均質化を図る。
  • MCPを採用し、LLMの差し替えを容易にする
    将来的なモデル更新や環境要件への対応が柔軟になる。

まとめ

本検証では、Splunk と MCP を組み合わせることで、ログ検索の効率化や初動調査の迅速化といった SOC/CSIRT 業務における分析負荷の軽減に寄与しうることを確認しました。特に、自然言語による SPL の生成や、大量イベントの要約といった機能は、既存の運用プロセスにおいて分析作業を支援する手段として有効であることが分かりました。

一方で、LLM による解析結果は、ログの収集条件や環境の前提を誤って解釈する可能性があるため、最終的な判断においてはアナリストによる確認やレビューが引き続き重要であることも明らかになりました。また、実運用を想定した場合、機密情報の取り扱いに十分配慮する必要があり、外部へのデータ送信を伴わない構成や、オンプレミス環境での利用を含めた検討が求められます。

さらに、本稿では Splunk と LLM の連携を中心に取り上げましたが、MCP を介することで、VirusTotal、DomainTools、Shodan などの外部調査サービスと連携する構成も考えられます。これにより、IoC の情報付加や調査作業の効率化など、分析支援の幅を広げる可能性があります。

本稿で示した内容は、既存の公開技術やサービスを用いた検証結果に基づくものであり、SOC/CSIRT 運用における技術活用の検討や、分析プロセス改善の参考事例として活用いただければ幸いです。

参考文献

執筆者プロフィール

梅木 翔太(うめき しょうた)
担当領域:リスクハンティング
専門分野:フォレンジック、ログ解析、SIEM

2年間のセキュリティ人材育成プログラムを経て、2018年よりインシデントレスポンス業務や、NEC Cyber Security Dashboardを含むNECグループ社内で利用する各種セキュリティシステムの構築と運用の業務に従事。Splunk Boss of the SOC、Tanium CTFにて複数回入賞。CEH MASTER、情報処理安全確保支援士(RISS)を保持。

執筆者の他の記事を読む

アクセスランキング