Heretek-RE/re-yara
GitHub: Heretek-RE/re-yara
封装 YARA 引擎的 MCP 服务器,提供规则编译与二进制文件扫描能力,支持分析师自定义规则进行二进制行为分诊。
Stars: 0 | Forks: 0
# 重新-yara
封装 **YARA** 模式匹配引擎以进行二进制分诊的 MCP 服务器。
`re-yara` 有意设计为**规则无关**:服务器会编译分析师指定的任意规则目录,然后使用编译后的规则扫描文件或目录。该插件不捆绑任何规则——YARA 规则描述的是二进制行为的类别(例如 *加密虚拟机字节码解释器调度程序*、*MBA 混淆算术例程*、*传统基于磁盘的保护握手*),编写这些规则是分析师的决定,而不是插件的决定。
## 工具
| 工具 | 作用 |
|---|---|
| `check_yara` | 健康检查 — 返回 YARA 版本以及 `yara-python` 是否可导入 |
| `compile_rules` | 将目录下的所有 `*.yar` / `*.yara` 文件编译为 YARA 规则集 |
| `scan_binary` | 对单个文件运行编译后的规则集 |
| `scan_directory` | 遍历目录并对每个文件运行编译后的规则集 |
## 安装
它是 RE-AI 插件的一部分;`./install.sh` 会安装该软件包。如需独立安装:
```
pip install -e ./servers/re-yara
```
在运行时需要 `yara` C 库 (libyara) —— `yara-python` 会链接到它。大多数包管理器都将 `yara` 作为系统包提供;在 Debian/Ubuntu 上:
```
sudo apt-get install yara libyara-dev
```
## 运行
```
re-yara # stdio transport (default for MCP)
python -m re_yara # equivalent
```
## 工作流
1. 编写或下载一个包含 `*.yar` 文件的目录。每个规则都描述了分析师希望查找的行为类别。
2. 调用 `compile_rules(rules_dir=)` 进行验证和编译。
3. 对单个文件调用 `scan_binary(path=, rules_dir=)`,或对整个目录树调用 `scan_directory(path=, rules_dir=)`。
`compile_rules` 是繁重的步骤(需要解析每个规则文件)。扫描工具会根据需要进行重新编译——如果规则没有改变,这步开销很小。
## 为什么不捆绑规则
YARA 规则是分析师的产物:它们描述了**您要寻找的内容**,这是一个只有用户才能回答的问题。插件提供了引擎;而用户带来了策略。该服务器还兼容 [signature-base] 和 [MalwareBazaar] 规则集合——只需将 `rules_dir` 指向它们中的任意一个即可。
标签:DAST, MCP Server, YARA, 二进制分析, 云安全运维, 云资产可视化, 恶意软件分析, 逆向分析, 逆向工具