mrun1corn/yara-rules
GitHub: mrun1corn/yara-rules
一个全自动的 YARA 规则管理系统,解决规则来源分散、重复与归类混乱问题。
Stars: 0 | Forks: 0
# YARA 规则管理系统
一个全自动系统,用于收集、去重和组织来自多个高质量开源情报(OSINT)存储库的 YARA 规则。
## 🚀 工作原理
该系统使用基于 Python 的自动化引擎(`sync_yara_rules.py`)来保持您的规则集合最新且有序。
### 1. 同步
脚本从 `repos.txt` 读取目标存储库 URL,克隆或拉取它们到临时 `source_repos/` 目录,并扫描其中的 `.yar` 和 `.yara` 文件。
### 2. 智能去重
为防止您的集合被冗余规则杂乱无章:
* **哈希校验**:每个文件均使用 **MD5 算法** 处理。
* **数据库追踪**:系统维护 `seen_hashes.json`。如果某条规则的内容在集合中已存在,无论其文件名是否不同或来自哪个存储库,都将被跳过。
* **冲突安全**:如果两条**不同**规则共享相同的文件名,系统会在文件名后追加一个唯一的 8 字符哈希值以确保两者都被保留。
### 3. 动态分类
系统将规则组织到 `Organized_YARA/` 文件夹内的 `类别/子类别/文件` 结构中,采用三层逻辑:
* **路径发现**:尝试直接从源存储库的文件夹结构中提取类别。
* **关键词匹配**:如果路径模糊,则扫描预定义关键词(例如 `ransomware`、`trojans`、`rootkit`)。
* **自动建文件夹**:如果在源存储库中发现新类别且不在我们的列表中,系统将**自动创建新文件夹**。
* **默认归类**:无法识别的规则将被放入 `malware/General`。
## 🛠 维护任务
### 添加新来源
要添加新的 YARA 存储库:
1. 打开 `repos.txt`。
2. 在新行中粘贴 GitHub URL。
3. 运行更新(本地或通过 GitHub Actions)。
### 运行更新
* **本地手动**:运行 `python sync_yara_rules.py`。
* **在 GitHub 上**:进入 **Actions** 标签页,选择 **Update YARA Rules**,然后点击 **Run workflow**。
## 📂 项目结构
* `Organized_YARA/`:最终唯一规则的整洁集合。
* `yara_structure_mapping.json`:生成的索引,映射每个类别及其对应文件。
* `repos.txt`:源存储库列表。
* `seen_hashes.json`:系统用于去重的“记忆”。
* `sync_yara_rules.py`:核心自动化逻辑。
标签:DNS信息、DNS暴力破解, ESC4, GitHub Actions, MD5, OSINT, PB级数据处理, Python自动化, YARA规则, YARA规则管理, 云资产清单, 关键词匹配, 动态分类, 去重, 哈希校验, 威胁情报, 安全运维, 开发者工具, 开源框架, 持续集成, 文件同步, 目录组织, 碰撞处理, 自动化规则收集, 自动笔记, 规则分类, 规则库维护, 路径发现, 逆向工具, 逆向工程