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规则管理, 云资产清单, 关键词匹配, 动态分类, 去重, 哈希校验, 威胁情报, 安全运维, 开发者工具, 开源框架, 持续集成, 文件同步, 目录组织, 碰撞处理, 自动化规则收集, 自动笔记, 规则分类, 规则库维护, 路径发现, 逆向工具, 逆向工程