mcpField
A
Agentic Detection Lookups

Agentic Detection Lookups

ローカル
github.com/detection-forgeセキュリティ02 週間前に更新

Agentic Detection Lookups について

Agentic Detection Lookupsは、SIEMのエンリッチメントや検知エージェント向けの構造化セキュリティデータを提供します。MCPサーバーからバイナリのリスク、プロセス関係、カテゴリ、MITRE ATT&CKマッピングを検索できます。

主な機能

  1. 01LOLBASとGTFOBinsのバイナリ検索
  2. 02親子プロセスのベースライン
  3. 03リスクとMITRE ATT&CKのマッピング
  4. 04検索、カテゴリ、技術の照会
  5. 05SIEMエンリッチメント用CSVデータ

活用シーン

  1. 01バイナリのリスク情報でSIEMイベントを補強
  2. 02プロセス関係が不審かどうかを確認
  3. 03不正利用カテゴリやMITRE技術でバイナリを検索

MCP 対応

MCPサーバーは、バイナリ検索、親子プロセス関係の確認、データ検索、カテゴリまたはMITRE技術別の項目一覧取得ツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

エージェント型検知ルックアップ

SIEM のエンリッチメントと AI エージェント向けの、機械可読な検知ルックアップです。MCP ネイティブです。

200 以上のバイナリに正規表現を適用するのはやめましょう。1 回の match() 呼び出しでエンリッチメントできます。
SIEM、SOAR、エージェント、LLM に取り込めます。

これは何ですか?

以下を目的として構築された、構造化 CSV ルックアップファイルのコレクションです。

  • SIEM のエンリッチメント — 1 回の match()/lookup/join でルールカテゴリー全体を置き換えられます
  • AI エージェント向けツール — MCP サーバーが付属し、エージェントが検知コンテキストをリアルタイムで照会できます
  • 検知の自動化 — 一貫性のあるスキーマ、CI による更新、デプロイ可能な状態

ルックアップファイル

ファイルエントリー数OS説明
lolbas_binaries.csv234WindowsLiving Off The Land バイナリとスクリプト — リスクスコア付き、カテゴリー分類済み、MITRE マッピング済み
gtfobins.csv477LinuxGTFOBins Unix バイナリ — シェルエスケープ、権限昇格、ファイル操作、MITRE マッピング済み
parent_child_baselines.csv98両方Windows と Linux の想定される/不審なプロセスの親→子関係
スキーマの契約

すべてのルックアップファイルは、次の要件に従います。

  1. 先頭列 = 照合キー(結合に使用するフィールド)
  2. risk または risk_if_unexpected 列を必ず含む
  3. MITRE ATT&CK の手法マッピングを必ず含む
  4. ネストされたデータは含まない — フラットな列を使用し、複数の値はパイプ区切り
  5. UTF-8、BOM なし、Unix 改行、ヘッダー行を常に含む

クイックスタート

SIEM(コピーして貼り付け)

CrowdStrike NG-SIEM:

#event_simpleName=ProcessRollup2
| binary := lower(FileName)
| match(file="lolbas_binaries.csv", field=binary, column=filename, include=[categories, mitre_ids, risk])
| risk="high"

Splunk:

index=crowdstrike event_simpleName=ProcessRollup2
| rex field=FileName "(?<binary>[^\\\\]+)$"
| lookup lolbas_binaries.csv filename AS binary OUTPUT categories mitre_ids risk
| where risk="high"

Elastic(ES|QL):

FROM logs-endpoint.events.process-*
| WHERE event.action == "start"
| ENRICH lolbas-policy ON process.name = filename WITH categories, risk
| WHERE risk == "high"

Microsoft Sentinel:

DeviceProcessEvents
| extend binary = tolower(FileName)
| join kind=inner (_GetWatchlist('lolbas_binaries')) on $left.binary == $right.filename
| where risk == "high"

各プラットフォーム向けのクエリライブラリ全体については、queries/ を参照してください。

MCP サーバー(AI エージェント)
{
  "servers": {
    "detection-lookups": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "mcp_server"],
      "cwd": "/path/to/agentic-detection-lookups"
    }
  }
}

これで、エージェントから次の操作ができます。

→ detection_lookup_binary("certutil.exe")
← {source: "lolbas", risk: "medium", categories: ["Download"], mitre_ids: ["T1105"]}

→ detection_lookup_binary("python")
← {source: "gtfobins", risk: "high", categories: ["shell", "reverse-shell", ...], mitre_ids: ["T1059"]}

→ detection_check_parent_child("winword.exe", "cmd.exe")
← {expected: false, risk_if_unexpected: "critical", mitre_id: "T1204.002"}

MCP ツール

ツール入力出力
detection_lookup_binaryfilenameリスク、カテゴリー、MITRE ID、ソース(lolbas/gtfobins)
detection_check_parent_childparent, child, os_filter想定される/不審、リスクレベル、トリアージのガイダンス
detection_list_by_categorycategory, limit, offset該当する悪用カテゴリーのページ分けされたバイナリ(クロスプラットフォーム)
detection_list_by_mitretechnique_id, limit, offset該当する手法にマッピングされたページ分けされたバイナリ(クロスプラットフォーム)
detection_searchquery, limitすべてのルックアップデータを対象とした検索結果。total/has_more を含む
detection_list_lookups—行数と列を含むすべてのファイル

データソース

ルックアップソース更新頻度
LOLBAS バイナリLOLBAS Project週次(自動)

インストール

前提条件
  • Python 3.10+
  • GitHub Copilot を備えた VS Code(MCP 統合用)
インストール
git clone https://github.com/detection-forge/agentic-detection-lookups.git
cd agentic-detection-lookups
python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux/macOS:
source .venv/bin/activate
pip install -e .
MCP クライアントの設定(VS Code)

VS Code のユーザー設定(Ctrl+Shift+P →「Preferences: Open User Settings (JSON)」)または ~/.vscode/mcp.json に追加します。

{
  "servers": {
    "detection-lookups": {
      "type": "stdio",
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["-m", "mcp_server"],
      "cwd": "/absolute/path/to/agentic-detection-lookups"
    }
  }
}

Windows の例:

{
  "servers": {
    "detection-lookups": {
      "type": "stdio",
      "command": "C:\\Code\\.venv\\Scripts\\python.exe",
      "args": ["-m", "mcp_server"],
      "cwd": "C:\\Code\\agentic-detection-lookups"
    }
  }
}

VS Code を再読み込みします:Ctrl+Shift+P →「Reload Window」

確認

Copilot Chat(Agent モード)で:

Is certutil.exe a LOLBAS binary?

✅ リスク、カテゴリー、MITRE マッピングが返されれば、正常に動作しています!

スタンドアロンで実行(CLI)
detection-lookups

これにより、stdio トランスポートで MCP サーバーが起動します(JSON-RPC のパイプ処理や、ほかの MCP クライアントへの接続に便利です)。

SIEM へのアップロード
  • CrowdStrike NG-SIEM: API または UI からアップロードします(Settings → Lookup Files)
  • Splunk: Settings → Lookups → Lookup table files → Add new
  • Elastic: enrich インデックスと ingest pipeline を作成します
  • Sentinel: Configuration → Watchlist → Add new

プロジェクト構成

agentic-detection-lookups/
├── lookups/                    # The data (CSV files)
│   ├── lolbas_binaries.csv
│   ├── gtfobins.csv
│   └── parent_child_baselines.csv
├── queries/                    # Copy-paste detection queries
│   ├── crowdstrike_ngsiem.md
│   ├── splunk.md
│   ├── elastic.md
│   └── microsoft_sentinel.md
├── mcp_server/                 # MCP server for AI agents
│   ├── server.py
│   └── __init__.py
├── scripts/                    # Update/maintenance scripts
├── LICENSE                     # Apache 2.0
├── NOTICE
└── pyproject.toml

貢献

プルリクエストを歓迎します。ガイドラインについては、CONTRIBUTING.md をご覧ください。

新しいルックアップファイルを追加するには:

  1. スキーマの契約に従います(照合キーを最初にし、リスク列と MITRE 列を含めます)
  2. SIEM プラットフォームごとに、少なくとも 1 つのクエリ例を含めます
  3. MCP サーバーにツールを追加します

ライセンス

Apache 2.0 — LICENSE と NOTICE をご覧ください。


Gene Kazimiarovich が作成 | Detection Forge の一部

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。