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 构建。




## 仪表板

实时检测概览,包含规则统计、MITRE ATT&CK 覆盖热力图、严重性分布和近期扫描历史。
## 功能特性
### 规则构建器

- **引导模式** —— 基于表单的字符串/条件构建器,自动生成有效的 YARA 语法
- **原始编辑器** —— 具有实时验证功能的完整 YARA 语法编辑器
- **MITRE ATT&CK 映射** —— 使用技术 ID 标记规则以跟踪覆盖范围
- **元数据管理** —— 严重性级别、类别、标签和作者归属
### 规则管理器

- 按类别和严重性搜索、过滤和组织规则
- 切换规则的激活/停用状态以进行选择性扫描
- 规则更改的版本历史跟踪
- 带确认的内联编辑和删除
### 文件扫描器

- 拖放文件上传进行扫描
- 同时针对所有活动的 YARA 规则进行扫描
- 详细的匹配结果,包含字符串偏移量和十六进制数据
- 带有性能指标的扫描历史
### 导入 / 导出

- 导入 `.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/
由 [Rootless-Ghost](https://github.com/Rootless-Ghost) 构建
标签:Cloudflare, Flask, MITRE ATT&CK, Mutation, Python, Web 应用, YARA, YARA 编辑器, 云资产可视化, 仪表盘, 可视化, 威胁情报, 开发者工具, 开源自研, 数据可视化, 文件扫描器, 无后门, 网络安全, 规则测试, 规则生成器, 规则管理, 逆向工具, 隐私保护