Agentic Detection Lookups について
Agentic Detection Lookupsは、SIEMのエンリッチメントや検知エージェント向けの構造化セキュリティデータを提供します。MCPサーバーからバイナリのリスク、プロセス関係、カテゴリ、MITRE ATT&CKマッピングを検索できます。
主な機能
- 01LOLBASとGTFOBinsのバイナリ検索
- 02親子プロセスのベースライン
- 03リスクとMITRE ATT&CKのマッピング
- 04検索、カテゴリ、技術の照会
- 05SIEMエンリッチメント用CSVデータ
活用シーン
- 01バイナリのリスク情報でSIEMイベントを補強
- 02プロセス関係が不審かどうかを確認
- 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.csv | 234 | Windows | Living Off The Land バイナリとスクリプト — リスクスコア付き、カテゴリー分類済み、MITRE マッピング済み |
gtfobins.csv | 477 | Linux | GTFOBins Unix バイナリ — シェルエスケープ、権限昇格、ファイル操作、MITRE マッピング済み |
parent_child_baselines.csv | 98 | 両方 | Windows と Linux の想定される/不審なプロセスの親→子関係 |
スキーマの契約
すべてのルックアップファイルは、次の要件に従います。
- 先頭列 = 照合キー(結合に使用するフィールド)
riskまたはrisk_if_unexpected列を必ず含む- MITRE ATT&CK の手法マッピングを必ず含む
- ネストされたデータは含まない — フラットな列を使用し、複数の値はパイプ区切り
- 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_binary | filename | リスク、カテゴリー、MITRE ID、ソース(lolbas/gtfobins) |
detection_check_parent_child | parent, child, os_filter | 想定される/不審、リスクレベル、トリアージのガイダンス |
detection_list_by_category | category, limit, offset | 該当する悪用カテゴリーのページ分けされたバイナリ(クロスプラットフォーム) |
detection_list_by_mitre | technique_id, limit, offset | 該当する手法にマッピングされたページ分けされたバイナリ(クロスプラットフォーム) |
detection_search | query, 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 をご覧ください。
新しいルックアップファイルを追加するには:
- スキーマの契約に従います(照合キーを最初にし、リスク列と MITRE 列を含めます)
- SIEM プラットフォームごとに、少なくとも 1 つのクエリ例を含めます
- MCP サーバーにツールを追加します
ライセンス
Apache 2.0 — LICENSE と NOTICE をご覧ください。
Gene Kazimiarovich が作成 | Detection Forge の一部
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。