关于 Agentic Detection Lookups
Agentic Detection Lookups 为 SIEM 丰富和检测 Agent 提供结构化安全查找数据。其 MCP 服务可查询二进制文件风险、进程关系、类别及 MITRE ATT&CK 映射。
主要功能
- 01LOLBAS 和 GTFOBins 二进制查找
- 02父子进程基线
- 03风险及 MITRE ATT&CK 映射
- 04搜索、类别和技术查询
- 05用于 SIEM 丰富的 CSV 数据
适用场景
- 01用二进制风险数据丰富 SIEM 事件
- 02检查进程关系是否可疑
- 03按滥用类别或 MITRE 技术查询二进制文件
MCP 相关
MCP 服务提供工具,可查找二进制文件、检查父子进程关系、搜索查找数据,以及按类别或 MITRE 技术列出条目。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Agentic Detection Lookups
用于 SIEM 丰富和 AI Agent 的机器可读检测查询表。原生支持 MCP。
别再用正则匹配 200 多个二进制文件。一次
match()调用即可完成丰富。
将其接入 SIEM、SOAR、Agent 或大模型。
这是什么?
一组专门构建的结构化 CSV 查询表文件,适用于:
- SIEM 丰富 — 一次
match()/lookup/join即可替代整类规则 - AI Agent 工具 — 内含 MCP 服务,Agent 可实时查询检测上下文
- 检测自动化 — 统一的架构、由 CI 更新、可直接部署
查询表文件
| 文件 | 条目数 | 操作系统 | 描述 |
|---|---|---|---|
lolbas_binaries.csv | 234 | Windows | Living Off The Land 二进制文件和脚本 — 按风险评分、分类并映射到 MITRE |
gtfobins.csv | 477 | Linux | GTFOBins Unix 二进制文件 — Shell 逃逸、权限提升、文件操作,并映射到 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 Agent)
{
"servers": {
"detection-lookups": {
"type": "stdio",
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "/path/to/agentic-detection-lookups"
}
}
}
然后,你的 Agent 可以:
→ 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 | 文件名 | 风险、类别、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+
- VS Code 和 GitHub Copilot(用于 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 映射,说明运行正常!
单独运行(命令行)
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 管道
- 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
贡献
欢迎提交 PR。请参阅 CONTRIBUTING.md 了解指南。
添加新的查找文件:
- 遵循架构约定(首先匹配键,并包含风险和 MITRE 列)
- 为每个 SIEM 平台至少提供一个查询示例
- 向 MCP 服务添加一个工具
许可证
Apache 2.0 — 请参阅 LICENSE 和 NOTICE。
由 Gene Kazimiarovich 构建 | 属于 Detection Forge
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。