Rootless-Ghost/YaraForge

GitHub: Rootless-Ghost/YaraForge

一个基于 Flask 的 YARA 规则构建、管理与测试平台,提供可视化仪表板和 MITRE ATT&CK 映射功能。

Stars: 1 | Forks: 0

# 🔬 YaraForge **YARA 规则生成器与测试平台** 一个基于 Flask 的平台,用于构建、管理、测试和可视化 YARA 规则 —— 包含 MITRE ATT&CK 映射和检测仪表板。使用 Python/Flask 构建。 ![Python](https://img.shields.io/badge/Python-3.9+-blue?logo=python) ![Flask](https://img.shields.io/badge/Flask-3.0-green?logo=flask) ![YARA](https://img.shields.io/badge/YARA-4.5-orange) ![License](https://img.shields.io/badge/License-MIT-yellow)
## 仪表板 ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e4a4536a57192430.png) 实时检测概览,包含规则统计、MITRE ATT&CK 覆盖热力图、严重性分布和近期扫描历史。 ## 功能特性 ### 规则构建器 ![Rule Builder](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/76f8832388192431.png) - **引导模式** —— 基于表单的字符串/条件构建器,自动生成有效的 YARA 语法 - **原始编辑器** —— 具有实时验证功能的完整 YARA 语法编辑器 - **MITRE ATT&CK 映射** —— 使用技术 ID 标记规则以跟踪覆盖范围 - **元数据管理** —— 严重性级别、类别、标签和作者归属 ### 规则管理器 ![Rule Manager](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/18da1174f2192432.png) - 按类别和严重性搜索、过滤和组织规则 - 切换规则的激活/停用状态以进行选择性扫描 - 规则更改的版本历史跟踪 - 带确认的内联编辑和删除 ### 文件扫描器 ![Scanner](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c6bb0a31fd192433.png) - 拖放文件上传进行扫描 - 同时针对所有活动的 YARA 规则进行扫描 - 详细的匹配结果,包含字符串偏移量和十六进制数据 - 带有性能指标的扫描历史 ### 导入 / 导出 ![Import Export](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/a1980b0dc8192434.png) - 导入 `.yar` 文件,自动解析和验证规则 - 将选定的或所有规则导出到单个 `.yar` 文件 - 导入期间检测重复项 ## 技术栈 | 组件 | 技术 | |-----------|-----------| | 后端 | Python 3.9+, Flask 3.0 | | YARA 引擎 | yara-python 4.5 | | 数据库 | SQLite (WAL mode) | | 前端 | HTML5, CSS3, Vanilla JS | | 图表 | Canvas 2D API | ## 安装说明 ### 前置条件 - 推荐使用 Python 3.9 – 3.12(3.13+ 可能与 yara-python 存在兼容性问题) - pip 包管理器 ### 设置 ``` # 克隆仓库 git clone https://github.com/Rootless-Ghost/YaraForge.git cd YaraForge # 创建虚拟环境 python -m venv venv # 激活 — Windows venv\Scripts\activate # 激活 — Linux/Mac source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 运行应用程序 python app.py ``` 在浏览器中打开 `http://127.0.0.1:5000` ## 快速入门 1. **导入示例规则** —— 进入 Import/Export 并上传 `sample_rules/starter_rules.yar` 2. **创建规则** —— 使用规则构建器创建自定义检测规则 3. **扫描文件** —— 在扫描器中上传任意文件以针对您的规则进行测试 4. **查看仪表板** —— 在仪表板上检查您的检测覆盖范围 ## 项目结构 ``` YaraForge/ ├── app.py # Flask application & API routes ├── database.py # SQLite database operations ├── yara_engine.py # YARA compilation, validation & scanning ├── requirements.txt # Python dependencies ├── static/ │ ├── css/style.css # Dark cyber theme stylesheet │ └── js/app.js # Frontend application logic ├── templates/ │ ├── base.html # Base layout with navigation │ ├── dashboard.html # Statistics & MITRE coverage │ ├── builder.html # Rule creation interface │ ├── manager.html # Rule management table │ ├── tester.html # File scanner interface │ └── import_export.html # Import/export interface ├── sample_rules/ │ └── starter_rules.yar # 6 pre-built detection rules ├── screenshots/ # Application screenshots ├── rules/ # Stored rule files └── uploads/ # Temporary scan uploads ``` ## API 端点 | 方法 | 端点 | 描述 | |--------|----------|-------------| | `POST` | `/api/rules` | 创建新规则 | | `PUT` | `/api/rules/` | 更新现有规则 | | `DELETE` | `/api/rules/` | 删除规则 | | `POST` | `/api/rules//toggle` | 切换规则激活状态 | | `GET` | `/api/rules//versions` | 获取规则版本历史 | | `POST` | `/api/validate` | 验证 YARA 规则语法 | | `POST` | `/api/generate` | 根据参数生成规则 | | `POST` | `/api/scan` | 根据活动规则扫描文件 | | `POST` | `/api/import` | 从 .yar 文件导入规则 | | `POST` | `/api/export` | 将规则导出到 .yar 文件 | | `GET` | `/api/stats` | 获取仪表板统计信息 | ## 包含的示例规则 | 规则 | 类别 | 严重性 | MITRE | |------|----------|----------|-------| | `detect_mimikatz` | Infostealer | Critical | T1003 | | `detect_powershell_encoded_command` | Exploit | High | T1059.001 | | `detect_ransomware_indicators` | Ransomware | Critical | T1486 | | `detect_webshell_generic` | Webshell | High | T1505.003 | | `detect_pe_file` | Custom | Info | — | | `detect_reverse_shell_strings` | Backdoor | High | T1059 | ## 安全注意事项 - 上传的文件在临时目录中进行扫描,扫描后**立即删除** - 文件上传限制为 50MB - 应用程序默认在 `127.0.0.1`(仅本地主机)上运行 - 不包含身份验证 —— 适用于本地/实验室使用 - **切勿在未添加身份验证的情况下将其暴露在公共互联网上** ## 展示技能 - **Python 后端开发** —— Flask API 设计、SQLite ORM 操作、文件处理 - **YARA 规则工程** —— 规则语法、编译、字符串匹配、条件逻辑 - **MITRE ATT&CK 框架** —— 技术映射、战术分类、覆盖分析 - **检测工程** —— 构建检测签名、针对样本进行测试 - **Web 应用程序安全** —— 输入验证、安全文件处理、CSRF 注意事项 - **前端开发** —— 响应式暗色主题 UI、Canvas 2D 图表、拖放 ## 未来增强功能 - [ ] 用户身份验证和基于角色的访问控制 - [ ] 从恶意软件样本自动生成 YARA 规则 - [ ] 集成 VirusTotal API 进行哈希查询 - [ ] 规则共享 / 社区仓库 - [ ] 使用 CI/CD 流水线进行自动化规则测试 - [ ] Docker 容器化以便于部署 ## 许可证 MIT 许可证 —— 详情请参阅 [LICENSE](LICENSE)。
由 [Rootless-Ghost](https://github.com/Rootless-Ghost) 构建
标签:Cloudflare, Flask, MITRE ATT&CK, Mutation, Python, Web 应用, YARA, YARA 编辑器, 云资产可视化, 仪表盘, 可视化, 威胁情报, 开发者工具, 开源自研, 数据可视化, 文件扫描器, 无后门, 网络安全, 规则测试, 规则生成器, 规则管理, 逆向工具, 隐私保护