mrun1corn/yara-rule-automation

GitHub: mrun1corn/yara-rule-automation

YARA 规则自动化工具,从多个 GitHub 仓库批量克隆、分类、去重并索引 YARA 规则文件,支持本地运行和 GitHub Actions 工作流。

Stars: 0 | Forks: 0

# YARA 规则自动化 本项目会克隆 `repos.txt` 中列出的 GitHub 仓库,扫描 YARA 文件,根据 `categories.json` 中的类别对匹配的规则进行分组,检测完全 重复的项,并生成一个 JSON 索引。 ## 本地使用 无需提供额外参数即可运行完整的自动化流程: ``` python yara_rule_automation.py ``` 该脚本将会: - 从 `repos.txt` 克隆新的仓库到 `repos/` - 拉取已有仓库的更新 - 同步 `yara-rules/categories/` 下的分类规则文件 - 生成 `yara_rule_index.json` - 通过 SHA-256 检测重复的 YARA 文件 - 如果安装了 `yara` CLI,则会自动验证 YARA 语法 `repos/` 下克隆的源仓库会被 Git 忽略。`yara-rules/` 下生成的 规则和 `yara_rule_index.json` 可以被提交;JSON 索引会被格式化输出,并使用 Git LFS 进行跟踪,因为它的大小可能会超出 GitHub 的一般文件大小限制。 ## GitHub Actions 在 GitHub Actions 标签页中使用 **Update YARA Rules** 工作流。 该工作流通过 `workflow_dispatch` 按需运行,生成分类 规则,写入运行摘要,将生成的 `yara-rules/` 目录以及 `yara_rule_index.json` 作为名为 `yara-rules-output` 的可下载构件上传,并 将发生变动的生成文件提交回仓库。 在本地计算机推送之前,请安装一次 Git LFS: ``` git lfs install ``` 默认情况下,生成的规则文件会进行原位同步。该脚本使用 之前的 `yara_rule_index.json` 来快速跳过未更改的类别副本, 覆盖已更改的文件,复制新文件,并删除过期的文件。仅当您希望 删除并从头重建类别输出时,才使用 `--clean-output`。 当源仓库的 Git HEAD 未发生变化时,该脚本会复用该 仓库之前的索引条目,而不是再次扫描每个 YARA 文件。这 使得在首次生成索引后,重复运行工作流的速度会快得多。 ## 输入 - `repos.txt`:每行一个 GitHub 仓库 URL(忽略空行和 `#` 注释) - `categories.json`:一个 JSON 字典,其中的键是类别名称,值是用于匹配的别名术语列表
标签:AMSI绕过, DNS 反向解析, Python, YARA, 云安全监控, 云资产可视化, 威胁检测, 无后门, 网络安全审计, 自动化运维, 逆向工具, 静态分析