platinum2high/yara-studio

GitHub: platinum2high/yara-studio

一款 100% 本地离线的跨平台 YARA 规则编写、测试与管理桌面工作室,内嵌 YARA-X 引擎,让分析师无需上传样本即可完成规则开发与回归验证。

Stars: 0 | Forks: 0

YARA Studio icon # YARA Studio **用于编写、测试和管理 YARA 规则的离线桌面工作室。** 编写一条规则,将样本拖放到上面,准确查看匹配了哪些字节—— 无需将任何内容上传到任何地方。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/platinum2high/yara-studio/actions/workflows/ci.yml) ![Platforms](https://img.shields.io/badge/Windows%20%7C%20macOS%20%7C%20Linux-2b3648?logo=linux&logoColor=white) ![Engine](https://img.shields.io/badge/engine-YARA--X%201.19-e8b339) [![License: AGPL v3](https://img.shields.io/badge/license-AGPL--3.0-3fb950)](LICENSE) [**⬇️ 下载**](#-download--install) · [功能](#-features) · [工作原理](#-how-it-works) · [从源码构建](#-build-from-source) · [许可证](#-license)

YARA Studio — editor, live validation and scan results

## 为什么需要 分析师每天都在编写 YARA 规则,但这个过程很笨拙:在一个工具里编辑规则, 在终端运行 `yara`,肉眼查看输出,猜测是哪个 string 触发了匹配, 如此反复。在线沙箱简化了这个过程——但你必须**上传样本**, 这对于任何敏感数据来说都是不可接受的。 YARA Studio 将整个流程整合到一个 **100% 离线**的桌面应用中。没有 API,没有 遥测,没有云。你的规则和样本永远不会离开你的电脑。 ## ⬇️ 下载与安装 **1. 从 [发布页面](https://github.com/platinum2high/yara-studio/releases/latest) 为你的系统下载相应文件**: | 你的系统 | 下载此文件 | |-------------|--------------------| | 🍎 **macOS** (Apple Silicon *或* Intel) | `YARA.Studio_x.x.x_universal.dmg` | | 🪟 **Windows 10 / 11** | `YARA.Studio_x.x.x_x64-setup.exe` 或 `.msi` | | 🐧 **Linux** (大多数发行版) | `YARA.Studio_x.x.x_amd64.AppImage` | | 🐧 **Debian / Ubuntu** | `YARA.Studio_x.x.x_amd64.deb` | | 🐧 **Fedora / RHEL** | `YARA.Studio-x.x.x-1.x86_64.rpm` | **2. 安装:**
🍎 macOS 1. 双击 `.dmg`,然后将 **YARA Studio** 拖入你的 **应用程序** 文件夹。 2. 首次打开时,macOS 可能会提示*“无法打开,因为无法验证开发者”*。这只是因为该应用尚未进行代码签名——它是安全的。 3. **右键点击**应用图标 → **打开** → **打开**。你只需执行一次此操作;之后即可正常打开。
🪟 Windows 1. 运行 `.exe`(或 `.msi`)安装程序并按照提示操作。 2. Windows SmartScreen 可能会显示*“Windows 已保护你的电脑”*——同样,这仅仅是因为它尚未签名。 3. 点击 **更多信息** → **仍要运行**。
🐧 Linux **AppImage**(几乎适用于所有环境): ``` chmod +x yara-studio_*_amd64.AppImage ./yara-studio_*_amd64.AppImage ``` **Debian / Ubuntu** (`.deb`): ``` sudo apt install ./yara-studio_*_amd64.deb ```
**3. 打开并开始使用。** 编辑器启动时会自带一条示例规则——将任何文件 拖放到右侧面板即可进行扫描。就这么简单。 ## ✨ 功能 - **规则编辑器** — 完整的 YARA 语法高亮、自动补全和实时 验证。输入时会为编译错误添加下划线,并提供直接来自编译器的准确行号 和错误信息。 - **拖放扫描** — 将文件*或整个目录*拖放到应用中。 递归遍历目录树,具有实时进度计数器和取消按钮。 - **精确的匹配显示** — 显示每个匹配的 string 及其偏移量、上下文中匹配的 字节(十六进制 + ASCII),以及在触发 `xor` 修饰符时的 XOR 密钥。 - **上下文十六进制视图** — 点击任何匹配项即可打开 周围文件区域的十六进制转储,并高亮显示匹配的字节。 - **规则库** — 将规则保存到可打标签的集合中,按名称 / 规则 / 标签 / 描述进行过滤。以普通的 `.yar` 文件形式存储,你可以将其保存在 git 中。 - **多规则扫描** — 勾选规则库中的规则,将其与编辑器中的规则一起编译到扫描 集合中;每次匹配都会显示该规则来自哪个文件。 - **回归测试** — 将*必须匹配*和*不得匹配*的样本附加到 规则上;一键重新运行整个规则库,并标记出任何发生偏离的规则。 - **规则向导** — 指向一个样本;它会根据 IOC 价值提取并对 string 进行排名,并根据你的选择起草一个起始规则。 - **报告** — 将任何扫描导出为 JSON、CSV(每次 string 匹配占一行, 方便导入 SIEM)或纯文本。提供每个文件的 SHA-256,点击即可复制。 - **深色主题**,可调整大小的面板,键盘优先(`⌘/Ctrl+S` 保存)。 ### 在文件上下文中检查匹配的字节

Hex view of a match with the matched bytes highlighted

### 从样本引导生成规则

Rule wizard extracting and categorizing strings from a sample

## 🔬 工作原理 YARA Studio 内嵌了 [YARA-X](https://virustotal.github.io/yara-x/)——由 VirusTotal 开发的 官方 YARA Rust 实现——并静态编译到了 二进制文件中。所有标准模块都随附在内:`pe`、`elf`、`macho`、`dotnet`、 `math`、`hash`、`string`、`time`、`lnk`、`dex`、`zip` 等。 规则兼容性是该项目最大的风险所在,因此通过测试进行了固定: [`src-tauri/tests/compat.rs`](src-tauri/tests/compat.rs) 对该应用所依赖的语言 表面进行了测试——string 修饰符、带有跳转和 备选项的十六进制模式、正则表达式、匹配计数器/偏移量以及模块函数。 | 层级 | 技术 | |-------|------------| | 扫描引擎 | [yara-x](https://crates.io/crates/yara-x) (Rust,静态链接) | | 桌面外壳 | [Tauri 2](https://tauri.app/) | | UI | Svelte 5 + TypeScript | | 编辑器 | CodeMirror 6(带有手写的 YARA 语言模式) | ## 🛠 从源码构建 *仅在你想要对其进行修改时才需要——普通用户只需 [下载](#-download--install) 安装程序即可。* 前置条件:[Rust](https://rustup.rs/) 和 [Node.js](https://nodejs.org/) 22+。 ``` npm install npm run tauri dev # run the app in dev mode npm run tauri build # build a release bundle for the current OS ``` 测试: ``` cd src-tauri && cargo test # engine: compiler, scanner, library, export, tests, wizard, compat npm test # frontend: YARA tokenizer + rule generator ``` 跨平台 CI(fmt + clippy + tests + build)会在 **Ubuntu、macOS 和 Windows** 上针对每次推送运行。打上 `v*` 标签后会为这三种操作系统构建安装程序。 ## 📜 许可证 YARA Studio 采用**双重许可**: - **开源:** [GNU AGPL-3.0](LICENSE) — 免费使用、运行、学习、修改 和分享。如果你分发它或通过网络提供服务,你必须根据相同的许可证公开你的 源代码。对于日常使用——运行它、 在工作中使用它、为自己修改它——这没有任何影响。 - **商业:** 想要将 YARA Studio 嵌入到**闭源产品**中,或者 在没有 AGPL 传染性许可的情况下将其打包到专有设备/SaaS 中?可以获取商业 许可证——请参阅 [COMMERCIAL.md](COMMERCIAL.md)。 版权所有 © 2026 Artem Shymko。
标签:DAST, DNS 反向解析, Tauri, YARA, 云资产可视化, 恶意软件分析, 桌面应用, 通知系统