mcpField
S
security-case-management

security-case-management

github.com/elasticセキュリティ6024.2k 回インストール今日更新
リポジトリ

security-case-management について

security-case-managementは、SOCチームがElastic Securityのケースを検索・作成・更新し、調査記録を追加するスキルです。対象はsecuritySolutionに限定され、アラートの関連付けやコネクター経由の外部インシデント管理システムへの連携に対応します。

主な機能

  1. 01ケースの作成・検索・一覧表示
  2. 02ステータス・重大度・タグの更新
  3. 03調査コメントの追加
  4. 04ケースへのアラート関連付け
  5. 05アラートの一括追加

活用シーン

  1. 01アラートのトリアージ後にケースを作成
  2. 02ホストや攻撃に関連するケースを検索
  3. 03調査結果をケースに追加
  4. 041件以上のアラートをケースに添付

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/elastic/agent-skills --skill security-case-management

インストール後、Claude Code で/security-case-managementを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
kibana-cases-api.md
scripts/
case-manager.js
kibana-client.js

詳細

ケース管理

Kibana Cases API を使用して SOC ケースを管理します。すべてのケースのスコープは securitySolution です。このスキルは Elastic Security 内でのみ動作します。ケースは Kibana Security に表示され、アナリストへの割り当て、アラートとのリンク、コネクターを介した外部インシデント管理システムへの送信が可能です。

前提条件

初回使用前に、skills/security ディレクトリから依存関係をインストールします。

cd skills/security && npm install

必要な環境変数を設定します(またはワークスペースのルートにある .env ファイルに追加します)。

export KIBANA_URL="https://your-cluster.kb.cloud.example.com:443"
export KIBANA_API_KEY="your-kibana-api-key"

使用する場合

  • アラートのトリアージ後にケースを作成する場合(分類、IOC、調査結果)
  • 関連するアラートを相関させるために既存のケースを検索する場合
  • 調査コメントを追加する場合、または既存のケースにアラートを添付する場合
  • ケースのステータスまたは重大度を更新する場合
  • 確認用に最近のケースを一覧表示する場合

使用しない場合

  • Observability または Elasticsearch のケースにはこのスキルを使用しないでください。owner: securitySolution がハードコードされています
  • Security ソリューションの領域外にあるケースには使用しないでください

実行ルール

  • すぐにツールの実行を開始してください。最初に SKILL.md を読んだり、ワークスペースを調べたり、ファイルを一覧表示したりしないでください。
  • ツールの出力を忠実に報告してください。API が返したケース ID、タイトル、タグ、重大度、件数を正確に転記してください。ケース ID を省略したり、タイトルを切り詰めたり、詳細を捏造したり、数値を丸めたりしないでください。
  • API が結果を 0 件返した場合は、その旨を明示してください。結果を推測しないでください。
  • ケースを一覧表示または検索する場合は、API レスポンスの正確な合計件数を報告し、各ケースのタイトル、重大度、ステータスを一字一句そのまま提示してください。

クイックスタート

すべてのコマンドはワークスペースのルートから実行します。出力はすべて JSON です。ツールを直接呼び出してください。最初にスキルファイルを読んだり、ワークスペースを調べたりしないでください。attach-alert/attach-alerts では、Kibana API により --rule-id と --rule-name が必須です。不明な場合は --rule-id unknown --rule-name unknown を使用してください。一括処理では attach-alerts を使用します。自動のレート制限リトライが行われ、API 呼び出しの間隔は 2 秒です。

よくある複数ステップのワークフロー

タスク呼び出すツール(順序どおり)
ケースを作成するcase_manager create(title、description、tags、severity)
ホストのケースを検索するcase_manager find --tags "agent_id:<id>" または find --search "<hostname>"
ケースにアラートを添付するcase_manager attach-alert(case-id、alert-id、alert-index、rule-id/name)
調査メモを追加するcase_manager add-comment(case-id、comment text)
最近のオープンケースを一覧表示するcase_manager list --status open --per-page <n>
ケースを更新するcase_manager update(case-id、status/severity/tags の変更)

ホストのケースを検索する場合: find --search "<hostname>" を使用すると、タイトル、説明、コメントからホスト名を検索できます。あるいは、エージェント ID がわかっている場合は find --tags "agent_id:<agent_id>" を使用します。アクティブなケースのみに絞り込むには、必ず --status open を追加してください。正確な total 件数と、API レスポンスにある各ケースのタイトルを一字一句そのまま報告してください。

# Create (syncAlerts enabled by default; disable with --sync-alerts false)
node skills/security/case-management/scripts/case-manager.js create --title "Malicious DLL sideloading on host1" --description "Crypto clipper malware detected via DLL sideloading..." --tags "classification:malicious" "confidence:88" "mitre:T1574.002" --severity critical --yes

# Find, list, get
node skills/security/case-management/scripts/case-manager.js find --tags "agent_id:550888e5-357d-4bc1-a154-486eb7b4e076"
node skills/security/case-management/scripts/case-manager.js find --search "DLL sideloading" --status open
node skills/security/case-management/scripts/case-manager.js list --status open --per-page 10
node skills/security/case-management/scripts/case-manager.js get --case-id <case_id>

# Attach single alert
node skills/security/case-management/scripts/case-manager.js attach-alert --case-id <case_id> --alert-id <alert_doc_id> --alert-index .ds-.alerts-security.alerts-default-2025.12.01-000013 --rule-id <rule_uuid> --rule-name "Malware Detection Alert"

# Attach multiple alerts (batch)
node skills/security/case-management/scripts/case-manager.js attach-alerts --case-id <case_id> --alert-ids <id1> <id2> <id3> --alert-index .ds-.alerts-security.alerts-default-2026.02.16-000016 --rule-id <rule_uuid> --rule-name "Malware Detection Alert"

# Add comment, update (--tags merges with existing tags, does not replace)
node skills/security/case-management/scripts/case-manager.js add-comment --case-id <case_id> --comment "Process tree analysis shows..."
node skills/security/case-management/scripts/case-manager.js update --case-id <case_id> --status closed --severity low --yes

書き込み操作(create、update)では、デフォルトで確認を求めるプロンプトが表示されます。プロンプトを省略するには --yes を渡してください(エージェントから呼び出す場合は必須です)。

一覧および検索結果の報告

list または find の結果を報告する場合:

  1. JSON レスポンスの total 件数を正確に伝えます(例:「オープン中のケースは合計12件です」)。
  2. 各ケースを、簡潔な1行のエントリーとして提示します:<title> | <severity> | <case_id_short> | <created_at>。title フィールドの正確なタイトルをそのまま転記してください。言い換えたり、省略したり、要約したりしないでください。
  3. ユーザーが N 件を求めた場合は、ちょうど N 件(存在する件数がそれより少ない場合はその件数)のエントリーを提示します。ユーザーから特に求められない限り、追加の列(アラート数、説明、ステータス)は含めないでください。
  4. API が返した情報以外は追加しないでください。フィールドが null または欠落している場合は省略してください。
  5. 結果を提示したら、そこで終了してください。ケースに関する分析、コメント、所見は追加しないでください。

タグの規則

機械検索可能なメタデータには、構造化タグを使用します:

タグパターン例用途
classification:<value>classification:maliciousトリアージ分類(benign/unknown/malicious)
confidence:<score>confidence:85信頼度スコア 0-100
mitre:<technique>mitre:T1574.002MITRE ATT&CK のテクニック ID
agent_id:<id>agent_id:550888e5-...相関分析用の Elastic エージェント ID
rule:<name>rule:Malicious Behavior Detection検出ルール名

ケースの重大度マッピング

分類Kibana の重大度
benign(スコア 0-19)low
unknown(スコア 20-60)medium
malicious(スコア 61-80)high
malicious(スコア 81-100)critical

既知の制限事項

syncAlerts はセキュリティ専用です

syncAlerts 設定(デフォルトで有効)は、ケースのステータスを関連付けられたアラートのステータスと同期します。この機能は Security Solution のケースでのみ利用できます。アラート同期が不要な場合は、ケースの作成時に --sync-alerts false を指定してください。

レート制限

Kibana API にはレート制限があります。複数のアラートを添付する際、attach-alerts バッチコマンドは 429 レスポンスへの再試行を自動的に処理します。attach-alert を1件ずつ使用する場合は、各呼び出しの間隔を約10秒空けてください。

Serverless での find --search

find --search パラメーターは、Kibana Serverless のデプロイ環境で 500 エラーを返す場合があります。代わりに find --tags で絞り込むか、list で最近のケースを参照してください。

find --tags では完全一致が必要です

タグ検索では完全一致のみが対象です。find --tags "agent_id:abc123" は機能しますが、部分一致には対応していません。

Kibana Cases API リファレンス

API エンドポイント、リクエスト/レスポンス形式、例の詳細については、 references/kibana-cases-api.md を参照してください。

例

  • 「重大度 high でトリアージしたフィッシングアラートのケースを作成して」
  • 「ブルートフォース攻撃に関連するオープン中のケースを検索して」
  • 「調査結果をケース ID abc-123 のコメントとして追加して」

ガイドライン

  • ツールの出力のみを報告してください。ツールのレスポンスにない ID、ホスト名、IP アドレス、詳細を捏造しないでください。
  • リクエストに含まれる識別子を保持してください。ツール呼び出しとレスポンスでは、ユーザーが指定した値を正確に使用してください。
  • ツールの戻り値を使って、操作結果を簡潔に確認してください。
  • 事実と推論を区別してください。ツールの出力を超える結論には、評価であることを明記してください。
  • ケース一覧や検索結果を提示する際は、各ケースの正確なタイトルをそのまま転記してください。タイトルを言い換えたり、省略したり、要約したりしないでください。API の total フィールドの件数を含めてください。
  • 直ちにツールの実行を開始してください。操作を始める前に SKILL.md を読んだり、ディレクトリを参照したり、ファイルを一覧表示したりしないでください。

本番環境での使用

  • 書き込み操作(create、update)では確認を求めます。エージェントから呼び出す際に確認を省略するには、--yes または -y を渡してください。
  • コマンドを実行する前に、KIBANA_URL と KIBANA_API_KEY が意図したクラスターを参照していることを確認してください。
  • ケースは securitySolution に限定されます。このスキルは、Observability やその他の Kibana ケースオーナーには影響しません。

環境変数

変数必須説明
KIBANA_URLはいKibana のベース URL(例:https://my-kibana.kb.cloud.example.com)
KIBANA_API_KEYはい認証用の Kibana API キー

コメント